Hi all, there are a bunch of IOMMU APIs that are entirely unused, or only used as a private communication channel between the FSL PAMU driver and it's only consumer, the qbman portal driver. So this series drops a huge chunk of entirely unused FSL PAMU functionality, then drops all kinds of unused IOMMU APIs, and then replaces what is left of the iommu_attrs with properly typed, smaller and easier to use specific APIs. Changes since v2: - remove a comment fragment a little bit earlier - fix the aperture end passed to pamu_config_ppaace - fix a few trivial typos - remove more unused arguments to pamu_config_ppaace - do not accidentally enable lazy flushing for non-dma domains Changes since v1: - use a different way to control strict flushing behavior (from Robin) - remove the iommu_cmd_line wrappers - simplify the pagetbl quirks a little more - slightly improved patch ordering - better changelogs Diffstat: arch/powerpc/include/asm/fsl_pamu_stash.h | 12 drivers/gpu/drm/msm/adreno/adreno_gpu.c | 5 drivers/iommu/amd/iommu.c | 23 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 75 --- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 1 drivers/iommu/arm/arm-smmu/arm-smmu.c | 111 +--- drivers/iommu/arm/arm-smmu/arm-smmu.h | 2 drivers/iommu/dma-iommu.c | 9 drivers/iommu/fsl_pamu.c | 293 ----------- drivers/iommu/fsl_pamu.h | 12 drivers/iommu/fsl_pamu_domain.c | 688 ++-------------------------- drivers/iommu/fsl_pamu_domain.h | 46 - drivers/iommu/intel/iommu.c | 95 --- drivers/iommu/iommu.c | 118 +--- drivers/soc/fsl/qbman/qman_portal.c | 55 -- drivers/vfio/vfio_iommu_type1.c | 31 - drivers/vhost/vdpa.c | 10 include/linux/io-pgtable.h | 4 include/linux/iommu.h | 76 --- 19 files changed, 203 insertions(+), 1463 deletions(-)