# include/dmapool.h File Reference

DMA memory pool allocator. More...

`#include <cpu/dmapool.h>`

Include dependency graph for dmapool.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Functions
void | dma_pool_init_coherent_physmem (struct dma_pool *dmapool, struct physmem_pool *phys_pool, unsigned int nr_objects, size_t objsize, unsigned int align_order)
| Initialize a DMA pool using the physmem allocator.

## Detailed Description

DMA memory pool allocator.

This file is just a wrapper around the CPU-specific DMA pool header.

See also:
  mempool.h

- Compiler: IAR EWAVR32 and GNU GCC for AVR32
- Supported devices: All devices
- AppNote:

Author:
  Atmel Corporation: http://www.atmel.com
  Support and FAQ: http://support.atmel.no/

Definition in file dmapool.h.

## Function Documentation

void dma_pool_init_coherent_physmem | ( | struct dma_pool * | dmapool,
|  | struct physmem_pool * | phys_pool,
|  | unsigned int | nr_objects,
|  | size_t | objsize,
|  | unsigned int | align_order |
| ) |  |  |

Initialize a DMA pool using the physmem allocator.

This function will grab enough physical memory for nr_objects from phys_pool and use this to initialize dmapool.

Parameters:

  | dmapool | The DMA pool to be initialized.
  | phys_pool | The physical memory pool from which to grab memory
  | nr_objects | The number of objects in the pool
  | objsize | The size of each object in bytes.
  | align_order | log2 of the minimum object alignment in bytes.

Precondition:
  nr_objects must be at least one.

  There must be enough available memory in phys_pool.

  objsize must be larger than the size of a pointer.

See also:
  dma_pool_init()

Definition at line 30 of file dmapool.c.

References assert, dma_pool_init_coherent_physmem(), physmem_alloc(), PHYSMEM_ALLOC_ERR, and round_up().

Referenced by dma_pool_init_coherent_physmem().

Here is the call graph for this function: