Re: [PATCH v4 0/3] Apple M1 DART IOMMU driver
From: Robin Murphy <robin.murphy@arm.com>
Date: 2021-07-16 15:33:06
Also in:
linux-arm-kernel, linux-iommu, linux-media, lkml
From: Robin Murphy <robin.murphy@arm.com>
Date: 2021-07-16 15:33:06
Also in:
linux-arm-kernel, linux-iommu, linux-media, lkml
On 2021-07-16 07:24, Christoph Hellwig wrote:
On Wed, Jul 14, 2021 at 07:19:50PM +0100, Robin Murphy wrote:quoted
Even at the DMA API level you could hide *some* of it (at the cost of effectively only having 1/4 of the usable address space), but there are still cases like where v4l2 has a hard requirement that a page-aligned scatterlist can be mapped into a contiguous region of DMA addresses.Where does v4l2 make that broken assumption? Plenty of dma mapping implementations including dma-direct do not support that.
See vb2_dc_get_contiguous_size() and its callers. I still remember spending an entire work day on writing one email at the culmination of this discussion: https://lore.kernel.org/linux-iommu/56409B6D.5090903@arm.com/ (local) 809eac54cdd6 was framed as an efficiency improvement because it technically was one (and something I had wanted to implement anyway), but it was also very much to save myself from any further email debates or customer calls about "regressing" code ported from 32-bit platforms... Robin.