[PATCH v1 0/6] iommu: Pass in old_domain pointer to attach_dev

Nicolin Chen
2025-10-12T23:57:58Z

Tidy the release_device callbacks in the drivers and switch to the core
managed release_domain.

This allows the core further to pass in the old domain pointer into the
attach_dev callbacks to reduce the use of iommu_get_domain_for_dev().

This is a preparatory series for new iommu_dev_reset APIs:
https://lore.kernel.org/all/cover.1756682135.git.nicolinc@nvidia.com/

This is on github:
https://github.com/nicolinc/iommufd/tree/iommu_attach_old_dom-v1

Jason Gunthorpe (1):
iommu: Generic support for RMRs during device release

Nicolin Chen (5):
iommu/arm-smmu-v3: Set release_domain to arm_smmu_blocked_domain
iommu/exynos-iommu: Set release_domain to exynos_identity_domain
iommu/amd: Set release_domain to blocked_domain
iommu: Do not revert set_domain for the last gdev
iommu: Pass in old domain to attach_dev callback functions

include/linux/iommu.h | 3 +-
drivers/iommu/amd/iommu.c | 21 +++------
drivers/iommu/apple-dart.c | 9 ++--
.../arm/arm-smmu-v3/arm-smmu-v3-iommufd.c | 5 ++-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 31 ++++++-------
drivers/iommu/arm/arm-smmu/arm-smmu.c | 9 ++--
drivers/iommu/arm/arm-smmu/qcom_iommu.c | 11 ++---
drivers/iommu/exynos-iommu.c | 11 ++---
drivers/iommu/fsl_pamu_domain.c | 12 ++---
drivers/iommu/intel/iommu.c | 10 +++--
drivers/iommu/intel/nested.c | 2 +-
drivers/iommu/iommu.c | 44 +++++++++++++------
drivers/iommu/iommufd/selftest.c | 2 +-
drivers/iommu/ipmmu-vmsa.c | 10 ++---
drivers/iommu/msm_iommu.c | 11 ++---
drivers/iommu/mtk_iommu.c | 8 ++--
drivers/iommu/mtk_iommu_v1.c | 7 ++-
drivers/iommu/omap-iommu.c | 12 ++---
drivers/iommu/riscv/iommu.c | 9 ++--
drivers/iommu/rockchip-iommu.c | 20 ++++++---
drivers/iommu/s390-iommu.c | 9 ++--
drivers/iommu/sprd-iommu.c | 3 +-
drivers/iommu/sun50i-iommu.c | 8 ++--
drivers/iommu/tegra-smmu.c | 10 ++---
drivers/iommu/virtio-iommu.c | 6 ++-
25 files changed, 167 insertions(+), 116 deletions(-)

--
2.43.0