pci_pool_create(9)
NAME
pci_pool_create - Creates a pool of pci consistent memory
blocks, for dma.
SYNOPSIS
struct pci_pool * pci_pool_create (const char *name, struct pci_dev *pdev, size_t size, size_t align, size_t allocation, int flags);
ARGUMENTS
name name of pool, for diagnostics
pdev pci 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)
- flags SLAB_* flags (not all are supported).
DESCRIPTION
Returns a pci allocation pool with the requested charac
teristics, or null if one can't be created. Given one of
these pools, pci_pool_alloc may be used to allocate mem
ory. 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 align
ment.
- If allocation is nonzero, objects returned from
pci_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.