diff options
author | Christoph Hellwig <hch@lst.de> | 2018-04-16 15:24:51 +0200 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2018-05-19 08:46:12 +0200 |
commit | 782e6769c0df744e773dc2acff71c974b3bba4e9 (patch) | |
tree | 4b7f513da50a3bce1cca7a28949258642e9c8ab7 /include/linux/dma-mapping.h | |
parent | 35ddb69cd223eea5b1c68af753ed014208b6144e (diff) | |
download | linux-stable-782e6769c0df744e773dc2acff71c974b3bba4e9.tar.gz linux-stable-782e6769c0df744e773dc2acff71c974b3bba4e9.tar.bz2 linux-stable-782e6769c0df744e773dc2acff71c974b3bba4e9.zip |
dma-mapping: provide a generic dma-noncoherent implementation
Add a new dma_map_ops implementation that uses dma-direct for the
address mapping of streaming mappings, and which requires arch-specific
implemenations of coherent allocate/free.
Architectures have to provide flushing helpers to ownership trasnfers
to the device and/or CPU, and can provide optional implementations of
the coherent mmap functionality, and the cache_flush routines for
non-coherent long term allocations.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Alexey Brodkin <abrodkin@synopsys.com>
Acked-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'include/linux/dma-mapping.h')
-rw-r--r-- | include/linux/dma-mapping.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h index 25a9a2b04f78..4be070df5fc5 100644 --- a/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h @@ -136,6 +136,7 @@ struct dma_map_ops { }; extern const struct dma_map_ops dma_direct_ops; +extern const struct dma_map_ops dma_noncoherent_ops; extern const struct dma_map_ops dma_virt_ops; #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) |