[PATCH 0/5] iommu: Make blocking domain static for group

Lu Baolu
2022-05-16T02:01:21Z

Hi folks,

This is a follow-up series after several discussions on blocking domain.
The latest discussion could be found here.

https://lore.kernel.org/linux-iommu/20220510140238.GD49344@nvidia.com/

This makes blocking domain static by:

- Each IOMMU driver is required to report domain ops for the blocking
domain in its iommu_ops. Some IOMMU drivers support detaching domain
by clearing an entry in the device context, while others not. To
distinguish this capability among the IOMMU drivers, a flag is added
to the domain ops.

- Similar to the default domain, each iommu group also has a static
blokcing domain. The blocking domain is allocated when the first
device joins the group and freed after the last device leaves.

- As .detach_dev equals to either setting the default domain or blocking
domain to the device, this callback is not needed anymore. It is
removed in this series.

Please kindly review and suggest. Very appreciated.

Best regards,
baolu

Lu Baolu (5):
iommu: Rename attach_dev to set_dev in domain ops
iommu: Add blocking_domain_ops field in iommu_ops
iommu: Make blocking domain static for iommu group
iommu: Use blocking domain for empty domain attaching
iommu: Remove .detach_dev from iommu domain ops

include/linux/iommu.h | 13 ++-
include/trace/events/iommu.h | 7 --
drivers/iommu/amd/iommu.c | 15 ++-
drivers/iommu/apple-dart.c | 15 ++-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 5 +-
drivers/iommu/arm/arm-smmu/arm-smmu.c | 5 +-
drivers/iommu/arm/arm-smmu/qcom_iommu.c | 15 ++-
drivers/iommu/exynos-iommu.c | 15 ++-
drivers/iommu/fsl_pamu_domain.c | 15 ++-
drivers/iommu/intel/iommu.c | 15 ++-
drivers/iommu/iommu-traces.c | 1 -
drivers/iommu/iommu.c | 122 ++++++++++----------
drivers/iommu/ipmmu-vmsa.c | 15 ++-
drivers/iommu/msm_iommu.c | 15 ++-
drivers/iommu/mtk_iommu.c | 15 ++-
drivers/iommu/mtk_iommu_v1.c | 15 ++-
drivers/iommu/omap-iommu.c | 15 ++-
drivers/iommu/rockchip-iommu.c | 15 ++-
drivers/iommu/s390-iommu.c | 15 ++-
drivers/iommu/sprd-iommu.c | 14 ++-
drivers/iommu/sun50i-iommu.c | 15 ++-
drivers/iommu/tegra-gart.c | 15 ++-
drivers/iommu/tegra-smmu.c | 15 ++-
drivers/iommu/virtio-iommu.c | 5 +-
24 files changed, 299 insertions(+), 113 deletions(-)

--
2.25.1