dma: dma_{un}map_{single|sg}_attrs() interface
cover dma: dma_{un}map_{single|sg}_attrs() interface
Introduce a new interface for passing architecture-specific attributes when memory is mapped and unmapped for DMA. Give the interface a default implementation which ignores attributes.
Signed-off-by Arthur Kepner <[email protected]>
--
dma-mapping.h | 33 +++++++++++++++++++++++++++++++++ 1 files changed, 33 insertions(+)
include/linux/dma-mapping.h +33 -0
@@ -116,4 +116,37 @@ static inline void dmam_release_declared_memory(struct device *dev) }#endif /* ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY */ +#ifndef ARCH_USES_DMA_ATTRS +struct dma_attrs ; + +static inline dma_addr_t dma_map_single_attrs (struct device *dev, +void *cpu_addr,size_t size, +int dir,struct dma_attrs * attrs) +{ +return dma_map_single (dev, cpu_addr, size, dir); +} + +static inline void dma_unmap_single_attrs (struct device *dev, +dma_addr_t dma_addr, +size_t size,int dir, +struct dma_attrs * attrs) +{ +return dma_unmap_single (dev, dma_addr, size, dir); +} + +static inline int dma_map_sg_attrs (struct device *dev,struct scatterlist *sgl, +int nents,int dir,struct dma_attrs *attrs) +{ +return dma_map_sg (dev, sgl, nents, dir); +} + +static inline void dma_unmap_sg_attrs (struct device *dev, +struct scatterlist *sgl, +int nents,int dir, +struct dma_attrs *attrs) +{ +return dma_unmap_sg (dev, sgl, nents, dir); +} +#endif /* ARCH_USES_DMA_ATTRS */ +#endif