diff options
author | Konsta Holtta <kholtta@nvidia.com> | 2013-07-08 14:58:12 +0300 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 13:27:52 -0700 |
commit | 68edd798c139a2ca13aef63810b43fe06be2d235 (patch) | |
tree | 1284c85c58fe1855891e02cbdf74ee916fe5f7f4 /include/asm-generic | |
parent | 10d773a612d3737b3e3ec84c8ffd8f6db8602ff7 (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.h | 17 |
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, |