/space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/hal/hal_desc.h File Reference

File containing the definition of HW descriptors. More...

#include "co_int.h"
#include "mac.h"
#include "mac_frame.h"
#include "dma.h"
#include "co_math.h"
#include "co_list.h"
#include "phy.h"
#include "dbg.h"

Go to the source code of this file.

Data Structures

struct  machdr
 MAC header content as defined in the MAC HW User Manual transmit MPDU template. More...
struct  tx_policy_tbl
 Policy Table Structure used to store Policy Table Information used by MAC HW to prepare transmit vector to used by PHY. More...
struct  tx_compressed_policy_tbl
 Compressed Policy Table Structure used to store Policy Table Information used by MAC HW to get TX information for secondary users in case of MU-MIMO PPDU transmission. More...
struct  tx_hd
 Definition of a TX header descriptor. More...
struct  tx_pbd
 Definition of a TX payload buffer descriptor. More...
struct  tx_dmadesc
 Definition of a TX DMA descriptor. More...
struct  rx_vector_1
 Structure for receive Vector 1. More...
struct  rx_vector_2
 Structure for receive Vector 2. More...
struct  rx_hd
 Element in the pool of RX header descriptor. More...
struct  rx_pbd
 Element in the pool of rx payload buffer descriptors. More...
struct  rx_dmadesc
 Definition of a Rx DMA header descriptor. More...
struct  rx_payloaddesc
 Definition of a Rx DMA payload descriptor. More...
struct  tx_cfm_tag
 Structure indicating the status and other information about the transmission. More...
struct  tx_hw_desc
 Definition of a TX confirmation descriptor. More...
struct  debug_info_tag
 Control structure used for the debug information dump. More...

Defines

#define RADAR_PULSE_MAX   4
 Number of pulses in a radar event structure.
#define RADAR_EVENT_MAX   10
 Number of radar event structures.
#define UNSUP_RX_VECT_MAX   8
 Number of rx vectors of unsupported frames.
#define TX_HEADER_DESC_PATTERN   0xCAFEBABE
 uPattern for TX header descriptor.
#define TX_PAYLOAD_DESC_PATTERN   0xCAFEFADE
 uPattern for TX buffer descriptor
#define RX_HEADER_DESC_PATTERN   0xBAADF00D
 uPattern for RX header descriptor.
#define RX_PAYLOAD_DESC_PATTERN   0xC0DEDBAD
 uPattern for RX payload descriptor.
#define TBD_DONE_HW   CO_BIT(31)
 Flag indicating if HW handled the buffer.
#define TBD_INTERRUPT_EN   CO_BIT(0)
 Bit allowing to request HW to generate an interrupt upon a payload buffer transmission.
#define SOUNDING_TX_BIT   CO_BIT(0)
 Sounding of PPDU Frame Transmission (Bit 0).
#define SMOOTHING_TX_BIT   CO_BIT(1)
 Smoothing for PPDU frames (Bit 1).
#define SMOOTHING_PROT_TX_BIT   CO_BIT(2)
 Smoothing for Control frames (Bit 2).
#define USE_BW_SIG_TX_BIT   CO_BIT(3)
 Use BW signaling bit.
#define DYN_BW_TX_BIT   CO_BIT(4)
 Dynamic BW.
#define DOZE_ALLOWED_TX_BIT   CO_BIT(5)
 Doze allowed by AP during TXOP.
#define CONT_TX_BIT   CO_BIT(6)
 Continuous transmit.
#define USER_POS_OFT   12
 User Position field offset.
#define USER_POS_MASK   (0x3 << USER_POS_OFT)
 User Position field mask.
#define USE_RIFS_TX_BIT   CO_BIT(14)
 Use RIFS for Transmission (Bit 14).
#define USE_MUMIMO_TX_BIT   CO_BIT(15)
 Use MU-MIMO for Transmission (Bit 15).
#define GID_TX_OFT   16
 GroupId field offset.
#define GID_TX_MASK   (0x3F << GID_TX_OFT)
 GroupId field mask.
#define PAID_TX_OFT   22
 Partial AID field offset.
#define PAID_TX_MASK   (0x1FF << PAID_TX_OFT)
 Partial AID field mask.
#define PROT_FRM_DURATION_OFT   16
 Protection Frame Duration offset.
#define PROT_FRM_DURATION_MSK   (0xFFFF << PROT_FRM_DURATION_OFT)
 Protection Frame Duration mask.
#define WRITE_ACK   CO_BIT(14)
 Set if ACK has to be passed to SW.
#define LOW_RATE_RETRY   CO_BIT(13)
 Set if lower rates have to be used for retries.
#define LSTP_PROT   CO_BIT(12)
 L-SIG TXOP Protection for protection frame.
#define LSTP   CO_BIT(11)
 L-SIG TXOP Protection.
#define EXPECTED_ACK_OFT   9
 Expected Acknowledgment offset.
#define EXPECTED_ACK_MSK   (0x3 << EXPECTED_ACK_OFT)
 Expected Acknowledgment mask.
#define EXPECTED_ACK_NO_ACK   (0x0 << EXPECTED_ACK_OFT)
 No acknowledgment.
#define EXPECTED_ACK_NORMAL_ACK   (0x1 << EXPECTED_ACK_OFT)
 Normal acknowledgment.
#define EXPECTED_ACK_BLOCK_ACK   (0x2 << EXPECTED_ACK_OFT)
 Uncompressed block acknowledgment.
#define EXPECTED_ACK_COMPRESSED_BLOCK_ACK   (0x3 << EXPECTED_ACK_OFT)
 Compressed block acknowledgment.
#define TS_VALID_BIT   CO_BIT(0)
 Type and Subtype fields Valid bit.
#define FRM_TYPE_OFT   1
 Type field offset.
#define FRM_TYPE_MSK   (0x3<<FRM_TYPE_OFT)
 Type field mask.
#define FRM_TYPE_MNG   (0<<FRM_TYPE_OFT)
 Management type.
#define FRM_TYPE_CNTL   (1<<FRM_TYPE_OFT)
 Control type.
#define FRM_TYPE_DATA   (2<<FRM_TYPE_OFT)
 Data type.
#define FRM_SUBTYPE_OFT   3
 Subtype field offset.
#define FRM_SUBTYPE_MSK   (0xF<<FRM_SUBTYPE_OFT)
 Subtype field mask.
#define FRM_CNTL_SUBTYPE_BAR   (8<<FRM_SUBTYPE_OFT)
 BAR subtype.
#define FRM_CNTL_SUBTYPE_BA   (9<<FRM_SUBTYPE_OFT)
 BA subtype.
#define INTERRUPT_EN_TX   CO_BIT(8)
 Bit indicating if an interrupt has to be set or not once packet is transmitted.
#define NB_BLANK_DELIM_OFT   9
 Offset of Number of Blank delimiters.
#define NB_BLANK_DELIM_MSK   (0x3FF << NB_BLANK_DELIM_OFT)
 Mask of Number of Blank delimiters.
#define WHICHDESC_OFT   19
 WhichDescriptor definition - contains aMPDU bit and position value Offset of WhichDescriptor field in the MAC CONTROL INFO 2 word.
#define WHICHDESC_MSK   (0x07 << WHICHDESC_OFT)
 Mask of the WhichDescriptor field.
#define WHICHDESC_UNFRAGMENTED_MSDU   (0x00 << WHICHDESC_OFT)
 Only 1 THD possible, describing an unfragmented MSDU.
#define WHICHDESC_FRAGMENTED_MSDU_FIRST   (0x01 << WHICHDESC_OFT)
 THD describing the first MPDU of a fragmented MSDU.
#define WHICHDESC_FRAGMENTED_MSDU_INT   (0x02 << WHICHDESC_OFT)
 THD describing intermediate MPDUs of a fragmented MSDU.
#define WHICHDESC_FRAGMENTED_MSDU_LAST   (0x03 << WHICHDESC_OFT)
 THD describing the last MPDU of a fragmented MSDU.
#define WHICHDESC_AMPDU_EXTRA   (0x04 << WHICHDESC_OFT)
 THD for extra descriptor starting an AMPDU.
#define WHICHDESC_AMPDU_FIRST   (0x05 << WHICHDESC_OFT)
 THD describing the first MPDU of an A-MPDU.
#define WHICHDESC_AMPDU_INT   (0x06 << WHICHDESC_OFT)
 THD describing intermediate MPDUs of an A-MPDU.
#define WHICHDESC_AMPDU_LAST   (0x07 << WHICHDESC_OFT)
 THD describing the last MPDU of an A-MPDU.
#define AMPDU_OFT   21
 aMPDU bit offset
#define AMPDU_BIT   CO_BIT(AMPDU_OFT)
 aMPDU bit
#define UNDER_BA_SETUP_BIT   CO_BIT(22)
 Under BA setup bit.
#define DONT_TOUCH_DUR   CO_BIT(28)
 Don't touch duration bit.
#define NUM_RTS_RETRIES_OFT   0
 Number of RTS frame retries offset.
#define NUM_RTS_RETRIES_MSK   (0xFF << NUM_RTS_RETRIES_OFT)
 Number of RTS frame retries mask.
#define NUM_MPDU_RETRIES_OFT   8
 Number of MPDU frame retries offset.
#define NUM_MPDU_RETRIES_MSK   (0xFF << NUM_MPDU_RETRIES_OFT)
 Number of MPDU frame retries mask.
#define RETRY_LIMIT_REACHED_BIT   CO_BIT(16)
 Retry limit reached: frame unsuccessful.
#define LIFETIME_EXPIRED_BIT   CO_BIT(17)
 Frame lifetime expired: frame unsuccessful.
#define BA_FRAME_RECEIVED_BIT   CO_BIT(18)
 BA frame not received - valid only for MPDUs part of AMPDU.
#define HE_TB_TX_BIT   CO_BIT(22)
 Frame was transmitted in a HE TB PPDU - Set by SW.
#define FRAME_SUCCESSFUL_TX_BIT   CO_BIT(23)
 Frame successful by TX DMA: Ack received successfully.
#define A_MPDU_LAST   (0x0F << 26)
 Last MPDU of an A-MPDU.
#define BW_TX_OFT   24
 Transmission bandwidth offset.
#define BW_TX_MSK   (0x3 << BW_TX_OFT)
 Transmission bandwidth mask.
#define BW_20MHZ_TX   (0x0 << BW_TX_OFT)
 Transmission bandwidth - 20MHz.
#define BW_40MHZ_TX   (0x1 << BW_TX_OFT)
 Transmission bandwidth - 40MHz.
#define BW_80MHZ_TX   (0x2 << BW_TX_OFT)
 Transmission bandwidth - 80MHz.
#define BW_160MHZ_TX   (0x3 << BW_TX_OFT)
 Transmission bandwidth - 160MHz.
#define DESC_DONE_TX_BIT   CO_BIT(31)
 Descriptor done bit: Set by HW for TX DMA.
#define DESC_DONE_SW_TX_BIT   CO_BIT(30)
 Descriptor done bit: Set by SW for TX DMA.
#define RXL_HWDESC_RXV_LEN   40
 Length of the receive vectors.
Policy table definitions



#define RATE_CONTROL_STEPS   4
 Number of rate control steps in the policy table.
#define POLICY_TABLE_PATTERN   0xBADCAB1E
 uPattern for Policy Table
#define BF_FORM_EXT_PT_OFT   3
 Beam Forming Frame Exchange offset.
#define BF_FORM_EXT_PT_MASK   (0x1 << BF_FORM_EXT_PT_OFT)
 Beam Forming Frame Exchange mask.
#define NO_EXTN_SS_PT_OFT   4
 Number of Extension Spatial Streams offset.
#define NO_EXTN_SS_PT_MASK   (0x3 << NO_EXTN_SS_PT_OFT)
 Number of Extension Spatial Streams mask.
#define FEC_CODING_PT_OFT   6
 FEC Coding offset.
#define FEC_CODING_PT_BIT   CO_BIT(FEC_CODING_PT_OFT)
 FEC Coding bit.
#define STBC_PT_OFT   7
 Space Time Block Coding offset.
#define STBC_PT_MASK   (0x3 << STBC_PT_OFT)
 Space Time Block Coding mask.
#define NX_TX_PT_OFT   14
 Number of Transmit Chains for PPDU offset.
#define NX_TX_PT_MASK   (0x7 << NX_TX_PT_OFT)
 Number of Transmit Chains for PPDU mask.
#define NX_TX_PROT_PT_OFT   17
 Number of Transmit Chains for Protection Frame offset.
#define NX_TX_PROT_PT_MASK   (0x7 << NX_TX_PROT_PT_OFT)
 Number of Transmit Chains for Protection Frame mask.
#define DOPPLER_OFT   20
 Doppler offset.
#define DOPPLER_BIT   CO_BIT(DOPPLER_OFT)
 Doppler bit.
#define SPATIAL_REUSE_OFT   24
 Spatial reuse offset.
#define SPATIAL_REUSE_MASK   (0xF << SPATIAL_REUSE_OFT)
 Spatial reuse mask.
#define ANTENNA_SET_PT_OFT   0
 Antenna Set offset.
#define ANTENNA_SET_PT_MASK   0XFF
 Antenna Set mask.
#define SMM_INDEX_PT_OFT   8
 Spatial Map Matrix Index offset.
#define SMM_INDEX_PT_MASK   (0XFF << SMM_INDEX_PT_OFT)
 Spatial Map Matrix Index mask.
#define BMFED_OFT   16
 Beamformed Offset.
#define BMFED_BIT   CO_BIT(BMFED_OFT)
 Beamformed Bit.
#define BMCHANGE_OFT   17
 Beam Change Offset.
#define BMCHANGE_BIT   CO_BIT(BMCHANGE_OFT)
 Beam Change Bit.
#define UPLINK_FLAG_OFT   18
 Uplink Flag Offset.
#define UPLINK_FLAG_BIT   CO_BIT(UPLINK_FLAG_OFT)
 Uplink Flag Bit.
#define BSS_COLOR_OFT   20
 BSS Color offset.
#define BSS_COLOR_MASK   (0X3F << BSS_COLOR_OFT)
 BSS Color mask.
#define PKT_EXTENSION_OFT   26
 Packet Extension offset.
#define PKT_EXTENSION_MASK   (0X07 << PKT_EXTENSION_OFT)
 Packet Extension mask.
#define KEYSRAM_INDEX_OFT   0
 Key Storage RAM Index offset.
#define KEYSRAM_INDEX_MASK   (0X3FF << KEYSRAM_INDEX_OFT)
 Key Storage RAM Index mask.
#define KEYSRAM_INDEX_RA_OFT   10
 Key Storage RAM Index for Receiver Address offset.
#define KEYSRAM_INDEX_RA_MASK   (0X3FF << KEYSRAM_INDEX_RA_OFT)
 Key Storage RAM Index for Receiver Address mask.
#define LONG_RETRY_LIMIT_OFT   0
 dot11LongRetryLimit MIB Value offset
#define LONG_RETRY_LIMIT_MASK   (0XFF << LONG_RETRY_LIMIT_OFT)
 dot11LongRetryLimit MIB Value mask
#define SHORT_RETRY_LIMIT_OFT   8
 dot11ShortRetryLimit MIB Value offset
#define SHORT_RETRY_LIMIT_MASK   (0XFF << SHORT_RETRY_LIMIT_OFT)
 dot11ShortRetryLimit MIB Value mask
#define RTS_THRSHOLD_OFT   16
 dot11RtsThrshold MIB Value offset
#define RTS_THRSHOLD_MASK   (0XFF << RTS_THRSHOLD_OFT)
 dot11RtsThrshold MIB Value mask
#define MCS_INDEX_TX_RCX_OFT   0
 MCS Index offset.
#define MCS_INDEX_TX_RCX_MASK   (0X7F << MCS_INDEX_TX_RCX_OFT)
 MCS Index mask.
#define BW_TX_RCX_OFT   7
 Bandwidth for transmission offset.
#define BW_TX_RCX_MASK   (0X3 << BW_TX_RCX_OFT)
 Bandwidth for transmission mask.
#define SHORT_GI_TX_RCX_OFT   9
 Short Guard Interval for Transmission offset.
#define SHORT_GI_TX_RCX_MASK   (0x1 << SHORT_GI_TX_RCX_OFT)
 Short Guard Interval for Transmission mask.
#define PRE_TYPE_TX_RCX_OFT   10
 Preamble type for 11b Transmission offset.
#define PRE_TYPE_TX_RCX_MASK   (0x1 << PRE_TYPE_TX_RCX_OFT)
 Preamble type for 11b Transmission mask.
#define HE_GI_TYPE_TX_RCX_OFT   9
 Guard Interval/Preamble type for Transmission offset.
#define HE_GI_TYPE_TX_RCX_MASK   (0x3 << HE_GI_TYPE_TX_RCX_OFT)
 Guard Interval/Preamble for Transmission mask.
#define GI_TYPE_0_8   (0x0 << HE_GI_TYPE_TX_RCX_OFT)
 HE 0.8us GI.
#define GI_TYPE_1_6   (0x1 << HE_GI_TYPE_TX_RCX_OFT)
 HE 1.6us GI.
#define GI_TYPE_3_2   (0x2 << HE_GI_TYPE_TX_RCX_OFT)
 HE 3.2us GI.
#define FORMAT_MOD_TX_RCX_OFT   11
 Format of the modulation offset.
#define FORMAT_MOD_TX_RCX_MASK   (0X7 << FORMAT_MOD_TX_RCX_OFT)
 Format of the modulation mask.
#define PROT_FRM_EX_RCX_OFT   14
 Type of NAV protection frame exchange offset.
#define PROT_FRM_EX_RCX_MASK   (0X7 << PROT_FRM_EX_RCX_OFT)
 Type of NAV protection frame exchange mask.
#define PROT_NO_PROT   (0x0 << PROT_FRM_EX_RCX_OFT)
 No protection.
#define PROT_SELF_CTS   (0x1 << PROT_FRM_EX_RCX_OFT)
 Self-CTS.
#define PROT_RTS_CTS   (0x2 << PROT_FRM_EX_RCX_OFT)
 RTS-CTS with intended receiver.
#define PROT_RTS_CTS_WITH_QAP   (0x3 << PROT_FRM_EX_RCX_OFT)
 RTS-CTS with QAP.
#define PROT_STBC   (0x4 << PROT_FRM_EX_RCX_OFT)
 STBC protection.
#define MCS_INDEX_PROT_TX_RCX_OFT   17
 MCS Index for protection frame offset.
#define MCS_INDEX_PROT_TX_RCX_MASK   (0x7F << MCS_INDEX_PROT_TX_RCX_OFT)
 MCS Index for protection frame mask.
#define BW_PROT_TX_RCX_OFT   24
 Bandwidth for protection frame transmission offset.
#define BW_PROT_TX_RCX_MASK   (0x3 << BW_PROT_TX_RCX_OFT)
 Bandwidth for protection frame transmission mask.
#define FORMAT_MOD_PROT_TX_RCX_OFT   26
 Format of the modulation for the protection frame offset.
#define FORMAT_MOD_PROT_TX_RCX_MASK   (0x7 << FORMAT_MOD_PROT_TX_RCX_OFT)
 Format of the modulation for the protection frame mask.
#define N_RETRY_RCX_OFT   29
 Number of retries at this rate offset.
#define N_RETRY_RCX_MASK   (0x7 << N_RETRY_RCX_OFT)
 Number of retries at this rate mask.
#define FORMATMOD_NON_HT   0
 Non-HT format.
#define FORMATMOD_NON_HT_DUP_OFDM   1
 Non-HT duplicate OFDM format.
#define FORMATMOD_HT_MF   2
 HT mixed mode format.
#define FORMATMOD_HT_GF   3
 HT greenfield format.
#define FORMATMOD_VHT   4
 VHT format.
#define FORMATMOD_HE_SU   5
 HE-SU format.
#define FORMATMOD_HE_MU   6
 HE-MU format.
#define FORMATMOD_HE_ER   7
 HE-ER format.
#define BW_20MHZ   0
 20 MHz bandwidth
#define BW_40MHZ   1
 40 MHz bandwidth
#define BW_80MHZ   2
 80 MHz bandwidth
#define BW_160MHZ   3
 160 or 80+80 MHz bandwidth
#define VHT_NSS_OFT   4
 VHT Nss offset.
#define VHT_NSS_MASK   (0x7 << VHT_NSS_OFT)
 VHT Nss mask.
#define VHT_MCS_OFT   0
 VHT MCS offset.
#define VHT_MCS_MASK   (0xF << VHT_MCS_OFT)
 VHT MCS mask.
#define HT_NSS_OFT   3
 Offset of the NSS in a HT MCS value (valid for MCS <= 31).
#define HT_NSS_MASK   (0x3 << HT_NSS_OFT)
 Mask of the NSS in a HT MCS value (valid for MCS <= 31).
#define HT_MCS_OFT   0
 Offset of the MCS in a HT MCS value (valid for MCS <= 31).
#define HT_MCS_MASK   (0x7 << HT_MCS_OFT)
 Mask of the MCS in a HT MCS value (valid for MCS <= 31).
#define TX_PWR_LEVEL_PT_RCX_OFT   0
 Transmit Power Level for RCX offset.
#define TX_PWR_LEVEL_PT_RCX_MASK   (0xff << TX_PWR_LEVEL_PT_RCX_OFT)
 Transmit Power Level for RCX mask.
#define TX_PWR_LEVEL_PROT_PT_RCX_OFT   8
 Transmit Power Level of Protection for RCX offset.
#define TX_PWR_LEVEL_PROT_PT_RCX_MASK   (0xff << TX_PWR_LEVEL_PROT_PT_RCX_OFT)
 Transmit Power Level of Protection for RCX mask.
#define TX_PWR_LEVEL_MASK   (TX_PWR_LEVEL_PT_RCX_MASK | TX_PWR_LEVEL_PROT_PT_RCX_MASK)
 Transmit Power Level mask.
#define TX_PWR_LEVEL_SET(pwr)
 Macro used to compute both the Protection and Data power indexes.
#define TX_HE_LTF_TYPE_PT_RCX_OFT   16
 HE LTF type for RCX offset.
#define TX_HE_LTF_TYPE_PT_RCX_MASK   (0x03 << TX_HE_LTF_TYPE_PT_RCX_OFT)
 HE LTF type for RCX mask.
#define TX_1x_HE_LTF_FOR_3_2_US   (0x00 << TX_HE_LTF_TYPE_PT_RCX_OFT)
 1x HE-LTF for 3.2 µs
#define TX_2x_HE_LTF_FOR_6_4_US   (0x01 << TX_HE_LTF_TYPE_PT_RCX_OFT)
 2x HE-LTF for 6.4 µs
#define TX_4x_HE_LTF_FOR_12_8_US   (0x02 << TX_HE_LTF_TYPE_PT_RCX_OFT)
 4x HE-LTF for 12.8 µs
#define TX_HE_DCM_OFT   18
 DCM bit offset.
#define TX_HE_DCM_BIT   CO_BIT(TX_HE_DCM_OFT)
 DCM Bit.
Compressed Policy table definitions



#define MCS_IDX_TX_CPT_OFT   0
 MCS index offset.
#define MCS_IDX_TX_CPT_MASK   (0x7F << MCS_IDX_TX_CPT_OFT)
 MCS index mask.
#define FEC_CODING_CPT_OFT   7
 FEC Coding offset.
#define FEC_CODING_CPT_BIT   CO_BIT(FEC_CODING_CPT_OFT)
 FEC Coding bit.
#define SMM_INDEX_CPT_OFT   8
 Spatial Map Matrix Index offset.
#define SMM_INDEX_CPT_MASK   (0XFF << SMM_INDEX_CPT_OFT)
 Spatial Map Matrix Index mask.
#define KEYSRAM_INDEX_CPT_OFT   16
 Key Storage RAM Index offset.
#define KEYSRAM_INDEX_CPT_MASK   (0X3FF << KEYSRAM_INDEX_OFT)
 Key Storage RAM Index mask.
RHD STATINFO



#define KEY_IDX_OFT   15
 Key index offset.
#define KEY_IDX_MSK   (0x3FF << KEY_IDX_OFT)
 Key index mask.
#define KEY_IDX_VALID_BIT   CO_BIT(25)
 Key index valid bit.
#define IMM_RSP_AC_OFT   11
 Immediate response access category offset.
#define IMM_RSP_AC_MSK   (0x03 << IMM_RSP_AC_OFT)
 Immediate response access category mask.
#define RX_PD_LASTBUF   0x0001
 Last buffer of the MPDU.
#define RX_PD_DONE   0x0002
 Descriptor Done in HW.
#define RX_HD_KEYIDV   0x02000000
 Storage RAM key index valid bit.
#define RX_HD_KEYID   0x01FF8000
 Storage RAM key index.
#define RX_HD_KEYID_LSB   15
 Lowest significant bit of the storage RAM key index.
#define RX_HD_DONE   0x00004000
 Done bit.
#define RX_HD_SUCCESS   0x00002000
 Frame successfully received bit.
#define RX_HD_GA_FRAME   0x00000400
 Group Addressed frame bit.
#define RX_HD_ADDRMIS   0x00000200
 Address mismatch bit.
#define RX_HD_FCSERR   0x0100
 FCS error bit.
#define RX_HD_PHY_ERR   0x00000080
 PHY error bit.
#define RX_HD_UNDEF_ERR   0x00000040
 Undefined error bit.
#define RX_HD_DECRSTATUS   0x0000001C
 Decryption status mask.
#define RX_HD_DECR_UNENC   0x0000
 Frame unencrypted.
#define RX_HD_DECR_WEP_SUCCESS   0x0014
 MAC security type WEP.
#define RX_HD_DECR_TKIP_SUCCESS   0x0018
 MAC security type TKIP.
#define RX_HD_DECR_CCMP128_SUCCESS   0x001C
 MAC security type CCMP.
#define RX_HD_RSP_FRM   0x00000002
 Is response frame bit.
#define RX_HD_RXVEC2V   0x00000001
 Vector 2 valid bit.
#define RX_HD_KEYID_GET(__s)   (((__s) & RX_HD_KEYID) >> RX_HD_KEYID_LSB)
 Macro to retrieve the storage RAM key index for the received frame.
#define RX_HD_DONE_GET(__s)   ((__s) & RX_HD_DONE)
 Macro to retrieve the done bit of the received frame.
#define RX_HD_SUCCESS_GET(__s)   ((__s) & (RX_HD_SUCCESS | RX_HD_FCSERR))
 Macro to retrieve the success bit of the received frame.
RX VECTOR related definitions.



#define RXVEC1_NUM_REG   4
 Number of 32 bits registers forming the RX vector.
#define RXVEC_LEGRATE(__x)   (((__x) & 0x0000F000) >> 12)
 Macro retrieving the legacy rate of the RX vector.
#define RXVEC_HTLENGTH_0(__x)   (((__x) & 0xFFFF0000) >> 16)
 Macro retrieving the HT length [15:0] of the RX vector.
#define RXVEC_HTLENGTH_1(__x)   (((__x) & 0x0000000F))
 Macro retrieving the HT length [19:16] of the RX vector.
#define RXVEC_PRETYPE(__x)   (((__x) & 0x00008000) >> 15)
 Macro retrieving the preamble type of the RX vector.
#define RXVEC_FORMATMOD(__x)   (((__x) & 0x00070000) >> 16)
 Macro retrieving the modulation format of the RX vector.
#define RXVEC_RSSI1(__x)   (((__x) & 0xFF000000) >> 24)
 Macro retrieving the 1st chain RSSI of the RX vector.
#define RXVEC_RSSI2(__x)   (((__x) & 0x000000FF))
 Macro retrieving the 2nd chain RSSI of the RX vector.
AMPDU Status Information related definitions.

Macro retrieving the A-MPDU counter

Parameters:
[in] __x AMPDU Status Information value.


#define RX_AMPDU_AMPDUCNT(__x)   (((__x) & 0xC000) >> 14)
 Macro retrieving the MPDU Counter inside the A-MPDU.
#define RX_AMPDU_MPDUCNT(__x)   ((__x) & 0x3F00)
 Macro retrieving the MPDU Counter inside the A-MPDU.

Enumerations

enum  {
  HW_RATE_1MBPS = 0, HW_RATE_2MBPS, HW_RATE_5_5MBPS, HW_RATE_11MBPS,
  HW_RATE_6MBPS, HW_RATE_9MBPS, HW_RATE_12MBPS, HW_RATE_18MBPS,
  HW_RATE_24MBPS, HW_RATE_36MBPS, HW_RATE_48MBPS, HW_RATE_54MBPS
}
 

legacy RATE definitions

More...

Functions

__INLINE int8_t hal_desc_get_rssi (struct rx_vector_1 *rx_vec_1, int8_t *rx_rssi)
 Retrieve the RSSI values from the RX vector.
__INLINE uint16_t hal_desc_get_ht_length (struct rx_vector_1 *rx_vec_1)
 Retrieve the length of the HT PPDU from the RX vector.
__INLINE uint8_t hal_desc_get_rx_format (struct rx_vector_1 *rx_vec_1)
 Retrieve the modulation format from the RX vector.
__INLINE uint8_t hal_desc_get_preamble_type (struct rx_vector_1 *rx_vec_1)
 Retrieve the preamble type (short/long) of the RX vector.
__INLINE uint8_t hal_desc_get_legacy_rate (struct rx_vector_1 *rx_vec_1)
 Retrieve Legacy Rate of the PPDU from the RX vector.

Variables

struct dma_desc bcn_dwnld_desc
 IPC DMA control structure for beacon download.
struct tx_hw_desc tx_hw_desc0 [RW_USER_MAX *NX_TXDESC_CNT0]
 Array of HW descriptors for BK queue.
struct tx_hw_desc tx_hw_desc1 [RW_USER_MAX *NX_TXDESC_CNT1]
 Array of HW descriptors for BE queue.
struct tx_hw_desc tx_hw_desc2 [RW_USER_MAX *NX_TXDESC_CNT2]
 Array of HW descriptors for VI queue.
struct tx_hw_desc tx_hw_desc3 [RW_USER_MAX *NX_TXDESC_CNT3]
 Array of HW descriptors for VO queue.
struct tx_hw_desc tx_hw_desc4 [NX_TXDESC_CNT4]
 Array of HW descriptors for BCN queue.

Detailed Description

File containing the definition of HW descriptors.

File containing the definition of the structure and API function used to initialise the pool.

Copyright (C) RivieraWaves 2011-2019

Definition in file hal_desc.h.


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