# /space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/tx/txl/txl_buffer.c File Reference

Management of Tx payload buffers. More...

`#include "co_int.h"`
`#include "co_bool.h"`
`#include "txl_buffer.h"`
`#include "txl_cntrl.h"`
`#include "txl_agg.h"`
`#include "macif.h"`
`#include "dbg_assert.h"`
`#include "dbg.h"`
`#include "co_utils.h"`
`#include "txu_cntrl.h"`
`#include "bfr.h"`

Go to the source code of this file.

## Functions
static struct dma_desc * | txl_buffer_bfr_dma_desc_conf (struct txdesc *txdesc, struct dma_desc *dma_desc_bfr, struct dma_desc *dma_desc)
| Add the DMA descriptor used for the report download if required.
static uint32_t | txl_buffer_get_params (struct txdesc *txdesc, uint16_t *size, uint16_t *head_len, uint8_t pkt_idx)
| Get the different parameters (head_len, number of pool elements to allocate, etc.
static struct txl_buffer_tag * | txl_buffer_get_space (struct txl_buffer_idx_tag *idx, uint32_t needed, uint16_t head_len, uint32_t *remaining)
| Perform the allocation in the buffer space based on the parameters.
static void | txl_buffer_transfer (struct txdesc *txdesc, uint8_t access_category, struct txl_buffer_tag *buf, struct txl_buffer_idx_tag *idx, uint16_t size, uint32_t remaining, uint16_t head_len, uint8_t pkt_idx)
| Create the platform DMA descriptor list that will be used to perform the download of the payload.
External API
void | txl_buffer_reinit (void)
| Re-initializes the Tx buffer area (upon recovery procedure).
void | txl_buffer_reset (uint8_t access_category)
| Reset a Tx pool.
struct txl_buffer_tag * | txl_buffer_alloc (struct txdesc *txdesc, uint8_t access_category, uint8_t user_idx, uint8_t pkt_idx)
| Allocates a Tx buffer.
bool | txl_buffer_free (struct txl_buffer_tag *buf, uint8_t access_category)
| Releases a Tx buffer.
void | txl_buffer_free_all (struct txdesc *txdesc, uint8_t access_category)
| Free the Tx buffer(s) attached to a TX descriptor.
void | txl_buffer_init (void)
| NX_FULLY_HOSTED.
## Variables
struct txl_buffer_env_tag | txl_buffer_env
| Environment of the Tx buffer management module.

## Detailed Description

Management of Tx payload buffers.

Copyright (C) RivieraWaves 2011-2019

Definition in file txl_buffer.c.