This series enables PCI ATS in SMMUv3. Changes since v1 [1]: * Simplify the SMMU structures (patches 2-4 are new).
* Don't enable ATS for devices that are attached to a bypass domain, because in that case a translation request would cause F_BAD_ATS_TREQ. Translation requests in that case cause F_BAD_ATS_TREQ. Enable ATS in attach_dev() rather than add_device(). * Enable ATS for stage-1 and stage-2 STEs alike. There is no benefit to disabling ATS for stage-2 domains. [1] https://www.spinics.net/lists/arm-kernel/msg714628.html Jean-Philippe Brucker (7): ACPI/IORT: Check ATS capability in root complex nodes iommu/arm-smmu-v3: Rename arm_smmu_master_data to arm_smmu_master iommu/arm-smmu-v3: Store SteamIDs in master iommu/arm-smmu-v3: Add a master->domain pointer iommu/arm-smmu-v3: Link domains and devices iommu/arm-smmu-v3: Add support for PCI ATS iommu/arm-smmu-v3: Disable tagged pointers drivers/acpi/arm64/iort.c | 11 ++ drivers/iommu/arm-smmu-v3.c | 340 ++++++++++++++++++++++++++++-------- include/linux/iommu.h | 4 + 3 files changed, 286 insertions(+), 69 deletions(-) -- 2.21.0 _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu