dma-mapping: add a new dma_alloc_noncoherent API
authorChristoph Hellwig <hch@lst.de>
Tue, 1 Sep 2020 11:31:30 +0000 (13:31 +0200)
committerChristoph Hellwig <hch@lst.de>
Fri, 25 Sep 2020 04:20:43 +0000 (06:20 +0200)
commit0d71675f87dc406d4c284729b8d36be050ad0d15
treec6b1f0f8572d4c6dbe7863b6b3d9889d8656dd45
parent91af2dd255ac9284ee2942a359fa8d2b49849e0b
dma-mapping: add a new dma_alloc_noncoherent API

Add a new API to allocate and free memory that is guaranteed to be
addressable by a device, but which potentially is not cache coherent
for DMA.

To transfer ownership to and from the device, the existing streaming
DMA API calls dma_sync_single_for_device and dma_sync_single_for_cpu
must be used.

For now the new calls are implemented on top of dma_alloc_attrs just
like the old-noncoherent API, but once all drivers are switched to
the new API it will be replaced with a better working implementation
that is available on all architectures.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Documentation/core-api/dma-api.rst
include/linux/dma-mapping.h