diff options
Diffstat (limited to 'kernel/include/linux/dmapool.h')
-rw-r--r-- | kernel/include/linux/dmapool.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/kernel/include/linux/dmapool.h b/kernel/include/linux/dmapool.h new file mode 100644 index 000000000..52456aa56 --- /dev/null +++ b/kernel/include/linux/dmapool.h @@ -0,0 +1,37 @@ +/* + * include/linux/dmapool.h + * + * Allocation pools for DMAable (coherent) memory. + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ + +#ifndef LINUX_DMAPOOL_H +#define LINUX_DMAPOOL_H + +#include <asm/io.h> +#include <asm/scatterlist.h> + +struct device; + +struct dma_pool *dma_pool_create(const char *name, struct device *dev, + size_t size, size_t align, size_t allocation); + +void dma_pool_destroy(struct dma_pool *pool); + +void *dma_pool_alloc(struct dma_pool *pool, gfp_t mem_flags, + dma_addr_t *handle); + +void dma_pool_free(struct dma_pool *pool, void *vaddr, dma_addr_t addr); + +/* + * Managed DMA pool + */ +struct dma_pool *dmam_pool_create(const char *name, struct device *dev, + size_t size, size_t align, size_t allocation); +void dmam_pool_destroy(struct dma_pool *pool); + +#endif + |