This is version 2 of the series I sent a while ago [1], adding PASID support to the Arm SMMUv3 driver. Changes since v1: * Dropped the patch adding auxiliary domain support. It's an easy way to test PASID, by populating PASID contexts using iommu_map/unmap(), but I don't know if it will ever have real users. Since v1 I changed my testing gear, and am using the zip accelerator [2] instead of a software model. It only uses SVA and testing auxiliary domains would require additional changes that would never go upstream. SVA requires another 20 patches (including I/O page faults) that I will send later, but at least I know that this will get used. * ioasid patch has been carried by Jacob and should be merged for v5.5 [3] * Split patch "Add support for Substream IDs" into patches 4 and 5. * Added IORT support (patch 3) and addressed other comments. [1] https://lore.kernel.org/linux-iommu/20190610184714.6786-1-jean-philippe.brucker@xxxxxxx/ [2] https://lore.kernel.org/linux-iommu/1572331216-9503-1-git-send-email-zhangfei.gao@xxxxxxxxxx/ [3] https://lore.kernel.org/linux-iommu/1570045363-24856-1-git-send-email-jacob.jun.pan@xxxxxxxxxxxxxxx/ Jean-Philippe Brucker (8): dt-bindings: document PASID property for IOMMU masters iommu/arm-smmu-v3: Support platform SSID ACPI/IORT: Support PASID for platform devices iommu/arm-smmu-v3: Prepare for SSID support iommu/arm-smmu-v3: Add support for Substream IDs iommu/arm-smmu-v3: Add second level of context descriptor table iommu/arm-smmu-v3: Improve add_device() error handling iommu/arm-smmu-v3: Add support for PCI PASID .../devicetree/bindings/iommu/iommu.txt | 6 + drivers/acpi/arm64/iort.c | 18 + drivers/iommu/arm-smmu-v3.c | 442 +++++++++++++++--- drivers/iommu/of_iommu.c | 6 +- include/linux/iommu.h | 2 + 5 files changed, 419 insertions(+), 55 deletions(-) -- 2.23.0