/space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/tx/txl/txl_cntrl.h File Reference

LMAC TxPath definitions. More...

#include "co_int.h"
#include "mac.h"
#include "co_status.h"
#include "co_list.h"
#include "tx_swdesc.h"
#include "ke_event.h"
#include "hal_machw.h"
#include "sta_mgmt.h"

Go to the source code of this file.

Data Structures

struct  txl_agg_build_tag
 Structure containing the information about the current A-MPDU being built. More...
struct  txl_mumimo_build_info_tag
 Structure containing the information about the MU-MIMO PPDU being built. More...
struct  txl_list
 Structure of a per-AC Tx list. More...
struct  txl_cntrl_env_tag
 Context of the Tx Control block. More...

Defines

#define TX_AC0_TIMEOUT   5000000
 AC0 queue timeout.
#define TX_AC1_TIMEOUT   2000000
 AC1 queue timeout.
#define TX_AC2_TIMEOUT   400000
 AC2 queue timeout.
#define TX_AC3_TIMEOUT   200000
 AC3 queue timeout.
#define TX_BCN_TIMEOUT   50000
 BCN queue timeout.
#define TX_AC2LLI(ac)   ((ac) + IPC_DMA_LLI_DATA_AC0_TX)
 Conversion from Access Category to corresponding DMA LLI.
#define TX_LLI2AC(idx)   ((idx) - IPC_DMA_LLI_DATA_AC0_TX)
 Conversion from DMA LLI to corresponding Access Category.
#define TX_AC2TIMER(ac)   ((ac) + HAL_AC0_TIMER)
 Conversion from Access Category to corresponding TX timer.
#define TX_LLICTRL(ac, irqenable)
 Conversion from Access Category to corresponding bridge DMA control field.
#define AC_BCN   AC_MAX
 Index of the beacon queue.
#define TX_NTX_2_ANTENNA_SET(ntx)   ((CO_BIT((ntx) + 1) - 1) << ANTENNA_SET_PT_OFT)
 Default TX antenna mask.
#define MU_USER_MASK   (CO_BIT(RW_USER_MAX) - 1)
 Default TX antenna mask.

Enumerations

enum  { THD_CHK_STATE, BAR_THD_CHK_STATE }
 

Tx trigger descriptor status check states.

More...
enum  {
  AGG_FORMATTED = 0x01, AGG_DOWNLOADED = 0x02, AGG_ALLOC = 0x04, AGG_FIRST_DOWNLOADED = 0x08,
  AGG_DONE = 0x10, AGG_BA_RECEIVED = 0x20, AGG_BA_VALID = 0x40, AGG_INT = 0x80,
  AGG_MU = 0x100, AGG_TB = 0x200
}
 

Aggregation process status bits.

More...
enum  { SU_PACKET, MU_PACKET, MU_PAUSED, MU_RESTART_CHECK }
 

Status of a packet pushed for aggregation, when MU-MIMO is enabled.

More...

Functions

External API



__INLINE bool txl_sleep_check (void)
 Get the status of TX path, i.e if some packets are currently queued for transmission.
__INLINE uint16_t txl_get_seq_ctrl (void)
 Get the current sequence control field to be used for non-QoS frames.
void txl_cntrl_init (void)
 Initialize the LMAC TX path.
void txl_reset (void)
 TX path reset function.
bool txl_cntrl_tx_check (struct vif_info_tag *vif)
 Check if a packet can be transmitted on a given VIF.
bool txl_cntrl_push (struct txdesc *txdesc, uint8_t access_category)
 Push a Tx descriptor in an RA/TID queue.
bool txl_cntrl_push_int (struct txdesc *txdesc, uint8_t access_category)
 Push an internal frame Tx descriptor for transmission.
void txl_transmit_trigger (void)
 Function to be called on transmission trigger IRQ.
void txl_prot_trigger (void)
 Function to be called on TX protocol trigger IRQ (e.g.
void txl_cntrl_dma_isr (void)
 Perform operations on payloads that have been transfered from host memory.
void txl_cntrl_halt_ac (uint8_t access_category)
 Halt the MAC DMA of the specified queue.
void txl_cntrl_flush_ac (uint8_t access_category, uint32_t status)
 Flush all the descriptors of the queue passed as parameter.
void txl_current_desc_get (int access_category, struct tx_hd **thd)
 This function returns the pointer to the first TX Header descriptor chained to the MAC HW queue passed as parameter.
void txl_cntrl_inc_pck_cnt (void)
 This function increments the TX path packet counter.
bool txl_payload_alloc (struct txdesc *txdesc, uint8_t access_category, uint8_t user_idx)
 Prepare the transfer of payload from host memory to emb memory.
void txl_cntrl_newhead (uint32_t desc, uint8_t access_category)
 NX_FULLY_HOSTED.
void txl_frame_exchange_chain (struct tx_hd *first_thd, struct tx_hd *last_thd, uint8_t access_category)
 Chain a new frame exchange to the MAC HW.
void txl_free_done_mpdu (struct txdesc *txdesc, uint8_t access_category, uint8_t user_idx)
 Free a MPDU that is marked as transmitted by the HW, and launch the download of a subsequent MPDU.
void txl_check_done_amsdu_subframe (struct txdesc *txdesc, uint8_t access_category, uint8_t user_idx)
 Check transmission status of A-MSDU sub-frames.

Variables

const uint32_t txl_prep_evt_bit [NX_TXQ_CNT]
 Table mapping the TX prepare event bit to the queue index.
struct txl_cntrl_env_tag txl_cntrl_env
 Tx Control context variable.

Detailed Description

LMAC TxPath definitions.

Copyright (C) RivieraWaves 2011-2019

Definition in file txl_cntrl.h.


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