# /space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/hal/hal_dma.h File Reference

Copyright (C) RivieraWaves 2011-2019. More...

`#include "co_int.h"`
`#include "co_bool.h"`
`#include <stddef.h>`
`#include "rwnx_config.h"`
`#include "compiler.h"`
`#include "co_list.h"`
`#include "dma.h"`

Go to the source code of this file.

## Data Structures
struct | hal_dma_desc_tag
| General purpose DMA descriptor definition. More...
struct | hal_dma_env_tag
| Environment structure definition. More...
## Defines
#define | HAL_DMA_POOL (RW_BFMER_EN)
| Indicate if a pool of GP DMA Descriptors have to be allocated.
#define | HAL_DMA_DESC_POOL_SIZE (10)
| Number of descriptors in pool of General Purpose DMA descriptors.
## Typedefs
typedef void(* | cb_dma_func_ptr )(void *, int)
| Pointer to callback function.
## Enumerations
enum | { DMA_DL, DMA_UL, DMA_MAX }
| General purpose DMA direction. More...
## Functions
void | hal_dma_init (void)
| Initialize the general purpose DMA module.
void | hal_dma_push (struct hal_dma_desc_tag *desc, int type)
| Push a DMA request.
void | hal_dma_evt (int dma_queue)
| Handler for the general purpose DMA event.
void | hal_dma_dl_irq (void)
| Interrupt handler for the general purpose DMA download interrupt.
void | hal_dma_ul_irq (void)
| Interrupt handler for the general purpose DMA upload interrupt.
struct hal_dma_desc_tag * | hal_dma_get_desc (void)
| Return a struct hal_dma_desc_tag object extracted from the pool of descriptors.
void | hal_dma_release_desc (struct hal_dma_desc_tag *gp_dma_desc)
| Add back a GP DMA descriptor to the pool of descriptors.
## Variables
struct hal_dma_env_tag | hal_dma_env
| HAL DMA environment variable.

## Detailed Description

Copyright (C) RivieraWaves 2011-2019.

General purpose DMA definitions

Definition in file hal_dma.h.