summaryrefslogtreecommitdiff
path: root/include/asm-generic
diff options
context:
space:
mode:
authorKonsta Holtta <kholtta@nvidia.com>2013-07-08 14:58:12 +0300
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 13:27:52 -0700
commit68edd798c139a2ca13aef63810b43fe06be2d235 (patch)
tree1284c85c58fe1855891e02cbdf74ee916fe5f7f4 /include/asm-generic
parent10d773a612d3737b3e3ec84c8ffd8f6db8602ff7 (diff)
dma-mapping: common inline for ops->map_pages()
Add common dma_map_pages_at_attrs() for calling dma_map_ops->map_pages(). Bug 1254010 Bug 1226176 Bug 999937 Change-Id: Ie55fb1b2092fcd66f406b5a2e9a3150b417e996b Signed-off-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-on: http://git-master/r/246110 Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com> Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>
Diffstat (limited to 'include/asm-generic')
-rw-r--r--include/asm-generic/dma-mapping-common.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/asm-generic/dma-mapping-common.h b/include/asm-generic/dma-mapping-common.h
index 1830a1dae45c..3c699b802622 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_pages_at_attrs(struct device *dev,
+ struct page **pages,
+ dma_addr_t handle,
+ size_t count,
+ enum dma_data_direction dir,
+ struct dma_attrs *attrs)
+{
+ struct dma_map_ops *ops = get_dma_ops(dev);
+ dma_addr_t addr;
+
+ BUG_ON(!valid_dma_direction(dir));
+ addr = ops->map_pages(dev, pages, handle, count, 0, attrs);
+ debug_dma_map_page(dev, pages[0], 0, count * PAGE_SIZE, 0, handle,
+ true);
+ return addr;
+}
+
static inline dma_addr_t dma_map_single_at_attrs(struct device *dev, void *ptr,
dma_addr_t handle,
size_t size,