iommu/arm-smmu: add support for PCI master devices
This patch extends the ARM SMMU driver so that it can handle PCI master devices in addition to platform devices described in the device tree. The driver is informed about the PCI host controller in the DT via a phandle to the host controller in the mmu-masters property. The host controller is then added to the master tree for that SMMU, just like a normal master (although it probably doesn't advertise any StreamIDs). When a device is added to the PCI bus, we set the archdata.iommu pointer for that device to describe its StreamID (actually its RequesterID for the moment). This allows us to re-use our existing data structures using the host controller of_node for everything apart from StreamID configuration, where we reach into the archdata for the information we require. Change-Id: I0e494833c50a2b07b7a1e8b1ca58a606a9efd0ea Cc: Varun Sethi <varun.sethi@freescale.com> Signed-off-by:Will Deacon <will.deacon@arm.com> Git-commit: a9a1b0b53d8b7ca60abef0687eae927f286f07c2 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git Signed-off-by:
Mitchel Humpherys <mitchelh@codeaurora.org>
Loading
Please register or sign in to comment