diff options
author | Hiroshi Doyu <hdoyu@nvidia.com> | 2012-08-27 12:13:10 +0300 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 12:33:35 -0700 |
commit | 3d22f64bd2671308aa5c6664efd9fff698f7c706 (patch) | |
tree | 55765efc769884713ea4fdd0a35ed67e50c0eb52 /include/asm-generic | |
parent | 19ecda566529a3cee775def335f5597d6f465b1d (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.h | 19 |
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) |