summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/dma-iommu.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2021-01-28 14:54:18 +0100
committerChristoph Hellwig <hch@lst.de>2021-03-15 10:02:31 +0100
commit7d5b5738d1514e9dd8ed452660e2a4d25beb9483 (patch)
tree9171f83e841b5029329a8bd9664205494e6b0fa3 /drivers/iommu/dma-iommu.c
parentdma-mapping: refactor dma_{alloc,free}_pages (diff)
downloadlinux-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