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

Implementation of Rx path APIs. More...

`#include "co_int.h"`
`#include "co_bool.h"`
`#include <string.h>`
`#include "compiler.h"`
`#include "rxl_cntrl.h"`
`#include "ke_event.h"`
`#include "mac_frame.h"`
`#include "ps.h"`
`#include "sta_mgmt.h"`
`#include "vif_mgmt.h"`
`#include "macif.h"`
`#include "dma.h"`
`#include "hal_machw.h"`
`#include "mm.h"`
`#include "rxl_hwdesc.h"`
`#include "dbg.h"`
`#include "mac_ie.h"`
`#include "p2p.h"`
`#include "td.h"`
`#include "bfr.h"`
`#include "rxu_cntrl.h"`
`#include "apm.h"`
`#include "tdls.h"`

Go to the source code of this file.

## Defines
#define | RX_TIMEOUT 200
| Traffic Detection Module Definition.
#define | RX_FRAME_PREP_THD 4
| Threshold of frame upload preparation before which we handle the DMA interrupts.
## Functions
__INLINE struct rx_upload_cntrl_tag * | rxl_upload_cntrl_pick_pending (void)
| Pick an upload control descriptor from the pending queue.
__INLINE struct rx_upload_cntrl_tag * | rxl_upload_cntrl_pop_pending (void)
| Pop an upload control descriptor from the pending queue.
static bool | rxl_lli_done (uint16_t next_lli_cnt)
| This function checks if the IPC DMA already processed the transfers up to the target count.
static void | rxl_pm_check (uint8_t *frame, uint8_t sta_idx, uint8_t vif_idx)
| This function processes Power Management information in a received frames.
static uint8_t | rxl_frame_handle (struct rxdesc *rxdesc, bool *dont_free)
| This function processes the received frames that could carry useful information for some LMAC features (connection monitoring, power-save mode, etc.
static void | rxl_cntrl_init (void)
| This function initializes the Rx Context Data.
static void | rxl_host_irq_mitigation_timeout_set (void)
| Start the host interrupt mitigation timer.
void | rxl_host_irq_mitigation_update (void *env)
| Update uploaded packet counter upon a frame upload and call the indication function if the counter passes the threshold.
void | rxl_timeout_int_handler (void)
| Handling of the SW RX timeout.
void | rxl_init (void)
| This function initializes the RX path.
void | rxl_cntrl_evt (int dummy)
| RX path background packet handler.
void | rxl_dma_int_handler (void)
| RX IPC DMA interrupt handler.
void | rxl_dma_evt (int dummy)
| RX DMA event handler.
void | rxl_reset (void)
| RX path reset function.
## Variables
struct rxl_cntrl_env_tag | rxl_cntrl_env
| RXL module environment variable.

## Detailed Description

Implementation of Rx path APIs.

Copyright (C) RivieraWaves 2011-2019

Definition in file rxl_cntrl.c.