[PATCH 0/7] iommu cleanup and refactoring

From: Lu Baolu
Date: Mon Jan 24 2022 - 02:12:27 EST


Hi,

The guest pasid and aux-domain related code are dead code in current
iommu subtree. As we have reached a consensus that all these features
should be based on the new iommufd framework (which is under active
development), the first part of this series removes and cleanups all
the dead code.

The second part of this series refactors the iommu_domain by moving all
domain-specific ops from iommu_ops to a new domain_ops. This makes an
iommu_domain self-contained and represent the abstraction of an I/O
translation table in the IOMMU subsystem. With different type of
iommu_domain providing different set of ops, it's easier to support more
types of I/O translation tables.

Please help to review and comment.

Best regards,
baolu

Lu Baolu (7):
iommu/vt-d: Remove guest pasid related callbacks
iommu: Remove guest pasid related interfaces and definitions
iommu/vt-d: Remove aux-domain related callbacks
iommu: Remove aux-domain related interfaces and iommu_ops
drm/nouveau/device: Get right pgsize_bitmap of iommu_domain
iommu: Use right way to retrieve iommu_ops
iommu: Add iommu_domain::domain_ops

include/linux/intel-iommu.h | 27 -
include/linux/intel-svm.h | 12 -
include/linux/iommu.h | 174 ++----
drivers/iommu/intel/pasid.h | 4 -
include/uapi/linux/iommu.h | 181 ------
.../drm/nouveau/nvkm/engine/device/tegra.c | 2 +-
drivers/iommu/amd/iommu.c | 21 +-
drivers/iommu/apple-dart.c | 24 +-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 22 +-
drivers/iommu/arm/arm-smmu/arm-smmu.c | 23 +-
drivers/iommu/arm/arm-smmu/qcom_iommu.c | 17 +-
drivers/iommu/exynos-iommu.c | 17 +-
drivers/iommu/fsl_pamu_domain.c | 13 +-
drivers/iommu/intel/debugfs.c | 3 +-
drivers/iommu/intel/iommu.c | 542 +-----------------
drivers/iommu/intel/pasid.c | 161 ------
drivers/iommu/intel/svm.c | 209 -------
drivers/iommu/iommu.c | 296 +---------
drivers/iommu/ipmmu-vmsa.c | 21 +-
drivers/iommu/msm_iommu.c | 17 +-
drivers/iommu/mtk_iommu.c | 24 +-
drivers/iommu/mtk_iommu_v1.c | 19 +-
drivers/iommu/omap-iommu.c | 15 +-
drivers/iommu/rockchip-iommu.c | 17 +-
drivers/iommu/s390-iommu.c | 15 +-
drivers/iommu/sprd-iommu.c | 19 +-
drivers/iommu/sun50i-iommu.c | 18 +-
drivers/iommu/tegra-gart.c | 15 +-
drivers/iommu/tegra-smmu.c | 16 +-
drivers/iommu/virtio-iommu.c | 18 +-
30 files changed, 331 insertions(+), 1631 deletions(-)

--
2.25.1