linux/include/linux/dmapool.h
<<
>>
Prefs
   1/*
   2 * include/linux/dmapool.h
   3 *
   4 * Allocation pools for DMAable (coherent) memory.
   5 *
   6 * This file is licensed under  the terms of the GNU General Public 
   7 * License version 2. This program is licensed "as is" without any 
   8 * warranty of any kind, whether express or implied.
   9 */
  10
  11#ifndef LINUX_DMAPOOL_H
  12#define LINUX_DMAPOOL_H
  13
  14#include <asm/io.h>
  15#include <asm/scatterlist.h>
  16
  17struct device;
  18
  19struct dma_pool *dma_pool_create(const char *name, struct device *dev, 
  20                        size_t size, size_t align, size_t allocation);
  21
  22void dma_pool_destroy(struct dma_pool *pool);
  23
  24void *dma_pool_alloc(struct dma_pool *pool, gfp_t mem_flags,
  25                     dma_addr_t *handle);
  26
  27void dma_pool_free(struct dma_pool *pool, void *vaddr, dma_addr_t addr);
  28
  29/*
  30 * Managed DMA pool
  31 */
  32struct dma_pool *dmam_pool_create(const char *name, struct device *dev,
  33                                  size_t size, size_t align, size_t allocation);
  34void dmam_pool_destroy(struct dma_pool *pool);
  35
  36#endif
  37
  38