iommu/arm-smmu: Implement of_xlate() for SMMUv3
authorRobin Murphy <robin.murphy@arm.com>
Mon, 12 Sep 2016 16:13:45 +0000 (17:13 +0100)
committerWill Deacon <will.deacon@arm.com>
Fri, 16 Sep 2016 08:34:16 +0000 (09:34 +0100)
commit8f78515425daead9d69e061cc4d8da8299ed0e88
treec765ba038996ebf4c77b8aa7c680574cff3e7d92
parentdc87a98db751a98577fc6a89b4f26180fc020d24
iommu/arm-smmu: Implement of_xlate() for SMMUv3

Now that we can properly describe the mapping between PCI RIDs and
stream IDs via "iommu-map", and have it fed it to the driver
automatically via of_xlate(), rework the SMMUv3 driver to benefit from
that, and get rid of the current misuse of the "iommus" binding.

Since having of_xlate wired up means that masters will now be given the
appropriate DMA ops, we also need to make sure that default domains work
properly. This necessitates dispensing with the "whole group at a time"
notion for attaching to a domain, as devices which share a group get
attached to the group's default domain one by one as they are initially
probed.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
drivers/iommu/arm-smmu-v3.c