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. | |
LMAC TxPath definitions.
Copyright (C) RivieraWaves 2011-2019
Definition in file txl_cntrl.h.
1.6.1