diff options
author | Mark Brown <broonie@kernel.org> | 2015-01-23 01:32:22 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-01-23 01:32:22 +0000 |
commit | 6e24f851befffc9b048715d436144eae3a09c05d (patch) | |
tree | d6cda035653c05ed0bf0a1a45c33a513713f6de9 /include | |
parent | e0d6b762315b382e8c0aa07631491f47de4cb72b (diff) | |
parent | dd403c2d2cf5c25eb82310bfe70704c0ea8452b7 (diff) |
Merge remote-tracking branch 'lsk/v3.10/topic/dma-mapping' into linux-linaro-lsk
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-generic/dma-mapping-common.h | 9 | ||||
-rw-r--r-- | include/linux/genalloc.h | 7 |
2 files changed, 16 insertions, 0 deletions
diff --git a/include/asm-generic/dma-mapping-common.h b/include/asm-generic/dma-mapping-common.h index de8bf89940f8..a9fd248f5d48 100644 --- a/include/asm-generic/dma-mapping-common.h +++ b/include/asm-generic/dma-mapping-common.h @@ -179,6 +179,15 @@ dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, extern int dma_common_mmap(struct device *dev, struct vm_area_struct *vma, void *cpu_addr, dma_addr_t dma_addr, size_t size); +void *dma_common_contiguous_remap(struct page *page, size_t size, + unsigned long vm_flags, + pgprot_t prot, const void *caller); + +void *dma_common_pages_remap(struct page **pages, size_t size, + unsigned long vm_flags, pgprot_t prot, + const void *caller); +void dma_common_free_remap(void *cpu_addr, size_t size, unsigned long vm_flags); + /** * dma_mmap_attrs - map a coherent DMA allocation into user space * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices diff --git a/include/linux/genalloc.h b/include/linux/genalloc.h index f8d41cb1cbe0..9e8986ae700c 100644 --- a/include/linux/genalloc.h +++ b/include/linux/genalloc.h @@ -106,6 +106,10 @@ extern void gen_pool_set_algo(struct gen_pool *pool, genpool_algo_t algo, extern unsigned long gen_pool_first_fit(unsigned long *map, unsigned long size, unsigned long start, unsigned int nr, void *data); +extern unsigned long gen_pool_first_fit_order_align(unsigned long *map, + unsigned long size, unsigned long start, unsigned int nr, + void *data); + extern unsigned long gen_pool_best_fit(unsigned long *map, unsigned long size, unsigned long start, unsigned int nr, void *data); @@ -113,6 +117,9 @@ extern struct gen_pool *devm_gen_pool_create(struct device *dev, int min_alloc_order, int nid); extern struct gen_pool *dev_get_gen_pool(struct device *dev); +bool addr_in_gen_pool(struct gen_pool *pool, unsigned long start, + size_t size); + #ifdef CONFIG_OF extern struct gen_pool *of_get_named_gen_pool(struct device_node *np, const char *propname, int index); |