diff options
author | Christoph Hellwig <hch@lst.de> | 2020-09-01 14:59:45 +0300 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2020-09-25 07:20:47 +0300 |
commit | de7cf917768f438aae6d2f4e9bced3739f15f5b6 (patch) | |
tree | ded43ac607a6825a0e1d73e1b199568b005f7905 /include/linux/dma-mapping.h | |
parent | efa70f2fdc842e63a0a13223e0e83cedcc2117f1 (diff) | |
download | linux-de7cf917768f438aae6d2f4e9bced3739f15f5b6.tar.xz |
dma-mapping: add new {alloc,free}_noncoherent dma_map_ops methods
This will allow IOMMU drivers to allocate non-contigous memory and
return a vmapped virtual address.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'include/linux/dma-mapping.h')
-rw-r--r-- | include/linux/dma-mapping.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h index 4b9b1d64f5ec..7c77cd6f3604 100644 --- a/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h @@ -74,6 +74,11 @@ struct dma_map_ops { gfp_t gfp); void (*free_pages)(struct device *dev, size_t size, struct page *vaddr, dma_addr_t dma_handle, enum dma_data_direction dir); + void* (*alloc_noncoherent)(struct device *dev, size_t size, + dma_addr_t *dma_handle, enum dma_data_direction dir, + gfp_t gfp); + void (*free_noncoherent)(struct device *dev, size_t size, void *vaddr, + dma_addr_t dma_handle, enum dma_data_direction dir); int (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, unsigned long attrs); |