[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1701268753.git.robin.murphy@arm.com>
Date: Wed, 29 Nov 2023 17:42:57 +0000
From: Robin Murphy <robin.murphy@....com>
To: Joerg Roedel <joro@...tes.org>, Christoph Hellwig <hch@....de>
Cc: Vineet Gupta <vgupta@...nel.org>,
Russell King <linux@...linux.org.uk>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Huacai Chen <chenhuacai@...nel.org>,
WANG Xuerui <kernel@...0n.name>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
Hanjun Guo <guohanjun@...wei.com>,
Sudeep Holla <sudeep.holla@....com>,
"K. Y. Srinivasan" <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Wei Liu <wei.liu@...nel.org>, Dexuan Cui <decui@...rosoft.com>,
Suravee Suthikulpanit <suravee.suthikulpanit@....com>,
David Woodhouse <dwmw2@...radead.org>,
Lu Baolu <baolu.lu@...ux.intel.com>,
Niklas Schnelle <schnelle@...ux.ibm.com>,
Matthew Rosato <mjrosato@...ux.ibm.com>,
Gerald Schaefer <gerald.schaefer@...ux.ibm.com>,
Jean-Philippe Brucker <jean-philippe@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Frank Rowand <frowand.list@...il.com>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Jason Gunthorpe <jgg@...pe.ca>, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-acpi@...r.kernel.org,
iommu@...ts.linux.dev, devicetree@...r.kernel.org
Subject: [PATCH 0/7] dma-mapping: Clean up arch_setup_dma_ops()
Hi all,
Prompted by Jason's proposal[1], here's a first step towards truly
unpicking the dma_configure vs. IOMMU mess. As I commented before, we
have an awful lot of accumulated cruft and technical debt here making
things more complicated than they need to be, and we already have hacks
on top of hacks trying to work around it, so polishing those hacks even
further is really not a desirable direction of travel. And I do know
they're hacks, because I wrote most of them and still remember enough of
the context of the time ;)
I'm taking a methodical bottom-up approach here, so step 1 is cleaning
*all* the out-of-date stuff from arch_setup_dma_ops() and simplifying
that interface, which gets it right out of the way for the next step of
pulling apart {of,acpi}_dma_configure(). This part is really a
dma-mapping series, but I'm not sure yet if would need to target the
IOMMU tree - nothing here should strictly depend on the pending IOMMU
change, but the follow-up patches might. Still working on those, so
hopefully I'll know soon...
Thanks,
Robin.
[1] https://lore.kernel.org/linux-iommu/0-v1-720585788a7d+811b-iommu_fwspec_p1_jgg@nvidia.com/
Robin Murphy (7):
OF: Retire dma-ranges mask workaround
OF: Simplify DMA range calculations
ACPI/IORT: Handle memory address size limits as limits
dma-mapping: Add helpers for dma_range_map bounds
iommu/dma: Make limit checks self-contained
iommu/dma: Centralise iommu_setup_dma_ops()
dma-mapping: Simplify arch_setup_dma_ops()
arch/arc/mm/dma.c | 3 +--
arch/arm/mm/dma-mapping-nommu.c | 3 +--
arch/arm/mm/dma-mapping.c | 12 ++++++----
arch/arm64/mm/dma-mapping.c | 5 +---
arch/loongarch/kernel/dma.c | 9 ++-----
arch/mips/mm/dma-noncoherent.c | 3 +--
arch/riscv/mm/dma-noncoherent.c | 3 +--
drivers/acpi/arm64/dma.c | 17 ++++---------
drivers/acpi/arm64/iort.c | 18 +++++++-------
drivers/acpi/scan.c | 3 +--
drivers/hv/hv_common.c | 6 +----
drivers/iommu/amd/iommu.c | 8 -------
drivers/iommu/dma-iommu.c | 35 ++++++++++-----------------
drivers/iommu/dma-iommu.h | 6 +++++
drivers/iommu/intel/iommu.c | 7 ------
drivers/iommu/iommu.c | 2 ++
drivers/iommu/s390-iommu.c | 6 -----
drivers/iommu/virtio-iommu.c | 10 --------
drivers/of/device.c | 42 ++++++---------------------------
include/linux/acpi_iort.h | 4 ++--
include/linux/dma-direct.h | 18 ++++++++++++++
include/linux/dma-map-ops.h | 6 ++---
include/linux/iommu.h | 7 ------
23 files changed, 78 insertions(+), 155 deletions(-)
--
2.39.2.101.g768bb238c484.dirty
Powered by blists - more mailing lists