summaryrefslogtreecommitdiff
path: root/include/asm-generic
diff options
context:
space:
mode:
authorHiroshi Doyu <hdoyu@nvidia.com>2012-08-27 12:13:10 +0300
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 12:33:35 -0700
commit3d22f64bd2671308aa5c6664efd9fff698f7c706 (patch)
tree55765efc769884713ea4fdd0a35ed67e50c0eb52 /include/asm-generic
parent19ecda566529a3cee775def335f5597d6f465b1d (diff)
ARM: dma-mapping: New dma_map_ops->map_page*_at* function
Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Rebase-Id: R6abb22d807d44a6a1e876116c58ab0e58c441e65
Diffstat (limited to 'include/asm-generic')
-rw-r--r--include/asm-generic/dma-mapping-common.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/asm-generic/dma-mapping-common.h b/include/asm-generic/dma-mapping-common.h
index de8bf89940f8..eada2d88cc06 100644
--- a/include/asm-generic/dma-mapping-common.h
+++ b/include/asm-generic/dma-mapping-common.h
@@ -26,6 +26,23 @@ static inline dma_addr_t dma_map_single_attrs(struct device *dev, void *ptr,
return addr;
}
+static inline dma_addr_t dma_map_single_at_attrs(struct device *dev, void *ptr,
+ dma_addr_t handle,
+ size_t size,
+ enum dma_data_direction dir,
+ struct dma_attrs *attrs)
+{
+ struct dma_map_ops *ops = get_dma_ops(dev);
+ dma_addr_t addr;
+
+ kmemcheck_mark_initialized(ptr, size);
+ BUG_ON(!valid_dma_direction(dir));
+ addr = ops->map_page_at(dev, virt_to_page(ptr), handle,
+ (unsigned long)ptr & ~PAGE_MASK, size,
+ dir, attrs);
+ return addr;
+}
+
static inline void dma_unmap_single_attrs(struct device *dev, dma_addr_t addr,
size_t size,
enum dma_data_direction dir,
@@ -172,6 +189,8 @@ dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
}
#define dma_map_single(d, a, s, r) dma_map_single_attrs(d, a, s, r, NULL)
+#define dma_map_single_at(d, a, h, s, r) \
+ dma_map_single_at_attrs(d, a, h, s, r, NULL)
#define dma_unmap_single(d, a, s, r) dma_unmap_single_attrs(d, a, s, r, NULL)
#define dma_map_sg(d, s, n, r) dma_map_sg_attrs(d, s, n, r, NULL)
#define dma_unmap_sg(d, s, n, r) dma_unmap_sg_attrs(d, s, n, r, NULL)