Provided by:
linux-doc-2.6.15_2.6.15-23.39_all 
NAME
dma_pool_create - Creates a pool of consistent memory blocks, for dma.
SYNOPSIS
struct dma_pool * dma_pool_create (const char * name,
struct device * dev,
size_t size, size_t align,
size_t allocation);
ARGUMENTS
name name of pool, for diagnostics
dev device that will be doing the DMA
size size of the blocks in this pool.
align alignment requirement for blocks; must be a power of two
allocation
returned blocks won’t cross this boundary (or zero)
CONTEXT
!in_interrupt
DESCRIPTION
Returns a dma allocation pool with the requested characteristics, or
null if one can’t be created. Given one of these pools, dma_pool_alloc
may be used to allocate memory. Such memory will all have
‘‘consistent’’ DMA mappings, accessible by the device and its driver
without using cache flushing primitives. The actual size of blocks
allocated may be larger than requested because of alignment.
If allocation is nonzero, objects returned from dma_pool_alloc won’t
cross that size boundary. This is useful for devices which have
addressing restrictions on individual DMA transfers, such as not
crossing boundaries of 4KBytes.