On Thu, Dec 20, 2018 at 07:35:15PM +0100, Daniel Vetter wrote:So, the bottom line will be: I can use DMA API for what I need, but:
Yes it may. But even if that happens everything will actually work,Err, with streaming DMA buffer sharing is trivial. The coherent DMAHm, I thought the streaming dma api is the one that causes bounce
allocator is what causes all kinds of horrible hacks that can't actually
work on various platforms.
buffers and all that fun. If you're unlucky at least.
just slower. While the dma coherent API is simply broken.
But if you don't want bounce buffering you need to use the dma
noncoherent allocator as proposed here:
https://lists.linuxfoundation.org/pipermail/iommu/2018-December/031982.html
which combines allocating memory that doesn't need to be bounce
buffered with a sharing scheme that can actually work.