Re: [PATCH 00/13] iommu: Retire bus_set_iommu()

From: Marek Szyprowski
Date: Thu Apr 14 2022 - 17:00:36 EST


Hi Robin,

On 14.04.2022 14:42, Robin Murphy wrote:
> 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@xxxxxxx/
>
> 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@xxxxxxx/
>
> since those are pretty much good to go now (I'll send a slightly-tweaked
> final version once the iommu/core branch is open).

Works fine on Samsung Exynos based boards (both, ARM 32bit and 64bit).

Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> # for Exynos
relevant changes


>
> 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(-)
>
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland