mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
FROMGIT: of: property: Add device link support for "iommu-map"
Commit8e12257dea("of: property: Add device link support for iommus, mboxes and io-channels") added device link support for IOMMU linkages described using the "iommus" property. For PCI devices, this property is not present and instead the "iommu-map" property is used on the host bridge node to map the endpoint RequesterIDs to their corresponding IOMMU instance. Add support for "iommu-map" to the device link supplier bindings so that probing of PCI devices can be deferred until after the IOMMU is available. Cc: Rob Herring <robh@kernel.org> Cc: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Will Deacon <will@kernel.org> Acked-by: Saravana Kannan <saravanak@google.com> Link: https://lore.kernel.org/r/20191120190028.4722-1-will@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry-picked from commite149573b2fhttps://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git driver-core-next) Signed-off-by: Will Deacon <willdeacon@google.com> Change-Id: Ife0cf1ed0256af47ed0cae7156f3184de355c42c
This commit is contained in:
@@ -1190,10 +1190,20 @@ DEFINE_SIMPLE_PROP(mboxes, "mboxes", "#mbox-cells")
|
||||
DEFINE_SIMPLE_PROP(io_channels, "io-channel", "#io-channel-cells")
|
||||
DEFINE_SUFFIX_PROP(regulators, "-supply", NULL)
|
||||
|
||||
static struct device_node *parse_iommu_maps(struct device_node *np,
|
||||
const char *prop_name, int index)
|
||||
{
|
||||
if (strcmp(prop_name, "iommu-map"))
|
||||
return NULL;
|
||||
|
||||
return of_parse_phandle(np, prop_name, (index * 4) + 1);
|
||||
}
|
||||
|
||||
static const struct supplier_bindings of_supplier_bindings[] = {
|
||||
{ .parse_prop = parse_clocks, },
|
||||
{ .parse_prop = parse_interconnects, },
|
||||
{ .parse_prop = parse_iommus, },
|
||||
{ .parse_prop = parse_iommu_maps, },
|
||||
{ .parse_prop = parse_mboxes, },
|
||||
{ .parse_prop = parse_io_channels, },
|
||||
{ .parse_prop = parse_regulators, },
|
||||
|
||||
Reference in New Issue
Block a user