Provided by: linux-doc-2.6.15_2.6.15-23.39_all bug


       dma_pool_create  - Creates a pool of consistent memory blocks, for dma.


       struct dma_pool * dma_pool_create  (const char * name,
                                              struct device * dev,
                                              size_t size, size_t align,
                                              size_t allocation);


       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

              returned blocks won’t cross this boundary (or zero)




       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.