These are the patches from the from the prior series without the "fwspec polishing": https://lore.kernel.org/r/0-v2-36a0088ecaa7+22c6e-iommu_fwspec_jgg@xxxxxxxxxx Rebased onto Robin's patch: https://lore.kernel.org/all/16f433658661d7cadfea51e7c65da95826112a2b.1700071477.git.robin.murphy@xxxxxxx/ Does a few things to prepare for the next: - Clean up the call chains around dma_configure so the iommu_ops isn't being exposed. - Add additional lockdep annotations now that we can. - Replace the iommu_device_lock with iommu_probe_device_lock. - Fix some missed places that need to call tegra_dev_iommu_get_stream_id() Jason Gunthorpe (10): iommu: Remove struct iommu_ops *iommu from arch_setup_dma_ops() iommmu/of: Do not return struct iommu_ops from of_iommu_configure() iommu/of: Use -ENODEV consistently in of_iommu_configure() iommu: Mark dev_iommu_get() with lockdep iommu: Mark dev_iommu_priv_set() with a lockdep iommu: Replace iommu_device_lock with iommu_probe_device_lock acpi: Do not return struct iommu_ops from acpi_iommu_configure_id() iommu/tegra: Use tegra_dev_iommu_get_stream_id() in the remaining places ACPI: IORT: Cast from ULL to phys_addr_t ACPI: IORT: Allow COMPILE_TEST of IORT arch/arc/mm/dma.c | 2 +- arch/arm/mm/dma-mapping-nommu.c | 2 +- arch/arm/mm/dma-mapping.c | 10 +-- arch/arm64/mm/dma-mapping.c | 4 +- arch/mips/mm/dma-noncoherent.c | 2 +- arch/riscv/mm/dma-noncoherent.c | 2 +- drivers/acpi/Kconfig | 2 - drivers/acpi/Makefile | 2 +- drivers/acpi/arm64/Kconfig | 1 + drivers/acpi/arm64/Makefile | 2 +- drivers/acpi/arm64/iort.c | 6 +- drivers/acpi/scan.c | 32 ++++++---- drivers/dma/tegra186-gpc-dma.c | 8 +-- .../gpu/drm/nouveau/nvkm/subdev/ltc/gp10b.c | 7 +- drivers/hv/hv_common.c | 2 +- drivers/iommu/Kconfig | 1 + drivers/iommu/amd/iommu.c | 2 - drivers/iommu/apple-dart.c | 1 - drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 1 - drivers/iommu/arm/arm-smmu/arm-smmu.c | 1 - drivers/iommu/intel/iommu.c | 2 - drivers/iommu/iommu.c | 41 +++++++----- drivers/iommu/of_iommu.c | 64 ++++++++----------- drivers/iommu/omap-iommu.c | 1 - drivers/memory/tegra/tegra186.c | 12 ++-- drivers/of/device.c | 24 ++++--- include/linux/dma-map-ops.h | 4 +- include/linux/iommu.h | 5 +- include/linux/of_iommu.h | 13 ++-- 29 files changed, 124 insertions(+), 132 deletions(-) base-commit: 173ff345925a394284250bfa6e47d231e62031c7 -- 2.42.0