[PATCH v3 00/10] Make the 32-bit ARM DMA API work with normal IOMMU DMA default domains (+ Tegra PoC)
Mikko Perttunen
mperttunen at nvidia.com
Thu Oct 29 19:37:53 PDT 2026
On Thursday, October 29, 2026 9:03 PM Christoph Hellwig wrote:
> On Mon, Oct 26, 2026 at 06:19:25PM +0900, Mikko Perttunen wrote:
> > Robin suggested [1] that instead of teaching the legacy path about
> > groups, we should explore modernizing the 32-bit ARM DMA code a bit by
> > making it use domain cookies and have the core code own the domains, as
> > is the case on other architectures. Still, ARM's own DMA code is kept to
> > support existing drivers and APIs that expect it, and because dma-iommu
> > is considered too big and unnecessary for 32-bit ARM.
>
> Now that the different domain handling is gone, what speaks against
> just using the generic dma-iommu code for arm32?
>
>
Copying Robin's comment --
> TBH I rather feel like the time for converting ARM to iommu-dma has
> passed - there are drivers which rely on specific behaviours of the ARM
> IOVA allocator which iommu-dma does not match, and meanwhile iommu-dma
> continues to grow more server-specific features which would be nothing
> but bloat on ARMv7 systems with <=2GB of RAM and no virtualisation. At
> this point I'm inclined to treat the existing DMA ops as legacy code
> like with alpha/sparc/etc.
Aside the bloat, it's indeed not a switch we could do in the short term
given all the platforms that rely on ARM32 specific APIs or behavior.
This series already opts out four platforms from just the default
domains and sashiko implies we need to add more to that list. There
could be an incremental path of removing existing hacky behavior and if
we manage that, eventually code sharing could be considered.
Mikko
More information about the linux-arm-kernel
mailing list