linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/25] iommu: Refactor DMA domain strictness
@ 2021-08-04 17:15 Robin Murphy
  2021-08-04 17:15 ` [PATCH v3 01/25] iommu: Pull IOVA cookie management into the core Robin Murphy
                   ` (24 more replies)
  0 siblings, 25 replies; 43+ messages in thread
From: Robin Murphy @ 2021-08-04 17:15 UTC (permalink / raw)
  To: joro, will
  Cc: iommu, linux-arm-kernel, linux-kernel, suravee.suthikulpanit,
	baolu.lu, john.garry, dianders, rajatja, chenxiang66,
	Marek Szyprowski, Yoshihiro Shimoda, Geert Uytterhoeven, Yong Wu,
	Heiko Stuebner, Chunyan Zhang, Maxime Ripard,
	Jean-Philippe Brucker, Sai Praneeth Prakhya

v1: https://lore.kernel.org/linux-iommu/cover.1626888444.git.robin.murphy@arm.com/
v2: https://lore.kernel.org/linux-iommu/cover.1627468308.git.robin.murphy@arm.com/

Hi all,

Round 3, and the patch count has crept up yet again. But the overall
diffstat is even more negative, so that's good, right? :)

Once again, to driver/platform maintainers CC'd on cookie cleanup
patches this is just a heads-up and the rest of the changes should not
affect your platforms. I hope I've now fixed the silly bug which broke
bisection between patches #1 and #12 on 32-bit Arm.

The new patches are in the middle, reworking how the SMMU drivers and
io-pgtable implement non-strict mode such that the later changes fall
into place even more easily. Turns out I didn't need the major
refactoring of io-pgtable that I had in mind, and I'm almost kicking
myself that as soon as I put the option of *not* using the existing
quirk on the table, an even cleaner and more logical solution was
staring right out at me.

Due to that signifcant change and the consequent redesign of the final
patch to make dynamic switching look viable in the face of concurrency,
I have not applied the tested-by tags from v2. They were very much
appreciated though, thanks!

Proper changelogs on the individual patches this time since otherwise
I'd have lost track...

Cheers,
Robin.


CC: Marek Szyprowski <m.szyprowski@samsung.com>
CC: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
CC: Geert Uytterhoeven <geert+renesas@glider.be>
CC: Yong Wu <yong.wu@mediatek.com>
CC: Heiko Stuebner <heiko@sntech.de>
CC: Chunyan Zhang <chunyan.zhang@unisoc.com>
CC: Maxime Ripard <mripard@kernel.org>
CC: Jean-Philippe Brucker <jean-philippe@linaro.org>
CC: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>

Robin Murphy (25):
  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/dma: Factor out flush queue init
  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                     | 22 +----
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c   | 11 +--
 rivers/iommu/arm/arm-smmu/arm-smmu.c         | 19 ++---
 drivers/iommu/arm/arm-smmu/qcom_iommu.c       |  9 ---
 drivers/iommu/dma-iommu.c                     | 63 +++++++++------
 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                         | 55 ++++++++-----
 drivers/iommu/iova.c                          | 12 ++-
 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                     |  9 ++-
 include/linux/io-pgtable.h                    |  5 --
 include/linux/iommu.h                         | 23 +++++-
 24 files changed, 187 insertions(+), 277 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2021-08-09 20:16 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-04 17:15 [PATCH v3 00/25] iommu: Refactor DMA domain strictness Robin Murphy
2021-08-04 17:15 ` [PATCH v3 01/25] iommu: Pull IOVA cookie management into the core Robin Murphy
2021-08-04 18:52   ` Heiko Stübner
2021-08-05  7:18   ` Marek Szyprowski
2021-08-05  9:15   ` Yoshihiro Shimoda
2021-08-04 17:15 ` [PATCH v3 02/25] iommu/amd: Drop IOVA cookie management Robin Murphy
2021-08-05  7:37   ` kernel test robot
2021-08-05  9:37   ` Robin Murphy
2021-08-04 17:15 ` [PATCH v3 03/25] iommu/arm-smmu: " Robin Murphy
2021-08-04 17:15 ` [PATCH v3 04/25] iommu/vt-d: " Robin Murphy
2021-08-04 17:15 ` [PATCH v3 05/25] iommu/exynos: " Robin Murphy
2021-08-05  7:19   ` Marek Szyprowski
2021-08-04 17:15 ` [PATCH v3 06/25] iommu/ipmmu-vmsa: " Robin Murphy
2021-08-05  9:15   ` Yoshihiro Shimoda
2021-08-04 17:15 ` [PATCH v3 07/25] iommu/mtk: " Robin Murphy
2021-08-04 17:15 ` [PATCH v3 08/25] iommu/rockchip: " Robin Murphy
2021-08-04 18:53   ` Heiko Stübner
2021-08-04 17:15 ` [PATCH v3 09/25] iommu/sprd: " Robin Murphy
2021-08-06  2:15   ` Chunyan Zhang
2021-08-04 17:15 ` [PATCH v3 10/25] iommu/sun50i: " Robin Murphy
2021-08-04 17:15 ` [PATCH v3 11/25] iommu/virtio: " Robin Murphy
2021-08-04 17:15 ` [PATCH v3 12/25] iommu/dma: Unexport " Robin Murphy
2021-08-04 17:15 ` [PATCH v3 13/25] iommu/dma: Remove redundant "!dev" checks Robin Murphy
2021-08-04 17:15 ` [PATCH v3 14/25] iommu: Indicate queued flushes via gather data Robin Murphy
2021-08-04 17:15 ` [PATCH v3 15/25] iommu/io-pgtable: Remove non-strict quirk Robin Murphy
2021-08-04 17:15 ` [PATCH v3 16/25] iommu: Introduce explicit type for non-strict DMA domains Robin Murphy
2021-08-04 17:15 ` [PATCH v3 17/25] iommu/amd: Prepare for multiple DMA domain types Robin Murphy
2021-08-04 17:15 ` [PATCH v3 18/25] iommu/arm-smmu: " Robin Murphy
2021-08-04 17:15 ` [PATCH v3 19/25] iommu/vt-d: " Robin Murphy
2021-08-04 17:15 ` [PATCH v3 20/25] iommu: Express DMA strictness via the domain type Robin Murphy
2021-08-04 17:15 ` [PATCH v3 21/25] iommu: Expose DMA domain strictness via sysfs Robin Murphy
2021-08-04 17:15 ` [PATCH v3 22/25] iommu: Only log strictness for DMA domains Robin Murphy
2021-08-04 17:15 ` [PATCH v3 23/25] iommu: Merge strictness and domain type configs Robin Murphy
2021-08-06  9:15   ` John Garry
2021-08-04 17:15 ` [PATCH v3 24/25] iommu/dma: Factor out flush queue init Robin Murphy
2021-08-09 12:52   ` Will Deacon
2021-08-09 14:47     ` Robin Murphy
2021-08-09 19:05   ` Rajat Jain
2021-08-09 19:59     ` Robin Murphy
2021-08-09 20:15       ` Rajat Jain
2021-08-04 17:15 ` [PATCH v3 25/25] iommu: Allow enabling non-strict mode dynamically Robin Murphy
2021-08-09 12:49   ` Will Deacon
2021-08-09 13:40     ` Robin Murphy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).