linux/drivers/net/wireless/realtek/rtw89/txrx.h

/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
/* Copyright(c) 2020  Realtek Corporation
 */

#ifndef __RTW89_TXRX_H__
#define __RTW89_TXRX_H__

#include "debug.h"

#define DATA_RATE_MODE_CTRL_MASK
#define DATA_RATE_MODE_CTRL_MASK_V1
#define DATA_RATE_NOT_HT_IDX_MASK
#define DATA_RATE_MODE_NON_HT
#define DATA_RATE_HT_IDX_MASK
#define DATA_RATE_HT_IDX_MASK_V1
#define DATA_RATE_MODE_HT
#define DATA_RATE_HT_NSS_MASK
#define DATA_RATE_VHT_HE_NSS_MASK
#define DATA_RATE_VHT_HE_IDX_MASK
#define DATA_RATE_NSS_MASK_V1
#define DATA_RATE_MCS_MASK_V1
#define DATA_RATE_MODE_VHT
#define DATA_RATE_MODE_HE
#define DATA_RATE_MODE_EHT

static inline u8 rtw89_get_data_rate_mode(struct rtw89_dev *rtwdev, u16 hw_rate)
{}

static inline u8 rtw89_get_data_not_ht_idx(struct rtw89_dev *rtwdev, u16 hw_rate)
{}

static inline u8 rtw89_get_data_ht_mcs(struct rtw89_dev *rtwdev, u16 hw_rate)
{}

static inline u8 rtw89_get_data_mcs(struct rtw89_dev *rtwdev, u16 hw_rate)
{}

static inline u8 rtw89_get_data_ht_nss(struct rtw89_dev *rtwdev, u16 hw_rate)
{}

static inline u8 rtw89_get_data_nss(struct rtw89_dev *rtwdev, u16 hw_rate)
{}

/* TX WD BODY DWORD 0 */
#define RTW89_TXWD_BODY0_WP_OFFSET
#define RTW89_TXWD_BODY0_WP_OFFSET_V1
#define RTW89_TXWD_BODY0_MORE_DATA
#define RTW89_TXWD_BODY0_WD_INFO_EN
#define RTW89_TXWD_BODY0_FW_DL
#define RTW89_TXWD_BODY0_CHANNEL_DMA
#define RTW89_TXWD_BODY0_HDR_LLC_LEN
#define RTW89_TXWD_BODY0_WD_PAGE
#define RTW89_TXWD_BODY0_HW_AMSDU
#define RTW89_TXWD_BODY0_HW_SSN_SEL
#define RTW89_TXWD_BODY0_HW_SSN_MODE

/* TX WD BODY DWORD 1 */
#define RTW89_TXWD_BODY1_ADDR_INFO_NUM
#define RTW89_TXWD_BODY1_PAYLOAD_ID
#define RTW89_TXWD_BODY1_SEC_KEYID
#define RTW89_TXWD_BODY1_SEC_TYPE

/* TX WD BODY DWORD 2 */
#define RTW89_TXWD_BODY2_MACID
#define RTW89_TXWD_BODY2_TID_INDICATE
#define RTW89_TXWD_BODY2_QSEL
#define RTW89_TXWD_BODY2_TXPKT_SIZE

/* TX WD BODY DWORD 3 */
#define RTW89_TXWD_BODY3_BK
#define RTW89_TXWD_BODY3_AGG_EN
#define RTW89_TXWD_BODY3_SW_SEQ

/* TX WD BODY DWORD 4 */
#define RTW89_TXWD_BODY4_SEC_IV_L1
#define RTW89_TXWD_BODY4_SEC_IV_L0

/* TX WD BODY DWORD 5 */
#define RTW89_TXWD_BODY5_SEC_IV_H5
#define RTW89_TXWD_BODY5_SEC_IV_H4
#define RTW89_TXWD_BODY5_SEC_IV_H3
#define RTW89_TXWD_BODY5_SEC_IV_H2

/* TX WD BODY DWORD 6 (V1) */

/* TX WD BODY DWORD 7 (V1) */
#define RTW89_TXWD_BODY7_USE_RATE_V1
#define RTW89_TXWD_BODY7_DATA_BW
#define RTW89_TXWD_BODY7_GI_LTF
#define RTW89_TXWD_BODY7_DATA_RATE

/* TX WD INFO DWORD 0 */
#define RTW89_TXWD_INFO0_USE_RATE
#define RTW89_TXWD_INFO0_DATA_BW
#define RTW89_TXWD_INFO0_GI_LTF
#define RTW89_TXWD_INFO0_DATA_RATE
#define RTW89_TXWD_INFO0_DATA_ER
#define RTW89_TXWD_INFO0_DATA_STBC
#define RTW89_TXWD_INFO0_DATA_LDPC
#define RTW89_TXWD_INFO0_DISDATAFB
#define RTW89_TXWD_INFO0_DATA_BW_ER
#define RTW89_TXWD_INFO0_MULTIPORT_ID

/* TX WD INFO DWORD 1 */
#define RTW89_TXWD_INFO1_DATA_RTY_LOWEST_RATE
#define RTW89_TXWD_INFO1_A_CTRL_BSR
#define RTW89_TXWD_INFO1_MAX_AGGNUM

/* TX WD INFO DWORD 2 */
#define RTW89_TXWD_INFO2_AMPDU_DENSITY
#define RTW89_TXWD_INFO2_SEC_TYPE
#define RTW89_TXWD_INFO2_SEC_HW_ENC
#define RTW89_TXWD_INFO2_FORCE_KEY_EN
#define RTW89_TXWD_INFO2_SEC_CAM_IDX

/* TX WD INFO DWORD 3 */

/* TX WD INFO DWORD 4 */
#define RTW89_TXWD_INFO4_RTS_EN
#define RTW89_TXWD_INFO4_HW_RTS_EN

/* TX WD INFO DWORD 5 */

/* TX WD BODY DWORD 0 */
#define BE_TXD_BODY0_EN_HWSEQ_MODE
#define BE_TXD_BODY0_HW_SSN_SEL
#define BE_TXD_BODY0_HWAMSDU
#define BE_TXD_BODY0_HW_SEC_IV
#define BE_TXD_BODY0_WD_PAGE
#define BE_TXD_BODY0_CHK_EN
#define BE_TXD_BODY0_WP_INT
#define BE_TXD_BODY0_STF_MODE
#define BE_TXD_BODY0_HDR_LLC_LEN
#define BE_TXD_BODY0_CH_DMA
#define BE_TXD_BODY0_SMH_EN
#define BE_TXD_BODY0_PKT_OFFSET
#define BE_TXD_BODY0_WDINFO_EN
#define BE_TXD_BODY0_MOREDATA
#define BE_TXD_BODY0_WP_OFFSET_V1
#define BE_TXD_BODY0_AZ_FTM_SEC_V1
#define BE_TXD_BODY0_WD_SOURCE
#define BE_TXD_BODY0_HCI_SEQNUM_MODE

/* TX WD BODY DWORD 1 */
#define BE_TXD_BODY1_DMA_TXAGG_NUM
#define BE_TXD_BODY1_REUSE_NUM
#define BE_TXD_BODY1_SEC_TYPE
#define BE_TXD_BODY1_SEC_KEYID
#define BE_TXD_BODY1_SW_SEC_IV
#define BE_TXD_BODY1_REUSE_SIZE
#define BE_TXD_BODY1_REUSE_START_OFFSET
#define BE_TXD_BODY1_ADDR_INFO_NUM

/* TX WD BODY DWORD 2 */
#define BE_TXD_BODY2_TXPKTSIZE
#define BE_TXD_BODY2_AGG_EN
#define BE_TXD_BODY2_BK
#define BE_TXD_BODY2_MACID_EXTEND
#define BE_TXD_BODY2_QSEL
#define BE_TXD_BODY2_TID_IND
#define BE_TXD_BODY2_MACID

/* TX WD BODY DWORD 3 */
#define BE_TXD_BODY3_WIFI_SEQ
#define BE_TXD_BODY3_MLO_FLAG
#define BE_TXD_BODY3_IS_MLD_SW_EN
#define BE_TXD_BODY3_TRY_RATE
#define BE_TXD_BODY3_RELINK_FLAG_V1
#define BE_TXD_BODY3_BAND0_SU_TC_V1
#define BE_TXD_BODY3_TOTAL_TC
#define BE_TXD_BODY3_RU_RTY
#define BE_TXD_BODY3_MU_PRI_RTY
#define BE_TXD_BODY3_MU_2ND_RTY
#define BE_TXD_BODY3_BAND1_SU_RTY_V1

/* TX WD BODY DWORD 4 */
#define BE_TXD_BODY4_TXDESC_CHECKSUM
#define BE_TXD_BODY4_SEC_IV_L0
#define BE_TXD_BODY4_SEC_IV_L1

/* TX WD BODY DWORD 5 */
#define BE_TXD_BODY5_SEC_IV_H2
#define BE_TXD_BODY5_SEC_IV_H3
#define BE_TXD_BODY5_SEC_IV_H4
#define BE_TXD_BODY5_SEC_IV_H5

/* TX WD BODY DWORD 6 */
#define BE_TXD_BODY6_MU_TC
#define BE_TXD_BODY6_RU_TC
#define BE_TXD_BODY6_PS160
#define BE_TXD_BODY6_BMC
#define BE_TXD_BODY6_NO_ACK
#define BE_TXD_BODY6_UPD_WLAN_HDR
#define BE_TXD_BODY6_A4_HDR
#define BE_TXD_BODY6_EOSP_BIT
#define BE_TXD_BODY6_S_IDX
#define BE_TXD_BODY6_RU_POS

/* TX WD BODY DWORD 7 */
#define BE_TXD_BODY7_RTS_TC
#define BE_TXD_BODY7_MSDU_NUM
#define BE_TXD_BODY7_DATA_ER
#define BE_TXD_BODY7_DATA_BW_ER
#define BE_TXD_BODY7_DATA_DCM
#define BE_TXD_BODY7_GI_LTF
#define BE_TXD_BODY7_DATARATE
#define BE_TXD_BODY7_DATA_BW
#define BE_TXD_BODY7_USERATE_SEL

/* TX WD INFO DWORD 0 */
#define BE_TXD_INFO0_MBSSID
#define BE_TXD_INFO0_MULTIPORT_ID
#define BE_TXD_INFO0_DISRTSFB
#define BE_TXD_INFO0_DISDATAFB
#define BE_TXD_INFO0_DATA_LDPC
#define BE_TXD_INFO0_DATA_STBC
#define BE_TXD_INFO0_DATA_TXCNT_LMT
#define BE_TXD_INFO0_DATA_TXCNT_LMT_SEL
#define BE_TXD_INFO0_RESP_PHYSTS_CSI_EN_V1
#define BE_TXD_INFO0_RLS_TO_CPUIO
#define BE_TXD_INFO0_ACK_CH_INFO

/* TX WD INFO DWORD 1 */
#define BE_TXD_INFO1_MAX_AGG_NUM
#define BE_TXD_INFO1_BCN_SRCH_SEQ
#define BE_TXD_INFO1_NAVUSEHDR
#define BE_TXD_INFO1_A_CTRL_BQR
#define BE_TXD_INFO1_A_CTRL_BSR
#define BE_TXD_INFO1_A_CTRL_CAS
#define BE_TXD_INFO1_DATA_RTY_LOWEST_RATE
#define BE_TXD_INFO1_SW_DEFINE

/* TX WD INFO DWORD 2 */
#define BE_TXD_INFO2_SEC_CAM_IDX
#define BE_TXD_INFO2_FORCE_KEY_EN
#define BE_TXD_INFO2_LIFETIME_SEL
#define BE_TXD_INFO2_FORCE_TXOP
#define BE_TXD_INFO2_AMPDU_DENSITY
#define BE_TXD_INFO2_LSIG_TXOP_EN
#define BE_TXD_INFO2_OBW_CTS2SELF_DUP_TYPE
#define BE_TXD_INFO2_SPE_RPT_V1
#define BE_TXD_INFO2_SIFS_TX_V1

/* TX WD INFO DWORD 3 */
#define BE_TXD_INFO3_SPE_PKT
#define BE_TXD_INFO3_SPE_PKT_TYPE
#define BE_TXD_INFO3_CQI_SND
#define BE_TXD_INFO3_RTT_EN
#define BE_TXD_INFO3_HT_DATA_SND_V1
#define BE_TXD_INFO3_BT_NULL
#define BE_TXD_INFO3_TRI_FRAME
#define BE_TXD_INFO3_NULL_0
#define BE_TXD_INFO3_NULL_1
#define BE_TXD_INFO3_RAW
#define BE_TXD_INFO3_GROUP_BIT_IE_OFFSET
#define BE_TXD_INFO3_SIGNALING_TA_PKT_EN
#define BE_TXD_INFO3_BCNPKT_TSF_CTRL
#define BE_TXD_INFO3_SIGNALING_TA_PKT_SC
#define BE_TXD_INFO3_FORCE_BSS_CLR

/* TX WD INFO DWORD 4 */
#define BE_TXD_INFO4_PUNCTURE_PATTERN
#define BE_TXD_INFO4_PUNC_MODE
#define BE_TXD_INFO4_SW_TX_OK_0
#define BE_TXD_INFO4_SW_TX_OK_1
#define BE_TXD_INFO4_SW_TX_PWR_DBM
#define BE_TXD_INFO4_RTS_EN
#define BE_TXD_INFO4_CTS2SELF
#define BE_TXD_INFO4_CCA_RTS
#define BE_TXD_INFO4_HW_RTS_EN

/* TX WD INFO DWORD 5 */
#define BE_TXD_INFO5_SR_RATE_V1
#define BE_TXD_INFO5_SR_EN_V1
#define BE_TXD_INFO5_NDPA_DURATION

/* TX WD INFO DWORD 6 */
#define BE_TXD_INFO6_UL_APEP_LEN
#define BE_TXD_INFO6_UL_GI_LTF
#define BE_TXD_INFO6_UL_DOPPLER
#define BE_TXD_INFO6_UL_STBC
#define BE_TXD_INFO6_UL_LENGTH_REF
#define BE_TXD_INFO6_UL_RF_GAIN_IDX

/* TX WD INFO DWORD 7 */
#define BE_TXD_INFO7_UL_FIXED_GAIN_EN
#define BE_TXD_INFO7_UL_PRI_EXP_RSSI_DBM
#define BE_TXD_INFO7_ELNA_IDX
#define BE_TXD_INFO7_UL_APEP_UNIT
#define BE_TXD_INFO7_UL_TRI_PAD
#define BE_TXD_INFO7_UL_T_PE
#define BE_TXD_INFO7_UL_EHT_USR_PRES
#define BE_TXD_INFO7_UL_HELTF_SYMBOL_NUM
#define BE_TXD_INFO7_ULBW
#define BE_TXD_INFO7_ULBW_EXT
#define BE_TXD_INFO7_USE_WD_UL
#define BE_TXD_INFO7_EXTEND_MODE_SEL

/* RX WD dword0 */
#define AX_RXD_RPKT_LEN_MASK
#define AX_RXD_SHIFT_MASK
#define AX_RXD_WL_HD_IV_LEN_MASK
#define AX_RXD_BB_SEL
#define AX_RXD_MAC_INFO_VLD
#define AX_RXD_RPKT_TYPE_MASK
#define AX_RXD_DRV_INFO_SIZE_MASK
#define AX_RXD_LONG_RXD

/* RX WD dword1 */
#define AX_RXD_PPDU_TYPE_MASK
#define AX_RXD_PPDU_CNT_MASK
#define AX_RXD_SR_EN
#define AX_RXD_USER_ID_MASK
#define AX_RXD_USER_ID_v1_MASK
#define AX_RXD_RX_DATARATE_MASK
#define AX_RXD_RX_GI_LTF_MASK
#define AX_RXD_NON_SRG_PPDU
#define AX_RXD_INTER_PPDU
#define AX_RXD_NON_SRG_PPDU_v1
#define AX_RXD_INTER_PPDU_v1
#define AX_RXD_BW_MASK
#define AX_RXD_BW_v1_MASK

/* RX WD dword2 */
#define AX_RXD_FREERUN_CNT_MASK

/* RX WD dword3 */
#define AX_RXD_A1_MATCH
#define AX_RXD_SW_DEC
#define AX_RXD_HW_DEC
#define AX_RXD_AMPDU
#define AX_RXD_AMPDU_END_PKT
#define AX_RXD_AMSDU
#define AX_RXD_AMSDU_CUT
#define AX_RXD_LAST_MSDU
#define AX_RXD_BYPASS
#define AX_RXD_CRC32_ERR
#define AX_RXD_ICV_ERR
#define AX_RXD_MAGIC_WAKE
#define AX_RXD_UNICAST_WAKE
#define AX_RXD_PATTERN_WAKE
#define AX_RXD_GET_CH_INFO_MASK
#define AX_RXD_PATTERN_IDX_MASK
#define AX_RXD_TARGET_IDC_MASK
#define AX_RXD_CHKSUM_OFFLOAD_EN
#define AX_RXD_WITH_LLC
#define AX_RXD_RX_STATISTICS

/* RX WD dword4 */
#define AX_RXD_TYPE_MASK
#define AX_RXD_MC
#define AX_RXD_BC
#define AX_RXD_MD
#define AX_RXD_MF
#define AX_RXD_PWR
#define AX_RXD_QOS
#define AX_RXD_TID_MASK
#define AX_RXD_EOSP
#define AX_RXD_HTC
#define AX_RXD_QNULL
#define AX_RXD_SEQ_MASK
#define AX_RXD_FRAG_MASK

/* RX WD dword5 */
#define AX_RXD_SEC_CAM_IDX_MASK
#define AX_RXD_ADDR_CAM_MASK
#define AX_RXD_MAC_ID_MASK
#define AX_RXD_RX_PL_ID_MASK
#define AX_RXD_ADDR_CAM_VLD
#define AX_RXD_ADDR_FWD_EN
#define AX_RXD_RX_PL_MATCH

/* RX WD dword6 */
#define AX_RXD_MAC_ADDR_MASK

/* RX WD dword7 */
#define AX_RXD_MAC_ADDR_H_MASK
#define AX_RXD_SMART_ANT
#define AX_RXD_SEC_TYPE_MASK
#define AX_RXD_HDR_CNV
#define AX_RXD_HDR_OFFSET_MASK
#define AX_RXD_BIP_KEYID
#define AX_RXD_BIP_ENC

struct rtw89_rxinfo_user {};

#define RTW89_RXINFO_USER_MAC_ID_VALID
#define RTW89_RXINFO_USER_DATA
#define RTW89_RXINFO_USER_CTRL
#define RTW89_RXINFO_USER_MGMT
#define RTW89_RXINFO_USER_BCN
#define RTW89_RXINFO_USER_MACID

struct rtw89_rxinfo {} __packed;

#define RTW89_RXINFO_W0_USR_NUM
#define RTW89_RXINFO_W0_USR_NUM_V1
#define RTW89_RXINFO_W0_FW_DEFINE
#define RTW89_RXINFO_W0_PLCP_LEN_V1
#define RTW89_RXINFO_W0_LSIG_LEN
#define RTW89_RXINFO_W0_INVALID_V1
#define RTW89_RXINFO_W0_IS_TO_SELF
#define RTW89_RXINFO_W0_RX_CNT_VLD
#define RTW89_RXINFO_W0_LONG_RXD
#define RTW89_RXINFO_W1_SERVICE
#define RTW89_RXINFO_W1_PLCP_LEN

struct rtw89_phy_sts_hdr {} __packed;

#define RTW89_PHY_STS_HDR_W0_IE_MAP
#define RTW89_PHY_STS_HDR_W0_HDR_2_EN
#define RTW89_PHY_STS_HDR_W0_VALID
#define RTW89_PHY_STS_HDR_W0_LEN
#define RTW89_PHY_STS_HDR_W0_RSSI_AVG
#define RTW89_PHY_STS_HDR_W1_RSSI_A
#define RTW89_PHY_STS_HDR_W1_RSSI_B
#define RTW89_PHY_STS_HDR_W1_RSSI_C
#define RTW89_PHY_STS_HDR_W1_RSSI_D

struct rtw89_phy_sts_hdr_v2 {} __packed;

#define RTW89_PHY_STS_HDR_V2_W0_PATH_EN

struct rtw89_phy_sts_iehdr {};

#define RTW89_PHY_STS_IEHDR_TYPE
#define RTW89_PHY_STS_IEHDR_LEN

/* BE RXD dword0 */
#define BE_RXD_RPKT_LEN_MASK
#define BE_RXD_SHIFT_MASK
#define BE_RXD_DRV_INFO_SZ_MASK
#define BE_RXD_HDR_CNV_SZ_MASK
#define BE_RXD_PHY_RPT_SZ_MASK
#define BE_RXD_RPKT_TYPE_MASK
#define BE_RXD_BB_SEL
#define BE_RXD_LONG_RXD

/* BE RXD dword1 */
#define BE_RXD_PKT_ID_MASK
#define BE_RXD_FWD_TARGET_MASK
#define BE_RXD_BCN_FW_INFO_MASK
#define BE_RXD_FW_RLS

/* BE RXD dword2 */
#define BE_RXD_MAC_ID_MASK
#define BE_RXD_TYPE_MASK
#define BE_RXD_LAST_MSDU
#define BE_RXD_AMSDU_CUT
#define BE_RXD_ADDR_CAM_VLD
#define BE_RXD_REORDER
#define BE_RXD_SEQ_MASK
#define BE_RXD_TID_MASK

/* BE RXD dword3 */
#define BE_RXD_SEC_TYPE_MASK
#define BE_RXD_BIP_KEYID
#define BE_RXD_BIP_ENC
#define BE_RXD_CRC32_ERR
#define BE_RXD_ICV_ERR
#define BE_RXD_HW_DEC
#define BE_RXD_SW_DEC
#define BE_RXD_A1_MATCH
#define BE_RXD_AMPDU
#define BE_RXD_AMPDU_EOF
#define BE_RXD_AMSDU
#define BE_RXD_MC
#define BE_RXD_BC
#define BE_RXD_MD
#define BE_RXD_MF
#define BE_RXD_PWR
#define BE_RXD_QOS
#define BE_RXD_EOSP
#define BE_RXD_HTC
#define BE_RXD_QNULL
#define BE_RXD_A4_FRAME
#define BE_RXD_FRAG_MASK
#define BE_RXD_GET_CH_INFO_V1_MASK

/* BE RXD dword4 */
#define BE_RXD_PPDU_TYPE_MASK
#define BE_RXD_PPDU_CNT_MASK
#define BE_RXD_BW_MASK
#define BE_RXD_RX_GI_LTF_MASK
#define BE_RXD_RX_REORDER_FIELD_EN
#define BE_RXD_RX_DATARATE_MASK

/* BE RXD dword5 */
#define BE_RXD_FREERUN_CNT_MASK

/* BE RXD dword6 */
#define BE_RXD_ADDR_CAM_MASK
#define BE_RXD_SR_EN
#define BE_RXD_NON_SRG_PPDU
#define BE_RXD_INTER_PPDU
#define BE_RXD_USER_ID_MASK
#define BE_RXD_RX_STATISTICS
#define BE_RXD_SMART_ANT
#define BE_RXD_SEC_CAM_IDX_MASK

/* BE RXD dword7 */
#define BE_RXD_PATTERN_IDX_MASK
#define BE_RXD_MAGIC_WAKE
#define BE_RXD_UNICAST_WAKE
#define BE_RXD_PATTERN_WAKE
#define BE_RXD_RX_PL_MATCH
#define BE_RXD_RX_PL_ID_MASK
#define BE_RXD_HDR_CNV
#define BE_RXD_NAT25_HIT
#define BE_RXD_IS_DA
#define BE_RXD_CHKSUM_OFFLOAD_EN
#define BE_RXD_RXSC_ENTRY_MASK
#define BE_RXD_RXSC_HIT
#define BE_RXD_WITH_LLC
#define BE_RXD_RX_AGG_FIELD_EN

/* BE RXD dword8 */
#define BE_RXD_MAC_ADDR_MASK

/* BE RXD dword9 */
#define BE_RXD_MAC_ADDR_H_MASK
#define BE_RXD_HDR_OFFSET_MASK
#define BE_RXD_WL_HD_IV_LEN_MASK

struct rtw89_phy_sts_ie00 {} __packed;

#define RTW89_PHY_STS_IE00_W0_RPL

struct rtw89_phy_sts_ie00_v2 {} __packed;

#define RTW89_PHY_STS_IE00_V2_W4_RPL_TD_A
#define RTW89_PHY_STS_IE00_V2_W4_RPL_TD_B
#define RTW89_PHY_STS_IE00_V2_W4_RPL_TD_C
#define RTW89_PHY_STS_IE00_V2_W5_RPL_TD_D

struct rtw89_phy_sts_ie01 {} __packed;

#define RTW89_PHY_STS_IE01_W0_CH_IDX
#define RTW89_PHY_STS_IE01_W0_RSSI_AVG_FD
#define RTW89_PHY_STS_IE01_W0_RX_PATH_EN
#define RTW89_PHY_STS_IE01_W1_FD_CFO
#define RTW89_PHY_STS_IE01_W1_PREMB_CFO
#define RTW89_PHY_STS_IE01_W2_AVG_SNR
#define RTW89_PHY_STS_IE01_W2_EVM_MAX
#define RTW89_PHY_STS_IE01_W2_EVM_MIN
#define RTW89_PHY_STS_IE01_W2_LDPC
#define RTW89_PHY_STS_IE01_W2_STBC

struct rtw89_phy_sts_ie01_v2 {} __packed;

#define RTW89_PHY_STS_IE01_V2_W5_BW_IDX
#define RTW89_PHY_STS_IE01_V2_W8_RPL_FD_A
#define RTW89_PHY_STS_IE01_V2_W8_RPL_FD_B
#define RTW89_PHY_STS_IE01_V2_W9_RPL_FD_C
#define RTW89_PHY_STS_IE01_V2_W9_RPL_FD_D

enum rtw89_tx_channel {};

enum rtw89_rx_channel {};

enum rtw89_tx_qsel {};

static inline u8 rtw89_core_get_qsel(struct rtw89_dev *rtwdev, u8 tid)
{}

static inline u8 rtw89_core_get_ch_dma(struct rtw89_dev *rtwdev, u8 qsel)
{}

static inline u8 rtw89_core_get_tid_indicate(struct rtw89_dev *rtwdev, u8 tid)
{}

#endif