Messages in this thread | ![/](/images/icornerl.gif) | | From | Robin Murphy <> | Subject | [PATCH 00/13] iommu: Retire bus_set_iommu() | Date | Thu, 14 Apr 2022 13:42:29 +0100 |
| |
Hi all,
Here's another chapter in my saga of moving to per-instance IOMMU ops - iommu_present() and iommu_capable() cleanups will be ongoing for another cycle or two, while this one is at least self-contained within the subsystem. The next steps after this are making iommu_domain_alloc() instance-aware - which should finish the public API - and pulling the fwnode/of_xlate bits into __iommu_probe_device(). And then making sense of whatever's left :)
For ease of review here I split out individual driver patches based on whether there was any non-trivial change or affect on control flow; the straightforward deletions are all lumped together since the whole series needs applying together either way, but I'm happy to split the final patch up further if anyone would like.
Patch #3 for AMD is based on Mario's SWIOTLB patch here:
https://lore.kernel.org/linux-iommu/20220404204723.9767-1-mario.limonciello@amd.com/
since that wants merging first as fix material. The series is also based contextually (but not functionally) on my device_iommu_capable() patches here:
https://lore.kernel.org/linux-iommu/cover.1649089693.git.robin.murphy@arm.com/
since those are pretty much good to go now (I'll send a slightly-tweaked final version once the iommu/core branch is open).
Thanks, Robin.
Robin Murphy (13): iommu: Always register bus notifiers iommu: Move bus setup to IOMMU device registration iommu/amd: Clean up bus_set_iommu() iommu/arm-smmu: Clean up bus_set_iommu() iommu/arm-smmu-v3: Clean up bus_set_iommu() iommu/dart: Clean up bus_set_iommu() iommu/exynos: Clean up bus_set_iommu() iommu/ipmmu-vmsa: Clean up bus_set_iommu() iommu/mtk: Clean up bus_set_iommu() iommu/omap: Clean up bus_set_iommu() iommu/tegra-smmu: Clean up bus_set_iommu() iommu/virtio: Clean up bus_set_iommu() iommu: Clean up bus_set_iommu()
drivers/iommu/amd/amd_iommu.h | 1 - drivers/iommu/amd/init.c | 9 +- drivers/iommu/amd/iommu.c | 21 ---- drivers/iommu/apple-dart.c | 30 +----- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 53 +--------- drivers/iommu/arm/arm-smmu/arm-smmu.c | 84 +-------------- drivers/iommu/arm/arm-smmu/qcom_iommu.c | 4 - drivers/iommu/exynos-iommu.c | 9 -- drivers/iommu/fsl_pamu_domain.c | 4 - drivers/iommu/intel/iommu.c | 1 - drivers/iommu/iommu.c | 109 +++++++++----------- drivers/iommu/ipmmu-vmsa.c | 35 +------ drivers/iommu/msm_iommu.c | 2 - drivers/iommu/mtk_iommu.c | 13 +-- drivers/iommu/mtk_iommu_v1.c | 13 +-- drivers/iommu/omap-iommu.c | 6 -- drivers/iommu/rockchip-iommu.c | 2 - drivers/iommu/s390-iommu.c | 6 -- drivers/iommu/sprd-iommu.c | 5 - drivers/iommu/sun50i-iommu.c | 2 - drivers/iommu/tegra-smmu.c | 29 ++---- drivers/iommu/virtio-iommu.c | 24 ----- include/linux/iommu.h | 1 - 23 files changed, 62 insertions(+), 401 deletions(-)
-- 2.28.0.dirty
| ![\](/images/icornerr.gif) |