[RFC 2/3] USB: core: Add non-coherent buffer allocation helpers
From: tfiga@chromium.org (Tomasz Figa)
Date: 2018-08-31 06:52:12
Also in:
linux-media, linux-usb, lkml
From: tfiga@chromium.org (Tomasz Figa)
Date: 2018-08-31 06:52:12
Also in:
linux-media, linux-usb, lkml
On Fri, Aug 31, 2018 at 2:50 PM Christoph Hellwig [off-list ref] wrote:
On Thu, Aug 30, 2018 at 07:11:35PM -0300, Ezequiel Garcia wrote:quoted
On Thu, 2018-08-30 at 10:58 -0700, Christoph Hellwig wrote:quoted
Please don't introduce new DMA_ATTR_NON_CONSISTENT users, it is a rather horrible interface, and I plan to kill it off rather sooner than later. I plan to post some patches for a better interface that can reuse the normal dma_sync_single_* interfaces for ownership transfers. I can happily include usb in that initial patch set based on your work here if that helps.Please do. Until we have proper allocators that go thru the DMA API, drivers will have to kmalloc the USB transfer buffers, and have streaming mappings. Which in turns mean not using IOMMU or CMA.dma_map_page will of course use the iommu.
Sure, dma_map*() will, but using kmalloc() defeats (half of) the purpose of it, since contiguous memory would be allocated unnecessarily, risking failures due to fragmentation. Best regards, Tomasz