/space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/rx/rxl/v10/rxl_hwdesc.c File Reference

Implementation of the API function used to initialize the pools. More...

#include "rxl_hwdesc.h"
#include "ke_event.h"
#include "rxl_cntrl.h"
#include "rxu_cntrl.h"
#include "co_utils.h"
#include "macif.h"
#include "txl_cfm.h"
#include "co_endian.h"
#include "reg_mac_pl.h"
#include "reg_mac_core.h"

Go to the source code of this file.

Data Structures

struct  rxl_hwdesc_env_tag
 Buffer Management control structure. More...

Functions

static void rxl_hd_append (struct rx_dmadesc *desc)
 Appends a descriptor to the list visible to HW Function to initialize the freed HW desc and tail it to the list of HW descriptors.
static void rxl_pd_append (struct rx_pbd *first, struct rx_pbd *last, struct rx_pbd *spare)
 Appends a list of RX payload buffer descriptors to the list visible to HW Function to initialize the freed HW desc and tail it to the list of HW descriptors.
static bool rxl_rxcntrl_frame (struct rxdesc *rxdesc)
 This function processes the received control frames.
static struct rx_payloaddescrxl_payload_transfer (struct rx_payloaddesc **curr_pd, uint16_t upload_len, uint32_t hostbuf, uint16_t *payl_offset, int dma_idx, int irq_en)
 Upload a payload to a higher layer buffer.
static void rxl_go_to_last_rbd (struct rxdesc *rxdesc, struct rx_payloaddesc *pd, struct rx_payloaddesc *prev_pd)
 Loop on the payload descriptors until the RX_PD_LASTBUF flag is found.
void rxl_hwdesc_init (void)
 Initialize the pools of element Function to initialize the Rx buffer and descriptor pools.
void rxl_hwdesc_monitor (bool enable)
 This function is called when an interface is changing its type, in order to configure correctly the RX path for either monitor or active mode.
void rxl_frame_release (struct rxdesc *rxdesc)
 This function cleans up the complete frame data structures.
void rxl_mpdu_copy (struct rx_pbd *pbd, uint16_t length, uint16_t offset, uint32_t *dst)
 Do a SW copy of a received MPDU.
void rxl_mpdu_partial_transfer (struct rxdesc *rxdesc, uint16_t upload_len, uint32_t hostbuf, uint16_t payl_offset, cb_rx_dma_func_ptr cb, void *env)
 Do a partial upload of a MPDU to a host buffer.
void rxl_mpdu_transfer (struct rxdesc *rxdesc)
 This function programs the DMA transfer of the received payload to the host memory.
void rxl_mpdu_free (struct rxdesc *rxdesc)
 Free the HW descriptors attached to the SW descriptor passed as parameter.
struct rxdescrxl_rxdesc_get (void)
 Get the RX descriptor pointing to the first MPDU ready for processing.
void rxl_rxdesc_ready_for_processing (struct rxdesc *rxdesc)
 Indicate that the MPDU associated to the descriptor is ready for processing.
void rxl_mpdu_isr (void)
 Service routine for the MAC HW RX interrupt.
void rxl_immediate_frame_get (void)
 Function used to get the immediate frame that was indicated from its dedicated interrupt.
void rxl_current_desc_get (struct rx_hd **rhd, struct rx_pbd **rbd)
 This function returns the pointer to the first RX Header and Buffer descriptors chained to the MAC HW.

Variables

static struct rxdesc rx_swdesc_tab [NX_RXDESC_CNT]
 Array of RX SW descriptors.
static struct rxl_hwdesc_env_tag rx_hwdesc_env
 RXL HW descriptor environment variable.
struct rx_dmadesc rx_dma_hdrdesc [NX_RXDESC_CNT]
 Array of struct containing the RX header descriptors.
struct rx_payloaddesc rx_payload_desc [NX_RX_PAYLOAD_DESC_CNT]
 Array of struct containing the RX buffer descriptors.

Detailed Description

Implementation of the API function used to initialize the pools.

Copyright (C) RivieraWaves 2011-2019

Definition in file rxl_hwdesc.c.


Generated on 14 Jan 2020 for Ceva-RW WLAN FullMAC SW documentation by  doxygen 1.6.1