Messages in this thread | ![/](/images/icornerl.gif) | | Date | Fri, 14 Dec 2018 04:36:24 -0800 | From | Christoph Hellwig <> | Subject | Re: [PATCH v5 2/2] media: usb: pwc: Don't use coherent DMA buffers for ISO transfer |
| |
On Fri, Dec 14, 2018 at 12:12:38PM +0900, Tomasz Figa wrote: > > If the buffer always is physically contiguous, as it is in the currently > > posted series, we can always map it with a single dma_map_single call > > (if the hardware can handle that in a single segment is a different > > question, but out of scope here). > > Are you sure the buffer is always physically contiguous? At least the > ARM IOMMU dma_ops [1] and the DMA-IOMMU dma_ops [2] will simply > allocate pages without any continuity guarantees and remap the pages > into a contiguous kernel VA (unless DMA_ATTR_NO_KERNEL_MAPPING is > given, which makes them return an opaque cookie instead of the kernel > VA). > > [1] http://git.infradead.org/users/hch/misc.git/blob/2dbb028e4a3017e1b71a6ae3828a3548545eba24:/arch/arm/mm/dma-mapping.c#l1291 > [2] http://git.infradead.org/users/hch/misc.git/blob/2dbb028e4a3017e1b71a6ae3828a3548545eba24:/drivers/iommu/dma-iommu.c#l450
We never end up in this allocator for the new DMA_ATTR_NON_CONSISTENT case, and that is intentional.
| ![\](/images/icornerr.gif) |