Skip to content

iommu: Refactor DMA domain strictness

Robin Murphy linux-arm-kernel linux-iommu linux-renesas-soc lkml 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest24 patches 5 repliesIn review
  2. v325 patches 16 repliesSuperseded
  3. v224 patches 40 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v123 patches15 repliesSuperseded

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/24iommu: Pull IOVA cookie management into the coredrivers/iommu/iommu.c include/linux/iommu.h+9 -10 replies
2/24iommu/amd: Drop IOVA cookie managementdrivers/iommu/amd/iommu.c+0 -120 replies
3/24iommu/arm-smmu: Drop IOVA cookie managementdrivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c drivers/iommu/arm/arm-smmu/arm-smmu.c drivers/iommu/arm/arm-smmu/qcom_iommu.c+4 -270 replies
4/24iommu/vt-d: Drop IOVA cookie managementdrivers/iommu/intel/iommu.c+0 -80 replies
5/24iommu/exynos: Drop IOVA cookie managementdrivers/iommu/exynos-iommu.c+4 -150 replies
6/24iommu/ipmmu-vmsa: Drop IOVA cookie managementdrivers/iommu/ipmmu-vmsa.c+4 -240 replies
7/24iommu/mtk: Drop IOVA cookie managementdrivers/iommu/mtk_iommu.c drivers/iommu/mtk_iommu_v1.c+0 -80 replies
8/24iommu/rockchip: Drop IOVA cookie managementdrivers/iommu/rockchip-iommu.c+1 -110 replies
9/24iommu/sprd: Drop IOVA cookie managementdrivers/iommu/sprd-iommu.c+0 -70 replies
10/24iommu/sun50i: Drop IOVA cookie managementdrivers/iommu/sun50i-iommu.c+1 -120 replies
11/24iommu/virtio: Drop IOVA cookie managementdrivers/iommu/virtio-iommu.c+0 -80 replies
12/24iommu/dma: Unexport IOVA cookie managementdrivers/iommu/dma-iommu.c drivers/iommu/iommu.c+1 -90 replies
13/24iommu/dma: Remove redundant "!dev" checksdrivers/iommu/dma-iommu.c+1 -40 replies
14/24iommu: Indicate queued flushes via gather datadrivers/iommu/dma-iommu.c drivers/iommu/iova.c include/linux/iommu.h+15 -10 replies
15/24iommu/io-pgtable: Remove non-strict quirkdrivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c drivers/iommu/arm/arm-smmu/arm-smmu.c drivers/iommu/io-pgtable-arm-v7s.c +2 more+4 -312 replies
16/24iommu: Introduce explicit type for non-strict DMA domainsdrivers/iommu/dma-iommu.c drivers/iommu/iommu.c include/linux/iommu.h+18 -30 replies
17/24iommu/amd: Prepare for multiple DMA domain typesdrivers/iommu/amd/iommu.c+2 -70 replies
18/24iommu/arm-smmu: Prepare for multiple DMA domain typesdrivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c drivers/iommu/arm/arm-smmu/arm-smmu.c+3 -10 replies
19/24iommu/vt-d: Prepare for multiple DMA domain typesdrivers/iommu/intel/iommu.c+6 -90 replies
20/24iommu: Express DMA strictness via the domain typedrivers/iommu/dma-iommu.c drivers/iommu/iommu.c include/linux/iommu.h+11 -140 replies
21/24iommu: Expose DMA domain strictness via sysfsDocumentation/ABI/testing/sysfs-kernel-iommu_groups drivers/iommu/iommu.c+7 -10 replies
22/24iommu: Only log strictness for DMA domainsdrivers/iommu/iommu.c+5 -40 replies
23/24iommu: Merge strictness and domain type configsDocumentation/admin-guide/kernel-parameters.txt drivers/iommu/Kconfig drivers/iommu/iommu.c+44 -460 replies
24/24iommu: Allow enabling non-strict mode dynamicallydrivers/iommu/dma-iommu.c drivers/iommu/iommu.c drivers/iommu/iova.c +1 more+57 -240 replies

Reviews trailers per patch

15 of 24 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchHeiko StuebnerMarek SzyprowskiYoshihiro ShimodaJean-Philippe BruckerLu BaoluChunyan ZhangJohn GarrySven Peter
SeriesA-b T-b
1/24T-b T-b T-b R-b R-b
2/24
3/24
4/24R-b
5/24A-b T-b
6/24R-b T-b
7/24
8/24T-b A-b
9/24A-b
10/24
11/24R-b
12/24R-b R-b
13/24R-b R-b
14/24
15/24
16/24R-b R-b
17/24
18/24
19/24R-b
20/24R-b
21/24R-b R-b
22/24R-b R-b
23/24R-b R-b R-b
24/24

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 8 reviewers.

Read the v4 thread

Cover letter [PATCH v4 00/24] iommu: Refactor DMA domain strictness

v1: https://lore.kernel.org/linux-iommu/[email protected]/
v2: https://lore.kernel.org/linux-iommu/[email protected]/
v3: https://lore.kernel.org/linux-iommu/[email protected]/

Hi all,

I'm hoping this is good to go now. Changes from v3 are minimal, just rolling back patch #2 to the non-broken version, and tidying up the final patch as documented there.

Cheers,
Robin.

CC Marek Szyprowski <[email protected]>
CC Yoshihiro Shimoda <[email protected]>
CC Geert Uytterhoeven <[email protected]>
CC Yong Wu <[email protected]>
CC Heiko Stuebner <[email protected]>
CC Chunyan Zhang <[email protected]>
CC Maxime Ripard <[email protected]>
CC Jean-Philippe Brucker <[email protected]>

Robin Murphy (24):
iommu: Pull IOVA cookie management into the core iommu/amd: Drop IOVA cookie management iommu/arm-smmu: Drop IOVA cookie management iommu/vt-d: Drop IOVA cookie management iommu/exynos: Drop IOVA cookie management iommu/ipmmu-vmsa: Drop IOVA cookie management iommu/mtk: Drop IOVA cookie management iommu/rockchip: Drop IOVA cookie management iommu/sprd: Drop IOVA cookie management iommu/sun50i: Drop IOVA cookie management iommu/virtio: Drop IOVA cookie management iommu/dma: Unexport IOVA cookie management iommu/dma: Remove redundant "!dev" checks
iommu: Indicate queued flushes via gather data iommu/io-pgtable: Remove non-strict quirk
iommu: Introduce explicit type for non-strict DMA domains iommu/amd: Prepare for multiple DMA domain types iommu/arm-smmu: Prepare for multiple DMA domain types iommu/vt-d: Prepare for multiple DMA domain types
iommu: Express DMA strictness via the domain type
iommu: Expose DMA domain strictness via sysfs
iommu: Only log strictness for DMA domains
iommu: Merge strictness and domain type configs
iommu: Allow enabling non-strict mode dynamically

 .../ABI/testing/sysfs-kernel-iommu_groups     |  6 +-
 .../admin-guide/kernel-parameters.txt         |  8 +-
 drivers/iommu/Kconfig                         | 80 +++++++++----------
 drivers/iommu/amd/iommu.c                     | 21 +----
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c   | 11 +--
 drivers/iommu/arm/arm-smmu/arm-smmu.c         | 19 ++---
 drivers/iommu/arm/arm-smmu/qcom_iommu.c       |  9 ---
 drivers/iommu/dma-iommu.c                     | 58 ++++++++------
 drivers/iommu/exynos-iommu.c                  | 19 +----
 drivers/iommu/intel/iommu.c                   | 23 ++----
 drivers/iommu/io-pgtable-arm-v7s.c            | 12 +--
 drivers/iommu/io-pgtable-arm.c                | 12 +--
 drivers/iommu/iommu.c                         | 56 ++++++++-----
 drivers/iommu/iova.c                          | 14 +++-
 drivers/iommu/ipmmu-vmsa.c                    | 28 +------
 drivers/iommu/mtk_iommu.c                     |  7 --
 drivers/iommu/mtk_iommu_v1.c                  |  1 -
 drivers/iommu/rockchip-iommu.c                | 12 +--
 drivers/iommu/sprd-iommu.c                    |  7 --
 drivers/iommu/sun50i-iommu.c                  | 13 +--
 drivers/iommu/virtio-iommu.c                  |  8 --
 include/linux/dma-iommu.h                     |  6 ++
 include/linux/io-pgtable.h                    |  5 --
 include/linux/iommu.h                         | 23 +++++-
 24 files changed, 184 insertions(+), 274 deletions(-)
Signature · 1 line
2.25.1