diff options
author | Christoph Hellwig <hch@lst.de> | 2021-01-28 14:54:18 +0100 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2021-03-15 10:02:31 +0100 |
commit | 7d5b5738d1514e9dd8ed452660e2a4d25beb9483 (patch) | |
tree | 9171f83e841b5029329a8bd9664205494e6b0fa3 /drivers/iommu/dma-iommu.c | |
parent | dma-mapping: refactor dma_{alloc,free}_pages (diff) | |
download | linux-7d5b5738d1514e9dd8ed452660e2a4d25beb9483.tar.xz linux-7d5b5738d1514e9dd8ed452660e2a4d25beb9483.zip |
dma-mapping: add a dma_alloc_noncontiguous API
Add a new API that returns a potentiall virtually non-contigous sg_table
and a DMA address. This API is only properly implemented for dma-iommu
and will simply return a contigious chunk as a fallback.
The intent is that drivers can use this API if either:
- no kernel mapping or only temporary kernel mappings are required.
That is as a better replacement for DMA_ATTR_NO_KERNEL_MAPPING
- a kernel mapping is required for cached and DMA mapped pages, but
the driver also needs the pages to e.g. map them to userspace.
In that sense it is a replacement for some aspects of the recently
removed and never fully implemented DMA_ATTR_NON_CONSISTENT
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Tested-by: Ricardo Ribalda <ribalda@chromium.org>
Diffstat (limited to 'drivers/iommu/dma-iommu.c')
0 files changed, 0 insertions, 0 deletions