Skip to contentSkip to conversation

dma: dma_{un}map_{single|sg}_attrs() interface

PATCH Superseded [email protected] 1 participant 1 message Jan 30, 2008 DMA mapping helpers

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

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.

--

 dma-mapping.h |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+)
include/linux/dma-mapping.h +33 -0
index 101a2d4..bc313e3 100644
@@ -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