mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 13:49:24 -04:00
Merge tag 'LA.UM.9.14.r1-19600.01-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/fw-api into android12-5.4-lahaina
"LA.UM.9.14.r1-19600.01-LAHAINA.QSSI12.0" * tag 'LA.UM.9.14.r1-19600.01-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/fw-api: fw-api: CL 17951131 - update fw common interface files fw-api: CL 17946727 - update fw common interface files fw-api: CL 17935445 - update fw common interface files fw-api: CL 17913152 - update fw common interface files fw-api: CL 17913125 - update fw common interface files fw-api: CL 17879597 - update fw common interface files fw-api: CL 17848238 - update fw common interface files fw-api: CL 17845264 - update fw common interface files fw-api: CL 17844347 - update fw common interface files fw-api: CL 17844331 - update fw common interface files fw-api: CL 17808556 - update fw common interface files fw-api: CL 17793582 - update fw common interface files fw-api: CL 17793208 - update fw common interface files fw-api: CL 17771149 - update fw common interface files fw-api: CL 17768134 - update fw common interface files fw-api: CL 17745034 - update fw common interface files fw-api: CL 17741957 - update fw common interface files fw-api: CL 17725153 - update fw common interface files fw-api: CL 17712037 - update fw common interface files fw-api: CL 17660651 - update fw common interface files fw-api: CL 17644061 - update fw common interface files fw-api: Fix compilation issue for common user info TLV fw-api: CL 17628058 - update fw common interface files fw-api: CL 17624712 - update fw common interface files fw-api: CL 17605663 - update fw common interface files fw-api: Add hw headers for HW reinjection support fw-api: CL 17592053 - update fw common interface files fw-api: CL 17577504 - update fw common interface files fw-api: CL 17554759 - update fw common interface files fw-api: CL 17539128 - update fw common interface files qcacmn: Add HW headers for Waikiki Monitor (QCN9224) fw-api: CL 17524652 - update fw common interface files fw-api: CL 17514144 - update fw common interface files fw-api: CL 17503513 - update fw common interface files fw-api: CL 17485838 - update fw common interface files fw-api: CL 17480751 - update fw common interface files fw-api: CL 17479040 - update fw common interface files fw-api: CL 17463702 - update fw common interface files Change-Id: I4a6634222fa666bf9f9a526a3d0c2bacbd234917
This commit is contained in:
commit
111a9386c3
11 changed files with 1785 additions and 79 deletions
|
|
@ -698,10 +698,10 @@ typedef enum {
|
|||
HTT_STATS_UNAVAILABLE_ERROR_STATS_TAG = 110, /* htt_stats_error_tlv_v */
|
||||
HTT_STATS_TX_SELFGEN_AC_SCHED_STATUS_STATS_TAG = 111, /* htt_tx_selfgen_ac_sched_status_stats_tlv */
|
||||
HTT_STATS_TX_SELFGEN_AX_SCHED_STATUS_STATS_TAG = 112, /* htt_tx_selfgen_ax_sched_status_stats_tlv */
|
||||
HTT_STATS_TXBF_OFDMA_NDPA_STATS_TAG = 113, /* htt_txbf_ofdma_ndpa_stats_tlv */
|
||||
HTT_STATS_TXBF_OFDMA_NDP_STATS_TAG = 114, /* htt_txbf_ofdma_ndp_stats_tlv */
|
||||
HTT_STATS_TXBF_OFDMA_BRP_STATS_TAG = 115, /* htt_txbf_ofdma_brp_stats_tlv */
|
||||
HTT_STATS_TXBF_OFDMA_STEER_STATS_TAG = 116, /* htt_txbf_ofdma_steer_stats_tlv */
|
||||
HTT_STATS_TXBF_OFDMA_NDPA_STATS_TAG = 113, /* htt_txbf_ofdma_ndpa_stats_tlv - DEPRECATED */
|
||||
HTT_STATS_TXBF_OFDMA_NDP_STATS_TAG = 114, /* htt_txbf_ofdma_ndp_stats_tlv - DEPRECATED */
|
||||
HTT_STATS_TXBF_OFDMA_BRP_STATS_TAG = 115, /* htt_txbf_ofdma_brp_stats_tlv - DEPRECATED */
|
||||
HTT_STATS_TXBF_OFDMA_STEER_STATS_TAG = 116, /* htt_txbf_ofdma_steer_stats_tlv - DEPRECATED */
|
||||
HTT_STATS_STA_UL_OFDMA_STATS_TAG = 117, /* htt_sta_ul_ofdma_stats_tlv */
|
||||
HTT_STATS_VDEV_RTT_RESP_STATS_TAG = 118, /* htt_vdev_rtt_resp_stats_tlv */
|
||||
HTT_STATS_PKTLOG_AND_HTT_RING_STATS_TAG = 119, /* htt_pktlog_and_htt_ring_stats_tlv */
|
||||
|
|
@ -732,6 +732,15 @@ typedef enum {
|
|||
HTT_STATS_TX_PDEV_SAWF_RATE_STATS_TAG = 144, /* htt_tx_pdev_rate_stats_sawf_tlv */
|
||||
HTT_STATS_STRM_GEN_MPDUS_TAG = 145, /* htt_stats_strm_gen_mpdus_tlv_t */
|
||||
HTT_STATS_STRM_GEN_MPDUS_DETAILS_TAG = 146, /* htt_stats_strm_gen_mpdus_details_tlv_t */
|
||||
HTT_STATS_TXBF_OFDMA_AX_NDPA_STATS_TAG = 147, /* htt_txbf_ofdma_ax_ndpa_stats_tlv */
|
||||
HTT_STATS_TXBF_OFDMA_AX_NDP_STATS_TAG = 148, /* htt_txbf_ofdma_ax_ndp_stats_tlv */
|
||||
HTT_STATS_TXBF_OFDMA_AX_BRP_STATS_TAG = 149, /* htt_txbf_ofdma_ax_brp_stats_tlv */
|
||||
HTT_STATS_TXBF_OFDMA_AX_STEER_STATS_TAG = 150, /* htt_txbf_ofdma_ax_steer_stats_tlv */
|
||||
HTT_STATS_TXBF_OFDMA_BE_NDPA_STATS_TAG = 151, /* htt_txbf_ofdma_be_ndpa_stats_tlv */
|
||||
HTT_STATS_TXBF_OFDMA_BE_NDP_STATS_TAG = 152, /* htt_txbf_ofdma_be_ndp_stats_tlv */
|
||||
HTT_STATS_TXBF_OFDMA_BE_BRP_STATS_TAG = 153, /* htt_txbf_ofdma_be_brp_stats_tlv */
|
||||
HTT_STATS_TXBF_OFDMA_BE_STEER_STATS_TAG = 154, /* htt_txbf_ofdma_be_steer_stats_tlv */
|
||||
HTT_STATS_DMAC_RESET_STATS_TAG = 155, /* htt_dmac_reset_stats_tlv */
|
||||
|
||||
|
||||
HTT_STATS_MAX_TAG,
|
||||
|
|
@ -5576,7 +5585,15 @@ enum htt_srng_ring_id {
|
|||
* 010 - 128bytes
|
||||
* 100 - 256bytes
|
||||
* 111 - Full mpdu bytes
|
||||
* b'25:31 - rsvd2: Reserved for future use
|
||||
* b'25:26 - rx_hdr_len:
|
||||
* Specifies the number of bytes of recvd packet to copy
|
||||
* into the rx_hdr tlv.
|
||||
* supported values for now by host:
|
||||
* 01 - 64bytes
|
||||
* 10 - 128bytes
|
||||
* 11 - 256bytes
|
||||
* default - 128 bytes
|
||||
* b'27:31 - rsvd2: Reserved for future use
|
||||
* dword2 - b'0:31 - packet_type_enable_flags_0:
|
||||
* Enable MGMT packet from 0b0000 to 0b1001
|
||||
* bits from low to high: FP, MD, MO - 3 bits
|
||||
|
|
@ -5714,7 +5731,8 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
|
|||
config_length_mgmt:3,
|
||||
config_length_ctrl:3,
|
||||
config_length_data:3,
|
||||
rsvd2: 7;
|
||||
rx_hdr_len: 2,
|
||||
rsvd2: 5;
|
||||
A_UINT32 packet_type_enable_flags_0;
|
||||
A_UINT32 packet_type_enable_flags_1;
|
||||
A_UINT32 packet_type_enable_flags_2;
|
||||
|
|
@ -5877,6 +5895,16 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
|
|||
((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_CONFIG_LENGTH_DATA_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_M 0x06000000
|
||||
#define HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_S 25
|
||||
#define HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_GET(_var) \
|
||||
(((_var) & HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_M) >> \
|
||||
HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_S)
|
||||
#define HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL( HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN, _val); \
|
||||
((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_S));\
|
||||
} while(0)
|
||||
|
||||
#define HTT_RX_RING_SELECTION_CFG_PKT_TYPE_ENABLE_FLAG_0_M 0xffffffff
|
||||
#define HTT_RX_RING_SELECTION_CFG_PKT_TYPE_ENABLE_FLAG_0_S 0
|
||||
|
|
@ -6651,6 +6679,9 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
|
|||
#define HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_PPDU_END_STATUS_DONE_M 0x00001000
|
||||
#define HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_PPDU_END_STATUS_DONE_S 12
|
||||
|
||||
#define HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_PPDU_START_USER_INFO_M 0x00002000
|
||||
#define HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_PPDU_START_USER_INFO_S 13
|
||||
|
||||
#define HTT_RX_RING_TLV_ENABLE_SET(word, httsym, enable) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(httsym, enable); \
|
||||
|
|
@ -18126,6 +18157,14 @@ typedef struct {
|
|||
/* discarded tx msdus byte cnt coz of time to live expiry */
|
||||
A_UINT32 tx_msdu_ttl_expire_drop_byte_cnt_lo;
|
||||
A_UINT32 tx_msdu_ttl_expire_drop_byte_cnt_hi;
|
||||
|
||||
/* TQM bypass frame cnt */
|
||||
A_UINT32 tqm_bypass_frame_cnt_lo;
|
||||
A_UINT32 tqm_bypass_frame_cnt_hi;
|
||||
|
||||
/* TQM bypass byte cnt */
|
||||
A_UINT32 tqm_bypass_byte_cnt_lo;
|
||||
A_UINT32 tqm_bypass_byte_cnt_hi;
|
||||
} htt_t2h_vdev_txrx_stats_hw_stats_tlv;
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -1571,6 +1571,144 @@ typedef enum HTT_PPDU_STATS_RESP_PPDU_TYPE HTT_PPDU_STATS_RESP_PPDU_TYPE;
|
|||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RESP_PPDU_TYPE_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_M 0x0000f000
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_S 12
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_M) >> \
|
||||
HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_S)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_END_M 0x0000ffff
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_END_S 0
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_END_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RU_END_M) >> \
|
||||
HTT_PPDU_STATS_USER_RATE_TLV_RU_END_S)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_END_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RU_END, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RU_END_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_START_M 0xffff0000
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_START_S 16
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_START_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RU_START_M) >> \
|
||||
HTT_PPDU_STATS_USER_RATE_TLV_RU_START_S)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_START_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RU_START, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RU_START_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_M 0x0000ffff
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_S 0
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_M) >> \
|
||||
HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_S)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_M 0xffff0000
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_S 16
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_M) >> \
|
||||
HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_S)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_M 0x0000ffff
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_S 0
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_M) >> \
|
||||
HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_S)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_M 0xffff0000
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_S 16
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_M) >> \
|
||||
HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_S)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_M 0x0000ffff
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_S 0
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_M) >> \
|
||||
HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_S)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_M 0xffff0000
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_S 16
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_M) >> \
|
||||
HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_S)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_M 0x0000ffff
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_S 0
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_M) >> \
|
||||
HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_S)
|
||||
|
||||
#define HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_SET (_var , _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_S)); \
|
||||
} while (0)
|
||||
|
||||
typedef enum HTT_PPDU_STATS_RU_SIZE {
|
||||
HTT_PPDU_STATS_RU_26,
|
||||
HTT_PPDU_STATS_RU_52,
|
||||
|
|
@ -1754,10 +1892,11 @@ typedef struct {
|
|||
};
|
||||
|
||||
/*
|
||||
* This is an unused word that can be safely renamed / used
|
||||
* by any future feature.
|
||||
* BIT [15:0] :- Punctured BW bitmap pattern to indicate which BWs are
|
||||
* punctured.
|
||||
*/
|
||||
A_UINT32 reserved4;
|
||||
A_UINT32 punc_pattern_bitmap: 16,
|
||||
reserved4: 16;
|
||||
} htt_ppdu_stats_user_rate_tlv;
|
||||
|
||||
#define HTT_PPDU_STATS_USR_RATE_VALID_M 0x80000000
|
||||
|
|
|
|||
|
|
@ -434,6 +434,15 @@ enum htt_dbg_ext_stats_type {
|
|||
HTT_STRM_GEN_MPDUS_STATS = 43,
|
||||
HTT_STRM_GEN_MPDUS_DETAILS_STATS = 44,
|
||||
|
||||
/** HTT_DBG_SOC_ERROR_STATS
|
||||
* PARAMS:
|
||||
* - No Params
|
||||
* RESP MSG:
|
||||
* - htt_dmac_reset_stats_tlv
|
||||
*/
|
||||
HTT_DBG_SOC_ERROR_STATS = 45,
|
||||
|
||||
|
||||
/* keep this last */
|
||||
HTT_DBG_NUM_EXT_STATS = 256,
|
||||
};
|
||||
|
|
@ -565,6 +574,25 @@ typedef enum {
|
|||
HTT_RX_UL_MUMIMO_TRIGGER_STATS_UPLOAD_11BE,
|
||||
} htt_rx_ul_mumimo_trigger_stats_upload_t;
|
||||
|
||||
/* htt_tx_pdev_txbf_ofdma_stats_upload_t
|
||||
* Enumerations for specifying which stats to upload in response to
|
||||
* HTT_DBG_EXT_STATS_TXBF_OFDMA.
|
||||
*/
|
||||
typedef enum {
|
||||
/* upload 11ax TXBF OFDMA stats
|
||||
*
|
||||
* TLV: htt_tx_pdev_ax_txbf_ofdma_stats_t
|
||||
*/
|
||||
HTT_UPLOAD_AX_TXBF_OFDMA_STATS,
|
||||
|
||||
/*
|
||||
* Upload 11be TXBF OFDMA stats
|
||||
*
|
||||
* TLV: htt_tx_pdev_be_txbf_ofdma_stats_t
|
||||
*/
|
||||
HTT_UPLOAD_BE_TXBF_OFDMA_STATS,
|
||||
} htt_tx_pdev_txbf_ofdma_stats_upload_t;
|
||||
|
||||
#define HTT_STATS_MAX_STRING_SZ32 4
|
||||
#define HTT_STATS_MACID_INVALID 0xff
|
||||
#define HTT_TX_HWQ_MAX_DIFS_LATENCY_BINS 10
|
||||
|
|
@ -1010,6 +1038,27 @@ typedef struct {
|
|||
A_UINT32 phy_warm_reset_reason_tx_hwsch_reset_war;
|
||||
A_UINT32 phy_warm_reset_reason_hwsch_wdog_or_cca_wdog_war;
|
||||
A_UINT32 fw_rx_rings_reset;
|
||||
/**
|
||||
* Num of iterations rx leak prevention successfully done.
|
||||
*/
|
||||
A_UINT32 rx_dest_drain_rx_descs_leak_prevention_done;
|
||||
/**
|
||||
* Num of rx descs successfully saved by rx leak prevention.
|
||||
*/
|
||||
A_UINT32 rx_dest_drain_rx_descs_saved_cnt;
|
||||
/*
|
||||
* Stats to debug reason Rx leak prevention
|
||||
* was not required to be kicked in.
|
||||
*/
|
||||
A_UINT32 rx_dest_drain_rxdma2reo_leak_detected;
|
||||
A_UINT32 rx_dest_drain_rxdma2fw_leak_detected;
|
||||
A_UINT32 rx_dest_drain_rxdma2wbm_leak_detected;
|
||||
A_UINT32 rx_dest_drain_rxdma1_2sw_leak_detected;
|
||||
A_UINT32 rx_dest_drain_rx_drain_ok_mac_idle;
|
||||
A_UINT32 rx_dest_drain_ok_mac_not_idle;
|
||||
A_UINT32 rx_dest_drain_prerequisite_invld;
|
||||
A_UINT32 rx_dest_drain_skip_for_non_lmac_reset;
|
||||
A_UINT32 rx_dest_drain_hw_fifo_not_empty_post_drain_wait;
|
||||
} htt_hw_stats_pdev_errs_tlv;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -2226,7 +2275,7 @@ typedef struct {
|
|||
A_UINT32 be_ul_mumimo_trigger[HTT_TX_PDEV_STATS_NUM_BE_MUMIMO_USER_STATS];
|
||||
} htt_tx_selfgen_be_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
typedef struct { /* DEPRECATED */
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/** 11AX HE OFDMA NDPA frame queued to the HW */
|
||||
A_UINT32 ax_ofdma_ndpa_queued[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS];
|
||||
|
|
@ -2238,7 +2287,7 @@ typedef struct {
|
|||
A_UINT32 ax_ofdma_ndpa_err[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS];
|
||||
} htt_txbf_ofdma_ndpa_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
typedef struct { /* DEPRECATED */
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/** 11AX HE OFDMA NDP frame queued to the HW */
|
||||
A_UINT32 ax_ofdma_ndp_queued[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS];
|
||||
|
|
@ -2250,7 +2299,7 @@ typedef struct {
|
|||
A_UINT32 ax_ofdma_ndp_err[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS];
|
||||
} htt_txbf_ofdma_ndp_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
typedef struct { /* DEPRECATED */
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/** 11AX HE OFDMA MU BRPOLL frame queued to the HW */
|
||||
A_UINT32 ax_ofdma_brpoll_queued[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS];
|
||||
|
|
@ -2267,7 +2316,7 @@ typedef struct {
|
|||
A_UINT32 ax_ofdma_brp_err_num_cbf_rcvd[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS+1];
|
||||
} htt_txbf_ofdma_brp_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
typedef struct { /* DEPRECATED */
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/**
|
||||
* 11AX HE OFDMA PPDUs that were sent over the air with steering
|
||||
|
|
@ -2290,23 +2339,295 @@ typedef struct {
|
|||
A_UINT32 ax_ofdma_num_usrs_force_sound[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS];
|
||||
} htt_txbf_ofdma_steer_stats_tlv;
|
||||
|
||||
/* Note:
|
||||
* This struct htt_tx_pdev_txbf_ofdma_stats_t and all its constituent
|
||||
* struct TLVs are deprecated, due to the need for restructuring these
|
||||
* stats into a variable length array
|
||||
*/
|
||||
typedef struct { /* DEPRECATED */
|
||||
htt_txbf_ofdma_ndpa_stats_tlv ofdma_ndpa_tlv;
|
||||
htt_txbf_ofdma_ndp_stats_tlv ofdma_ndp_tlv;
|
||||
htt_txbf_ofdma_brp_stats_tlv ofdma_brp_tlv;
|
||||
htt_txbf_ofdma_steer_stats_tlv ofdma_steer_tlv;
|
||||
} htt_tx_pdev_txbf_ofdma_stats_t;
|
||||
|
||||
typedef struct {
|
||||
/** 11AX HE OFDMA NDPA frame queued to the HW */
|
||||
A_UINT32 ax_ofdma_ndpa_queued;
|
||||
/** 11AX HE OFDMA NDPA frame sent over the air */
|
||||
A_UINT32 ax_ofdma_ndpa_tried;
|
||||
/** 11AX HE OFDMA NDPA frame flushed by HW */
|
||||
A_UINT32 ax_ofdma_ndpa_flushed;
|
||||
/** 11AX HE OFDMA NDPA frame completed with error(s) */
|
||||
A_UINT32 ax_ofdma_ndpa_err;
|
||||
} htt_txbf_ofdma_ax_ndpa_stats_elem_t;
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/**
|
||||
* This field is populated with the num of elems in the ax_ndpa[]
|
||||
* variable length array.
|
||||
*/
|
||||
A_UINT32 num_elems_ax_ndpa_arr;
|
||||
/**
|
||||
* This field will be filled by target with value of
|
||||
* sizeof(htt_txbf_ofdma_ax_ndpa_stats_elem_t).
|
||||
* This is for allowing host to infer how much data target has provided,
|
||||
* even if it using different version of the struct def than what target
|
||||
* had used.
|
||||
*/
|
||||
A_UINT32 arr_elem_size_ax_ndpa;
|
||||
htt_txbf_ofdma_ax_ndpa_stats_elem_t ax_ndpa[1]; /* variable length */
|
||||
} htt_txbf_ofdma_ax_ndpa_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
/** 11AX HE OFDMA NDP frame queued to the HW */
|
||||
A_UINT32 ax_ofdma_ndp_queued;
|
||||
/** 11AX HE OFDMA NDPA frame sent over the air */
|
||||
A_UINT32 ax_ofdma_ndp_tried;
|
||||
/** 11AX HE OFDMA NDPA frame flushed by HW */
|
||||
A_UINT32 ax_ofdma_ndp_flushed;
|
||||
/** 11AX HE OFDMA NDPA frame completed with error(s) */
|
||||
A_UINT32 ax_ofdma_ndp_err;
|
||||
} htt_txbf_ofdma_ax_ndp_stats_elem_t;
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/**
|
||||
* This field is populated with the num of elems in the the ax_ndp[]
|
||||
* variable length array.
|
||||
*/
|
||||
A_UINT32 num_elems_ax_ndp_arr;
|
||||
/**
|
||||
* This field will be filled by target with value of
|
||||
* sizeof(htt_txbf_ofdma_ax_ndp_stats_elem_t).
|
||||
* This is for allowing host to infer how much data target has provided,
|
||||
* even if it using different version of the struct def than what target
|
||||
* had used.
|
||||
*/
|
||||
A_UINT32 arr_elem_size_ax_ndp;
|
||||
htt_txbf_ofdma_ax_ndp_stats_elem_t ax_ndp[1]; /* variable length */
|
||||
} htt_txbf_ofdma_ax_ndp_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
/** 11AX HE OFDMA MU BRPOLL frame queued to the HW */
|
||||
A_UINT32 ax_ofdma_brpoll_queued;
|
||||
/** 11AX HE OFDMA MU BRPOLL frame sent over the air */
|
||||
A_UINT32 ax_ofdma_brpoll_tried;
|
||||
/** 11AX HE OFDMA MU BRPOLL frame flushed by HW */
|
||||
A_UINT32 ax_ofdma_brpoll_flushed;
|
||||
/** 11AX HE OFDMA MU BRPOLL frame completed with error(s) */
|
||||
A_UINT32 ax_ofdma_brp_err;
|
||||
/**
|
||||
* Number of CBF(s) received when 11AX HE OFDMA MU BRPOLL frame
|
||||
* completed with error(s)
|
||||
*/
|
||||
A_UINT32 ax_ofdma_brp_err_num_cbf_rcvd;
|
||||
} htt_txbf_ofdma_ax_brp_stats_elem_t;
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/**
|
||||
* This field is populated with the num of elems in the the ax_brp[]
|
||||
* variable length array.
|
||||
*/
|
||||
A_UINT32 num_elems_ax_brp_arr;
|
||||
/**
|
||||
* This field will be filled by target with value of
|
||||
* sizeof(htt_txbf_ofdma_ax_brp_stats_elem_t).
|
||||
* This is for allowing host to infer how much data target has provided,
|
||||
* even if it using different version of the struct than what target
|
||||
* had used.
|
||||
*/
|
||||
A_UINT32 arr_elem_size_ax_brp;
|
||||
htt_txbf_ofdma_ax_brp_stats_elem_t ax_brp[1]; /* variable length */
|
||||
} htt_txbf_ofdma_ax_brp_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
/**
|
||||
* 11AX HE OFDMA PPDUs that were sent over the air with steering
|
||||
* (TXBF + OFDMA)
|
||||
*/
|
||||
A_UINT32 ax_ofdma_num_ppdu_steer;
|
||||
/** 11AX HE OFDMA PPDUs that were sent over the air in open loop */
|
||||
A_UINT32 ax_ofdma_num_ppdu_ol;
|
||||
/**
|
||||
* 11AX HE OFDMA number of users for which CBF prefetch was initiated
|
||||
* to PHY HW during TX
|
||||
*/
|
||||
A_UINT32 ax_ofdma_num_usrs_prefetch;
|
||||
/**
|
||||
* 11AX HE OFDMA number of users for which sounding was initiated
|
||||
* during TX
|
||||
*/
|
||||
A_UINT32 ax_ofdma_num_usrs_sound;
|
||||
/** 11AX HE OFDMA number of users for which sounding was forced during TX */
|
||||
A_UINT32 ax_ofdma_num_usrs_force_sound;
|
||||
} htt_txbf_ofdma_ax_steer_stats_elem_t;
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/**
|
||||
* This field is populated with the num of elems in the ax_steer[]
|
||||
* variable length array.
|
||||
*/
|
||||
A_UINT32 num_elems_ax_steer_arr;
|
||||
/**
|
||||
* This field will be filled by target with value of
|
||||
* sizeof(htt_txbf_ofdma_ax_steer_stats_elem_t).
|
||||
* This is for allowing host to infer how much data target has provided,
|
||||
* even if it using different version of the struct than what target
|
||||
* had used.
|
||||
*/
|
||||
A_UINT32 arr_elem_size_ax_steer;
|
||||
htt_txbf_ofdma_ax_steer_stats_elem_t ax_steer[1]; /* variable length */
|
||||
} htt_txbf_ofdma_ax_steer_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
/** 11BE EHT OFDMA NDPA frame queued to the HW */
|
||||
A_UINT32 be_ofdma_ndpa_queued;
|
||||
/** 11BE EHT OFDMA NDPA frame sent over the air */
|
||||
A_UINT32 be_ofdma_ndpa_tried;
|
||||
/** 11BE EHT OFDMA NDPA frame flushed by HW */
|
||||
A_UINT32 be_ofdma_ndpa_flushed;
|
||||
/** 11BE EHT OFDMA NDPA frame completed with error(s) */
|
||||
A_UINT32 be_ofdma_ndpa_err;
|
||||
} htt_txbf_ofdma_be_ndpa_stats_elem_t;
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/**
|
||||
* This field is populated with the num of elems in the be_ndpa[]
|
||||
* variable length array.
|
||||
*/
|
||||
A_UINT32 num_elems_be_ndpa_arr;
|
||||
/**
|
||||
* This field will be filled by target with value of
|
||||
* sizeof(htt_txbf_ofdma_be_ndpa_stats_elem_t).
|
||||
* This is for allowing host to infer how much data target has provided,
|
||||
* even if it using different version of the struct than what target
|
||||
* had used.
|
||||
*/
|
||||
A_UINT32 arr_elem_size_be_ndpa;
|
||||
htt_txbf_ofdma_be_ndpa_stats_elem_t be_ndpa[1]; /* variable length */
|
||||
} htt_txbf_ofdma_be_ndpa_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
/** 11BE EHT OFDMA NDP frame queued to the HW */
|
||||
A_UINT32 be_ofdma_ndp_queued;
|
||||
/** 11BE EHT OFDMA NDPA frame sent over the air */
|
||||
A_UINT32 be_ofdma_ndp_tried;
|
||||
/** 11BE EHT OFDMA NDPA frame flushed by HW */
|
||||
A_UINT32 be_ofdma_ndp_flushed;
|
||||
/** 11BE EHT OFDMA NDPA frame completed with error(s) */
|
||||
A_UINT32 be_ofdma_ndp_err;
|
||||
} htt_txbf_ofdma_be_ndp_stats_elem_t;
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/**
|
||||
* This field is populated with the num of elems in the be_ndp[]
|
||||
* variable length array.
|
||||
*/
|
||||
A_UINT32 num_elems_be_ndp_arr;
|
||||
/**
|
||||
* This field will be filled by target with value of
|
||||
* sizeof(htt_txbf_ofdma_be_ndp_stats_elem_t).
|
||||
* This is for allowing host to infer how much data target has provided,
|
||||
* even if it using different version of the struct than what target
|
||||
* had used.
|
||||
*/
|
||||
A_UINT32 arr_elem_size_be_ndp;
|
||||
htt_txbf_ofdma_be_ndp_stats_elem_t be_ndp[1]; /* variable length */
|
||||
} htt_txbf_ofdma_be_ndp_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
/** 11BE EHT OFDMA MU BRPOLL frame queued to the HW */
|
||||
A_UINT32 be_ofdma_brpoll_queued;
|
||||
/** 11BE EHT OFDMA MU BRPOLL frame sent over the air */
|
||||
A_UINT32 be_ofdma_brpoll_tried;
|
||||
/** 11BE EHT OFDMA MU BRPOLL frame flushed by HW */
|
||||
A_UINT32 be_ofdma_brpoll_flushed;
|
||||
/** 11BE EHT OFDMA MU BRPOLL frame completed with error(s) */
|
||||
A_UINT32 be_ofdma_brp_err;
|
||||
/**
|
||||
* Number of CBF(s) received when 11BE EHT OFDMA MU BRPOLL frame
|
||||
* completed with error(s)
|
||||
*/
|
||||
A_UINT32 be_ofdma_brp_err_num_cbf_rcvd;
|
||||
} htt_txbf_ofdma_be_brp_stats_elem_t;
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/**
|
||||
* This field is populated with the num of elems in the be_brp[]
|
||||
* variable length array.
|
||||
*/
|
||||
A_UINT32 num_elems_be_brp_arr;
|
||||
/**
|
||||
* This field will be filled by target with value of
|
||||
* sizeof(htt_txbf_ofdma_be_brp_stats_elem_t).
|
||||
* This is for allowing host to infer how much data target has provided,
|
||||
* even if it using different version of the struct than what target
|
||||
* had used
|
||||
*/
|
||||
A_UINT32 arr_elem_size_be_brp;
|
||||
htt_txbf_ofdma_be_brp_stats_elem_t be_brp[1]; /* variable length */
|
||||
} htt_txbf_ofdma_be_brp_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
/**
|
||||
* 11BE EHT OFDMA PPDUs that were sent over the air with steering
|
||||
* (TXBF + OFDMA)
|
||||
*/
|
||||
A_UINT32 be_ofdma_num_ppdu_steer;
|
||||
/** 11BE EHT OFDMA PPDUs that were sent over the air in open loop */
|
||||
A_UINT32 be_ofdma_num_ppdu_ol;
|
||||
/**
|
||||
* 11BE EHT OFDMA number of users for which CBF prefetch was initiated
|
||||
* to PHY HW during TX
|
||||
*/
|
||||
A_UINT32 be_ofdma_num_usrs_prefetch;
|
||||
/**
|
||||
* 11BE EHT OFDMA number of users for which sounding was initiated
|
||||
* during TX
|
||||
*/
|
||||
A_UINT32 be_ofdma_num_usrs_sound;
|
||||
/**
|
||||
* 11BE EHT OFDMA number of users for which sounding was forced during TX
|
||||
*/
|
||||
A_UINT32 be_ofdma_num_usrs_force_sound;
|
||||
} htt_txbf_ofdma_be_steer_stats_elem_t;
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/**
|
||||
* This field is populated with the num of elems in the be_steer[]
|
||||
* variable length array.
|
||||
*/
|
||||
A_UINT32 num_elems_be_steer_arr;
|
||||
/**
|
||||
* This field will be filled by target with value of
|
||||
* sizeof(htt_txbf_ofdma_be_steer_stats_elem_t).
|
||||
* This is for allowing host to infer how much data target has provided,
|
||||
* even if it using different version of the struct than what target
|
||||
* had used.
|
||||
*/
|
||||
A_UINT32 arr_elem_size_be_steer;
|
||||
htt_txbf_ofdma_be_steer_stats_elem_t be_steer[1]; /* variable length */
|
||||
} htt_txbf_ofdma_be_steer_stats_tlv;
|
||||
|
||||
/* STATS_TYPE : HTT_DBG_EXT_STATS_TXBF_OFDMA
|
||||
* TLV_TAGS:
|
||||
* - HTT_STATS_TXBF_OFDMA_NDPA_STATS_TAG
|
||||
* - HTT_STATS_TXBF_OFDMA_NDP_STATS_TAG
|
||||
* - HTT_STATS_TXBF_OFDMA_BRP_STATS_TAG
|
||||
* - HTT_STATS_TXBF_OFDMA_STEER_STATS_TAG
|
||||
* - HTT_STATS_TXBF_OFDMA_BE_NDPA_STATS_TAG
|
||||
* - HTT_STATS_TXBF_OFDMA_BE_NDP_STATS_TAG
|
||||
* - HTT_STATS_TXBF_OFDMA_BE_BRP_STATS_TAG
|
||||
* - HTT_STATS_TXBF_OFDMA_BE_STEER_STATS_TAG
|
||||
*/
|
||||
/* NOTE:
|
||||
* This structure is for documentation, and cannot be safely used directly.
|
||||
* Instead, use the constituent TLV structures to fill/parse.
|
||||
*/
|
||||
typedef struct {
|
||||
htt_txbf_ofdma_ndpa_stats_tlv ofdma_ndpa_tlv;
|
||||
htt_txbf_ofdma_ndp_stats_tlv ofdma_ndp_tlv;
|
||||
htt_txbf_ofdma_brp_stats_tlv ofdma_brp_tlv;
|
||||
htt_txbf_ofdma_steer_stats_tlv ofdma_steer_tlv;
|
||||
} htt_tx_pdev_txbf_ofdma_stats_t;
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
|
|
@ -3246,6 +3567,14 @@ typedef struct {
|
|||
A_UINT32 tqm_active_tids;
|
||||
A_UINT32 tqm_inactive_tids;
|
||||
A_UINT32 tqm_active_msduq_flows;
|
||||
|
||||
/* SAWF system delay reference timestamp updation related stats */
|
||||
A_UINT32 total_msduq_timestamp_updates;
|
||||
A_UINT32 total_msduq_timestamp_updates_by_get_mpdu_head_info_cmd;
|
||||
A_UINT32 total_msduq_timestamp_updates_by_empty_to_nonempty_status;
|
||||
A_UINT32 total_get_mpdu_head_info_cmds_by_sched_algo_la_query;
|
||||
A_UINT32 total_get_mpdu_head_info_cmds_by_tac;
|
||||
A_UINT32 total_gen_mpdu_cmds_by_sched_algo_la_query;
|
||||
} htt_tx_tqm_cmn_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -4320,6 +4649,10 @@ typedef struct {
|
|||
A_UINT32 ofdma_tx_ru_size[HTT_TX_PDEV_STATS_NUM_AX_RU_SIZE_COUNTERS];
|
||||
/** 11AX HE DL MU OFDMA HE-SIG-B MCS stats */
|
||||
A_UINT32 ofdma_he_sig_b_mcs[HTT_TX_PDEV_STATS_NUM_HE_SIG_B_MCS_COUNTERS];
|
||||
/** 11AX HE SU data + embedded trigger PPDU success stats (stats for HETP ack success PPDU cnt) */
|
||||
A_UINT32 ax_su_embedded_trigger_data_ppdu;
|
||||
/** 11AX HE SU data + embedded trigger PPDU failure stats (stats for HETP ack failure PPDU cnt) */
|
||||
A_UINT32 ax_su_embedded_trigger_data_ppdu_err;
|
||||
} htt_tx_pdev_rate_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -4653,13 +4986,15 @@ typedef struct {
|
|||
*/
|
||||
A_UINT32 rx_ulofdma_data_nusers[HTT_RX_PDEV_MAX_OFDMA_NUM_USER];
|
||||
|
||||
/*
|
||||
* NOTE - this TLV is already large enough that it causes the HTT message
|
||||
* carrying it to be nearly at the message size limit that applies to
|
||||
* many targets/hosts.
|
||||
* No further fields should be added to this TLV without very careful
|
||||
* review to ensure the size increase is acceptable.
|
||||
*/
|
||||
/* Stats for MCS 12/13 */
|
||||
A_UINT32 rx_mcs_ext[HTT_RX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS];
|
||||
/*
|
||||
* NOTE - this TLV is already large enough that it causes the HTT message
|
||||
* carrying it to be nearly at the message size limit that applies to
|
||||
* many targets/hosts.
|
||||
* No further fields should be added to this TLV without very careful
|
||||
* review to ensure the size increase is acceptable.
|
||||
*/
|
||||
} htt_rx_pdev_rate_stats_tlv;
|
||||
|
||||
/* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_RX_RATE
|
||||
|
|
@ -5681,6 +6016,7 @@ typedef enum {
|
|||
HTT_TX_AC_SOUNDING_MODE = 0,
|
||||
HTT_TX_AX_SOUNDING_MODE = 1,
|
||||
HTT_TX_BE_SOUNDING_MODE = 2,
|
||||
HTT_TX_CMN_SOUNDING_MODE = 3,
|
||||
} htt_stats_sounding_tx_mode;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -5860,6 +6196,36 @@ typedef struct {
|
|||
* Count of number of times PSR based TX transmissions were successful.
|
||||
*/
|
||||
A_UINT32 num_psr_ppdu_success;
|
||||
/**
|
||||
* Count of number of times TX PPDU per access category were transmitted
|
||||
* using non-SRG opportunities created.
|
||||
*/
|
||||
A_UINT32 num_non_srg_ppdu_tried_per_ac[HTT_NUM_AC_WMM];
|
||||
/**
|
||||
* Count of number of times non-SRG based TX transmissions per access
|
||||
* category were successful
|
||||
*/
|
||||
A_UINT32 num_non_srg_ppdu_success_per_ac[HTT_NUM_AC_WMM];
|
||||
/**
|
||||
* Count of number of times TX PPDU per access category were transmitted
|
||||
* using SRG opportunities created.
|
||||
*/
|
||||
A_UINT32 num_srg_ppdu_tried_per_ac[HTT_NUM_AC_WMM];
|
||||
/**
|
||||
* Count of number of times SRG based TX transmissions per access
|
||||
* category were successful
|
||||
*/
|
||||
A_UINT32 num_srg_ppdu_success_per_ac[HTT_NUM_AC_WMM];
|
||||
/**
|
||||
* Count of number of times ppdu was flushed due to ongoing OBSS
|
||||
* frame duration value lesser than minimum required frame duration.
|
||||
*/
|
||||
A_UINT32 num_obss_min_duration_check_flush_cnt;
|
||||
/**
|
||||
* Count of number of times ppdu was flushed due to ppdu duration
|
||||
* exceeding aborted OBSS frame duration
|
||||
*/
|
||||
A_UINT32 num_sr_ppdu_abort_flush_cnt;
|
||||
} htt_pdev_obss_pd_stats_tlv;
|
||||
|
||||
/* NOTE:
|
||||
|
|
@ -6172,6 +6538,19 @@ typedef struct {
|
|||
A_UINT32 mpdus_failed;
|
||||
} htt_tx_rate_stats_t;
|
||||
|
||||
typedef enum {
|
||||
HTT_RC_MODE_SU_OL,
|
||||
HTT_RC_MODE_SU_BF,
|
||||
HTT_RC_MODE_MU1_INTF,
|
||||
HTT_RC_MODE_MU2_INTF,
|
||||
HTT_Rc_MODE_MU3_INTF,
|
||||
HTT_RC_MODE_MU4_INTF,
|
||||
HTT_RC_MODE_MU5_INTF,
|
||||
HTT_RC_MODE_MU6_INTF,
|
||||
HTT_RC_MODE_MU7_INTF,
|
||||
HTT_RC_MODE_2D_COUNT,
|
||||
} HTT_RC_MODE;
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
|
||||
|
|
@ -6193,6 +6572,7 @@ typedef struct {
|
|||
/** 320MHz extension for PER */
|
||||
htt_tx_rate_stats_t per_bw320;
|
||||
|
||||
A_UINT32 probe_cnt_per_rcmode[HTT_RC_MODE_2D_COUNT];
|
||||
} htt_tx_rate_stats_per_tlv;
|
||||
|
||||
/* NOTE:
|
||||
|
|
@ -6386,6 +6766,8 @@ typedef struct {
|
|||
A_UINT32 rx_ftm_cnt;
|
||||
/** Initiator Terminate count */
|
||||
A_UINT32 initiator_terminate_cnt;
|
||||
/** Debug count to check the Measurement request from host */
|
||||
A_UINT32 tx_meas_req_count;
|
||||
} htt_vdev_rtt_init_stats_tlv;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -6869,4 +7251,24 @@ typedef struct {
|
|||
} burst_size;
|
||||
} htt_stats_strm_gen_mpdus_details_tlv_t;
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
A_UINT32 reset_count;
|
||||
/** lower portion (bits 31:0) of reset time, in milliseconds */
|
||||
A_UINT32 reset_time_lo_ms;
|
||||
/** upper portion (bits 63:32) of reset time, in milliseconds */
|
||||
A_UINT32 reset_time_hi_ms;
|
||||
/** lower portion (bits 31:0) of disengage time, in milliseconds */
|
||||
A_UINT32 disengage_time_lo_ms;
|
||||
/** upper portion (bits 63:32) of disengage time, in milliseconds */
|
||||
A_UINT32 disengage_time_hi_ms;
|
||||
/** lower portion (bits 31:0) of engage time, in milliseconds */
|
||||
A_UINT32 engage_time_lo_ms;
|
||||
/** upper portion (bits 63:32) of engage time, in milliseconds */
|
||||
A_UINT32 engage_time_hi_ms;
|
||||
A_UINT32 disengage_count;
|
||||
A_UINT32 engage_count;
|
||||
A_UINT32 drain_dest_ring_mask;
|
||||
} htt_dmac_reset_stats_tlv;
|
||||
|
||||
#endif /* __HTT_STATS_H__ */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2013-2016, 2018-2021 The Linux Foundation. All rights reserved.*
|
||||
* Copyright (c) 2013-2016, 2018-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||
*
|
||||
|
|
@ -1313,7 +1314,7 @@ typedef enum {
|
|||
|
||||
/** MGMT RX REO Changes */
|
||||
/* Macros for having versioning info for compatibility check between host and firmware */
|
||||
#define MLO_SHMEM_MAJOR_VERSION 1
|
||||
#define MLO_SHMEM_MAJOR_VERSION 2
|
||||
#define MLO_SHMEM_MINOR_VERSION 1
|
||||
|
||||
/** Helper Macros for tlv header of the given tlv buffer */
|
||||
|
|
@ -1357,6 +1358,36 @@ typedef enum {
|
|||
(_var) |= (((_val) & ((1 << (_num_bits)) - 1)) << (_index)); \
|
||||
} while (0)
|
||||
|
||||
/**
|
||||
* Enum which defines different versions of management Rx reorder snapshots.
|
||||
*/
|
||||
typedef enum {
|
||||
/**
|
||||
* DWORD Lower:
|
||||
* [15:0] : Management packet counter
|
||||
* [30:16] : Redundant global time stamp = Global time stamp[14:0]
|
||||
* [31] : Valid
|
||||
*
|
||||
* DWORD Upper:
|
||||
* [31:0] : Global time stamp
|
||||
*
|
||||
*/
|
||||
MGMT_RX_REO_SNAPSHOT_VERSION_TIMESTAMP_REDUNDANCY = 0,
|
||||
|
||||
/**
|
||||
* DWORD Lower:
|
||||
* [14:0] : Global time stamp[14:0]
|
||||
* [30:15] : Management packet counter
|
||||
* [31] : Valid
|
||||
*
|
||||
* DWORD Upper:
|
||||
* [14:0] : Redundant management packet counter = Management packet
|
||||
* counter[14:0]
|
||||
* [31:15] : Global time stamp[31:15]
|
||||
*/
|
||||
MGMT_RX_REO_SNAPSHOT_VERSION_PKT_CTR_REDUNDANCY = 1,
|
||||
} MGMT_RX_REO_SNAPSHOT_VERSION;
|
||||
|
||||
/** Definition of the GLB_H_SHMEM arena tlv structures */
|
||||
|
||||
typedef enum {
|
||||
|
|
@ -1400,6 +1431,152 @@ typedef enum {
|
|||
#define MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_GET_ADRESS(mgmt_rx_reo_snapshot) \
|
||||
(&mgmt_rx_reo_snapshot->mgmt_rx_reo_snapshot_low)
|
||||
|
||||
/**
|
||||
* Helper macros/functions for params GET/SET of different hw version
|
||||
* of the mgmt_rx_reo_snapshot
|
||||
*/
|
||||
|
||||
static INLINE A_UINT8
|
||||
MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_VALID_GET(
|
||||
A_UINT32 mgmt_rx_reo_snapshot_low, A_UINT8 snapshot_ver)
|
||||
{
|
||||
if ((snapshot_ver != MGMT_RX_REO_SNAPSHOT_VERSION_TIMESTAMP_REDUNDANCY) &&
|
||||
(snapshot_ver != MGMT_RX_REO_SNAPSHOT_VERSION_PKT_CTR_REDUNDANCY))
|
||||
{
|
||||
A_ASSERT(0);
|
||||
}
|
||||
|
||||
return MLO_SHMEM_GET_BITS(mgmt_rx_reo_snapshot_low, 31, 1);
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_VALID_SET(
|
||||
A_UINT32 *mgmt_rx_reo_snapshot_low, A_UINT8 value, A_UINT8 snapshot_ver)
|
||||
{
|
||||
if ((snapshot_ver != MGMT_RX_REO_SNAPSHOT_VERSION_TIMESTAMP_REDUNDANCY) &&
|
||||
(snapshot_ver != MGMT_RX_REO_SNAPSHOT_VERSION_PKT_CTR_REDUNDANCY)) {
|
||||
A_ASSERT(0);
|
||||
}
|
||||
|
||||
MLO_SHMEM_SET_BITS(*mgmt_rx_reo_snapshot_low, 31, 1, value);
|
||||
}
|
||||
|
||||
static INLINE A_UINT16
|
||||
MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_MGMT_PKT_CTR_GET(
|
||||
A_UINT32 mgmt_rx_reo_snapshot_low, A_UINT8 snapshot_ver)
|
||||
{
|
||||
if (snapshot_ver == MGMT_RX_REO_SNAPSHOT_VERSION_TIMESTAMP_REDUNDANCY) {
|
||||
return MLO_SHMEM_GET_BITS(mgmt_rx_reo_snapshot_low, 0, 16);
|
||||
} else if (snapshot_ver == MGMT_RX_REO_SNAPSHOT_VERSION_PKT_CTR_REDUNDANCY){
|
||||
return MLO_SHMEM_GET_BITS(mgmt_rx_reo_snapshot_low, 15, 16);
|
||||
} else {
|
||||
A_ASSERT(0);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_MGMT_PKT_CTR_SET(
|
||||
A_UINT32 *mgmt_rx_reo_snapshot_low, A_UINT16 value, A_UINT8 snapshot_ver)
|
||||
{
|
||||
if (snapshot_ver == MGMT_RX_REO_SNAPSHOT_VERSION_TIMESTAMP_REDUNDANCY) {
|
||||
MLO_SHMEM_SET_BITS(*mgmt_rx_reo_snapshot_low, 0, 16, value);
|
||||
} else if (snapshot_ver == MGMT_RX_REO_SNAPSHOT_VERSION_PKT_CTR_REDUNDANCY){
|
||||
MLO_SHMEM_SET_BITS(*mgmt_rx_reo_snapshot_low, 15, 16, value);
|
||||
} else {
|
||||
A_ASSERT(0);
|
||||
}
|
||||
}
|
||||
|
||||
#define MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_MGMT_PKT_CTR_REDUNDANT_GET( \
|
||||
mgmt_rx_reo_snapshot_high) \
|
||||
MLO_SHMEM_GET_BITS(mgmt_rx_reo_snapshot_high, 0, 15)
|
||||
#define MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_MGMT_PKT_CTR_REDUNDANT_SET( \
|
||||
mgmt_rx_reo_snapshot_high, value) \
|
||||
MLO_SHMEM_SET_BITS(mgmt_rx_reo_snapshot_high, 0, 15, value)
|
||||
|
||||
#define MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_GLOBAL_TIMESTAMP_REDUNDANT_GET( \
|
||||
mgmt_rx_reo_snapshot_low) \
|
||||
MLO_SHMEM_GET_BITS(mgmt_rx_reo_snapshot_low, 16, 15)
|
||||
#define MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_GLOBAL_TIMESTAMP_REDUNDANT_SET( \
|
||||
mgmt_rx_reo_snapshot_low, value) \
|
||||
MLO_SHMEM_SET_BITS(mgmt_rx_reo_snapshot_low, 16, 15, value)
|
||||
|
||||
static INLINE A_UINT32
|
||||
MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_GLOBAL_TIMESTAMP_GET(
|
||||
A_UINT32 mgmt_rx_reo_snapshot_low,
|
||||
A_UINT32 mgmt_rx_reo_snapshot_high,
|
||||
A_UINT8 snapshot_ver)
|
||||
{
|
||||
if (snapshot_ver == MGMT_RX_REO_SNAPSHOT_VERSION_TIMESTAMP_REDUNDANCY) {
|
||||
return mgmt_rx_reo_snapshot_high;
|
||||
} else if (snapshot_ver == MGMT_RX_REO_SNAPSHOT_VERSION_PKT_CTR_REDUNDANCY){
|
||||
return
|
||||
((MLO_SHMEM_GET_BITS(mgmt_rx_reo_snapshot_high, 15, 17) << 15) |
|
||||
MLO_SHMEM_GET_BITS(mgmt_rx_reo_snapshot_low, 0, 15));
|
||||
} else {
|
||||
A_ASSERT(0);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_GLOBAL_TIMESTAMP_SET(
|
||||
A_UINT32 *mgmt_rx_reo_snapshot_low,
|
||||
A_UINT32 *mgmt_rx_reo_snapshot_high,
|
||||
A_UINT32 value,
|
||||
A_UINT8 snapshot_ver)
|
||||
{
|
||||
if (snapshot_ver == MGMT_RX_REO_SNAPSHOT_VERSION_TIMESTAMP_REDUNDANCY) {
|
||||
*mgmt_rx_reo_snapshot_high = value;
|
||||
} else if (snapshot_ver == MGMT_RX_REO_SNAPSHOT_VERSION_PKT_CTR_REDUNDANCY){
|
||||
MLO_SHMEM_SET_BITS(
|
||||
*mgmt_rx_reo_snapshot_high, 15, 17, ((value) >> 15));
|
||||
MLO_SHMEM_SET_BITS(
|
||||
*mgmt_rx_reo_snapshot_low, 0, 15, ((value) & 0x7fff));
|
||||
} else {
|
||||
A_ASSERT(0);
|
||||
}
|
||||
}
|
||||
|
||||
static INLINE A_BOOL
|
||||
MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_CHECK_CONSISTENCY(
|
||||
A_UINT32 mgmt_rx_reo_snapshot_low,
|
||||
A_UINT32 mgmt_rx_reo_snapshot_high,
|
||||
A_UINT8 snapshot_ver)
|
||||
{
|
||||
if (snapshot_ver == MGMT_RX_REO_SNAPSHOT_VERSION_TIMESTAMP_REDUNDANCY) {
|
||||
A_UINT32 global_timestamp;
|
||||
A_UINT32 global_timestamp_redundant;
|
||||
|
||||
global_timestamp = MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_GLOBAL_TIMESTAMP_GET(
|
||||
mgmt_rx_reo_snapshot_low, mgmt_rx_reo_snapshot_high, snapshot_ver);
|
||||
global_timestamp_redundant =
|
||||
MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_GLOBAL_TIMESTAMP_REDUNDANT_GET(
|
||||
mgmt_rx_reo_snapshot_low);
|
||||
|
||||
return
|
||||
(MLO_SHMEM_GET_BITS(global_timestamp, 0, 15) ==
|
||||
MLO_SHMEM_GET_BITS(global_timestamp_redundant, 0, 15));
|
||||
} else if (snapshot_ver == MGMT_RX_REO_SNAPSHOT_VERSION_PKT_CTR_REDUNDANCY){
|
||||
A_UINT16 mgmt_pkt_ctr;
|
||||
A_UINT16 mgmt_pkt_ctr_redundant;
|
||||
|
||||
mgmt_pkt_ctr = MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_MGMT_PKT_CTR_GET(
|
||||
mgmt_rx_reo_snapshot_low, snapshot_ver);
|
||||
mgmt_pkt_ctr_redundant =
|
||||
MLO_SHMEM_MGMT_RX_REO_SNAPSHOT_MGMT_PKT_CTR_REDUNDANT_GET(
|
||||
mgmt_rx_reo_snapshot_high);
|
||||
|
||||
return
|
||||
(MLO_SHMEM_GET_BITS(mgmt_pkt_ctr, 0, 15) ==
|
||||
MLO_SHMEM_GET_BITS(mgmt_pkt_ctr_redundant, 0, 15));
|
||||
} else {
|
||||
A_ASSERT(0);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* REO snapshot structure */
|
||||
typedef struct {
|
||||
/* TLV tag and len; tag equals MLO_SHMEM_TLV_STRUCT_MGMT_RX_REO_SNAPSHOT */
|
||||
|
|
@ -1452,6 +1629,15 @@ A_COMPILE_TIME_ASSERT(verify_mlo_glb_rx_reo_per_link_snapshot_fw_consumed_offset
|
|||
#define MLO_SHMEM_GLB_RX_REO_SNAPSHOT_PARAM_VALID_LINK_BMAP_GET(link_info) MLO_SHMEM_GET_BITS(link_info, 4, 16)
|
||||
#define MLO_SHMEM_GLB_RX_REO_SNAPSHOT_PARAM_VALID_LINK_BMAP_SET(link_info, value) MLO_SHMEM_SET_BITS(link_info, 4, 16, value)
|
||||
|
||||
#define MLO_SHMEM_GLB_RX_REO_SNAPSHOT_PARAM_HW_FWD_SNAPSHOT_VER_GET(snapshot_ver_info) MLO_SHMEM_GET_BITS(snapshot_ver_info, 0, 3)
|
||||
#define MLO_SHMEM_GLB_RX_REO_SNAPSHOT_PARAM_HW_FWD_SNAPSHOT_VER_SET(snapshot_ver_info, value) MLO_SHMEM_SET_BITS(snapshot_ver_info, 0, 3, value)
|
||||
|
||||
#define MLO_SHMEM_GLB_RX_REO_SNAPSHOT_PARAM_FW_FWD_SNAPSHOT_VER_GET(snapshot_ver_info) MLO_SHMEM_GET_BITS(snapshot_ver_info, 3, 3)
|
||||
#define MLO_SHMEM_GLB_RX_REO_SNAPSHOT_PARAM_FW_FWD_SNAPSHOT_VER_SET(snapshot_ver_info, value) MLO_SHMEM_SET_BITS(snapshot_ver_info, 3, 3, value)
|
||||
|
||||
#define MLO_SHMEM_GLB_RX_REO_SNAPSHOT_PARAM_FW_CONSUMED_SNAPSHOT_VER_GET(snapshot_ver_info) MLO_SHMEM_GET_BITS(snapshot_ver_info, 6, 3)
|
||||
#define MLO_SHMEM_GLB_RX_REO_SNAPSHOT_PARAM_FW_CONSUMED_SNAPSHOT_VER_SET(snapshot_ver_info, value) MLO_SHMEM_SET_BITS(snapshot_ver_info, 6, 3, value)
|
||||
|
||||
/* Definition of the complete REO snapshot info */
|
||||
typedef struct {
|
||||
/* TLV tag and len; tag equals MLO_SHMEM_TLV_STRUCT_MLO_GLB_RX_REO_SNAPSHOT_INFO */
|
||||
|
|
@ -1465,6 +1651,18 @@ typedef struct {
|
|||
* [31:20]: reserved
|
||||
*/
|
||||
A_UINT32 link_info;
|
||||
|
||||
/**
|
||||
* snapshot_ver_info
|
||||
*
|
||||
* [2:0]: hw_forwarded snapshot version
|
||||
* [5:3]: fw_forwarded snapshot version
|
||||
* [8:6]: fw_consumed snapshot version
|
||||
* [31:9]: reserved
|
||||
*/
|
||||
A_UINT32 snapshot_ver_info;
|
||||
A_UINT32 reserved_alignment_padding;
|
||||
|
||||
/* This TLV is followed by array of mlo_glb_rx_reo_per_link_snapshot_info:
|
||||
* mlo_glb_rx_reo_per_link_snapshot_info will have multiple instances
|
||||
* equal to num of hw links received by no_of_link
|
||||
|
|
|
|||
|
|
@ -581,6 +581,12 @@ typedef enum {
|
|||
WMI_SERVICE_DELETE_ALL_PEER_BITMAP_SUPPORT = 328, /* target supports cmd to delete all specific peer type within a vdev */
|
||||
WMI_SERVICE_PN_REPLAY_CHECK_SUPPORT = 329, /* FW support to check RX mgmt frames has invalid PN in packets */
|
||||
WMI_SERVICE_COMBINED_SET_PARAM_SUPPORT = 330, /* FW Supporting set param cmd combined for multiple params */
|
||||
WMI_SERVICE_PDEV_RSSI_DBM_CONV_EVENT_SUPPORT = 331, /* FW supports advertising RSSI dB to dBm conversion params to host via WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID */
|
||||
WMI_SERVICE_PDEV_TELEMETRY_STATS_SUPPORT = 332,
|
||||
WMI_SERVICE_ROAM_STAT_PER_CANDIDATE_FRAME_INFO_SUPPORT = 333, /* FW supports to send frame info for each candidate in roam stat */
|
||||
WMI_SERVICE_HW_TX_POWER_CAPS_SIGNED_SUPPORT = 334, /* Indicates FW supports updating of Tx power capabilities as signed value */
|
||||
WMI_SERVICE_MULTI_CLIENT_LL_SUPPORT = 335, /* FW supports set param cmd combined for multiple params */
|
||||
WMI_SERVICE_AFC_PAYLOAD_CLEAR_SUPPORT = 336, /* FW supports clearing the AFC response payload in proxy mode */
|
||||
|
||||
WMI_MAX_EXT2_SERVICE
|
||||
|
||||
|
|
|
|||
|
|
@ -201,6 +201,7 @@ typedef enum {
|
|||
WMITLV_TAG_ARRAY_STRUC,
|
||||
WMITLV_TAG_ARRAY_FIXED_STRUC,
|
||||
WMITLV_TAG_ARRAY_INT16,
|
||||
WMITLV_TAG_ARRAY_INT32,
|
||||
WMITLV_TAG_LAST_ARRAY_ENUM = 31, /* Last entry of ARRAY type tags */
|
||||
WMITLV_TAG_STRUC_wmi_service_ready_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_HAL_REG_CAPABILITIES,
|
||||
|
|
@ -1254,6 +1255,19 @@ typedef enum {
|
|||
WMITLV_TAG_STRUC_wmi_vdev_pn_mgmt_rx_filter_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_set_multiple_pdev_vdev_param_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_set_param_info,
|
||||
WMITLV_TAG_STRUC_wmi_pmm_scratch_reg_allocation_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_pmm_scratch_reg_info,
|
||||
WMITLV_TAG_STRUC_wmi_pmm_available_scratch_reg_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_pmm_available_scratch_reg_info,
|
||||
WMITLV_TAG_STRUC_wmi_pmm_scratch_reg_allocation_complete_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_bcn_tmpl_ml_info,
|
||||
WMITLV_TAG_STRUC_wmi_peer_tx_filter_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_telemetry_stats,
|
||||
WMITLV_TAG_STRUC_wmi_mgmt_ml_info,
|
||||
WMITLV_TAG_STRUC_wmi_vdev_latency_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_tid_to_link_map,
|
||||
WMITLV_TAG_STRUC_wmi_peer_tid_to_link_map_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_peer_assoc_tid_to_link_map,
|
||||
} WMITLV_TAG_ID;
|
||||
|
||||
/*
|
||||
|
|
@ -1745,6 +1759,9 @@ typedef enum {
|
|||
OP(WMI_PEER_RX_PN_REQUEST_CMDID) \
|
||||
OP(WMI_VDEV_PN_MGMT_RX_FILTER_CMDID) \
|
||||
OP(WMI_SET_MULTIPLE_PDEV_VDEV_PARAM_CMDID) \
|
||||
OP(WMI_PMM_SCRATCH_REG_ALLOCATION_CMDID) \
|
||||
OP(WMI_PEER_TX_FILTER_CMDID) \
|
||||
OP(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID) \
|
||||
/* add new CMD_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -2028,6 +2045,9 @@ typedef enum {
|
|||
OP(WMI_RTT_PASN_PEER_DELETE_EVENTID) \
|
||||
OP(WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID) \
|
||||
OP(WMI_PEER_RX_PN_RESPONSE_EVENTID) \
|
||||
OP(WMI_PMM_AVAILABLE_SCRATCH_REG_EVENTID) \
|
||||
OP(WMI_PMM_SCRATCH_REG_ALLOCATION_COMPLETE_EVENTID) \
|
||||
OP(WMI_VDEV_LATENCY_LEVEL_EVENTID) \
|
||||
/* add new EVT_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -2469,7 +2489,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PRB_TMPL_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_bcn_tmpl_cmd_fixed_param, wmi_bcn_tmpl_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_bcn_prb_info, wmi_bcn_prb_info, bcn_prb_info, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_bcn_tmpl_ml_params, ml_bcn_param, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_bcn_tmpl_ml_params, ml_bcn_param, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_bcn_tmpl_ml_info, ml_bcn_info, WMITLV_SIZE_VAR)
|
||||
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_BCN_TMPL_CMDID);
|
||||
|
||||
|
|
@ -2513,7 +2534,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_he_rate_set, peer_he_rates, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_params, mlo_params, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_eht_rate_set, peer_eht_rates, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_partner_link_params, partner_link_params, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_partner_link_params, partner_link_params, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_tid_to_link_map, peer_tid_to_link_map, WMITLV_SIZE_VAR)
|
||||
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CMDID);
|
||||
|
||||
|
|
@ -4203,6 +4225,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_DSCP_TID_MAP_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_filter_nrp_config_cmd_fixed_param, wmi_vdev_filter_nrp_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_FILTER_NEIGHBOR_RX_PACKETS_CMDID);
|
||||
|
||||
/* Configure filter for Mac addr based filtering*/
|
||||
#define WMITLV_TABLE_WMI_PEER_TX_FILTER_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_tx_filter_cmd_fixed_param, wmi_peer_tx_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_TX_FILTER_CMDID);
|
||||
|
||||
/* Configure filter for PN Rx Pkt indication which pkts need to be forwarded to host */
|
||||
#define WMITLV_TABLE_WMI_VDEV_PN_MGMT_RX_FILTER_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_pn_mgmt_rx_filter_cmd_fixed_param, wmi_vdev_pn_mgmt_rx_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
|
|
@ -4882,6 +4909,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_READY_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_teardown_fixed_param, wmi_mlo_teardown_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_TEARDOWN_CMDID);
|
||||
|
||||
/** WMI cmd used to setup Tid to Link Mapping for a MLO Peer */
|
||||
#define WMITLV_TABLE_WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_tid_to_link_map_fixed_param, wmi_peer_tid_to_link_map_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_tid_to_link_map, tid_to_link_map, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID);
|
||||
|
||||
/* Mcast ipv4 address filter list cmd */
|
||||
#define WMITLV_TABLE_WMI_VDEV_IGMP_OFFLOAD_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_igmp_offload_fixed_param, wmi_igmp_offload_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
|
|
@ -4980,6 +5013,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_RTT_PASN_AUTH_STATUS_CMD);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_rtt_pasn_deauth_cmd_fixed_param, wmi_rtt_pasn_deauth_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_RTT_PASN_DEAUTH_CMD);
|
||||
|
||||
/* Allocate PMM scratch registers */
|
||||
#define WMITLV_TABLE_WMI_PMM_SCRATCH_REG_ALLOCATION_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pmm_scratch_reg_allocation_cmd_fixed_param, wmi_pmm_scratch_reg_allocation_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pmm_scratch_reg_info, scratch_reg_info, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PMM_SCRATCH_REG_ALLOCATION_CMDID);
|
||||
|
||||
|
||||
|
||||
/************************** TLV definitions of WMI events *******************************/
|
||||
|
|
@ -5033,7 +5072,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_htt_msdu_idx_to_htt_msdu_qtype, htt_msdu_idx_to_qtype_map, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dbs_or_sbs_cap_ext, dbs_or_sbs_cap_ext, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_cust_bdf_version_capabilities, cust_bdf_version_capabilities, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_sw_cal_ver_cap, sw_cal_ver_cap, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_sw_cal_ver_cap, sw_cal_ver_cap, WMITLV_SIZE_VAR) \
|
||||
WMITLV_FXAR(id,op,buf,len, WMITLV_TAG_ARRAY_INT32, A_INT32, hw_tx_power_signed, WMITLV_SIZE_FIX, WMI_HW_TX_POWER_CAPS_MAX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT2_EVENTID);
|
||||
|
||||
#define WMITLV_TABLE_WMI_SPECTRAL_CAPABILITIES_EVENTID(id,op,buf,len) \
|
||||
|
|
@ -5243,7 +5283,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STA_KICKOUT_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_rssi_ctl_ext, rssi_ctl_ext, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mgmt_rx_reo_params, wmi_mgmt_rx_reo_params, reo_params, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mgmt_rx_params_ext, mgmt_rx_params_ext, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_frame_pn_params, pn_params, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_frame_pn_params, pn_params, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mgmt_ml_info, ml_info, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bpcc_bufp, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_EVENTID);
|
||||
|
||||
/* Management Rx FW Consumed Event */
|
||||
|
|
@ -5535,7 +5577,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_HOST_SWFDA_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_extd2_stats, peer_extd2_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pmf_bcn_protect_stats, pmf_bcn_protect_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_extd_stats, vdev_extd_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_extd_stats, pdev_extd_stats, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_extd_stats, pdev_extd_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_telemetry_stats, pdev_telemetry_stats, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_UPDATE_STATS_EVENTID);
|
||||
|
||||
/* Update PN response Event */
|
||||
|
|
@ -6651,6 +6694,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_TPC_STATS_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_bcn_latency_fixed_param, wmi_vdev_bcn_latency_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_BCN_LATENCY_EVENTID);
|
||||
|
||||
/* Latency Level Event */
|
||||
#define WMITLV_TABLE_WMI_VDEV_LATENCY_LEVEL_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_latency_event_fixed_param, wmi_vdev_latency_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_LATENCY_LEVEL_EVENTID);
|
||||
|
||||
/* TWT Stats session event */
|
||||
#define WMITLV_TABLE_WMI_TWT_SESSION_STATS_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_twt_session_stats_event_fixed_param, wmi_pdev_twt_session_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
|
|
@ -6737,6 +6785,17 @@ WMITLV_CREATE_PARAM_STRUC(WMI_RTT_PASN_PEER_CREATE_REQ_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_rtt_pasn_peer_delete_param, rtt_pasn_peer_param, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_RTT_PASN_PEER_DELETE_EVENTID);
|
||||
|
||||
/* Available PMM scratch registers event */
|
||||
#define WMITLV_TABLE_WMI_PMM_AVAILABLE_SCRATCH_REG_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pmm_available_scratch_reg_event_fixed_param, wmi_pmm_available_scratch_reg_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pmm_available_scratch_reg_info, pmm_available_scratch_reg_info, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PMM_AVAILABLE_SCRATCH_REG_EVENTID);
|
||||
|
||||
/* Allocate PMM scratch registers event */
|
||||
#define WMITLV_TABLE_WMI_PMM_SCRATCH_REG_ALLOCATION_COMPLETE_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pmm_scratch_reg_allocation_complete_event_fixed_param, wmi_pmm_scratch_reg_allocation_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PMM_SCRATCH_REG_ALLOCATION_COMPLETE_EVENTID);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
|||
|
|
@ -703,6 +703,8 @@ typedef enum {
|
|||
|
||||
WMI_PEER_RX_PN_REQUEST_CMDID,
|
||||
|
||||
/* Mac addr based filtering*/
|
||||
WMI_PEER_TX_FILTER_CMDID,
|
||||
|
||||
/* beacon/management specific commands */
|
||||
|
||||
|
|
@ -1146,6 +1148,9 @@ typedef enum {
|
|||
*/
|
||||
WMI_SET_MULTIPLE_PDEV_VDEV_PARAM_CMDID,
|
||||
|
||||
/* WMI cmd used to allocate HW scratch registers */
|
||||
WMI_PMM_SCRATCH_REG_ALLOCATION_CMDID,
|
||||
|
||||
/* Offload 11k related requests */
|
||||
WMI_11K_OFFLOAD_REPORT_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_11K_OFFLOAD),
|
||||
/* invoke neighbor report from FW */
|
||||
|
|
@ -1455,6 +1460,8 @@ typedef enum {
|
|||
WMI_MLO_READY_CMDID,
|
||||
/** WMI cmd used for tearing down a hw_link part of MLO */
|
||||
WMI_MLO_TEARDOWN_CMDID,
|
||||
/** WMI cmd used to setup Tid to Link Mapping for a MLO Peer */
|
||||
WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID,
|
||||
|
||||
/** WMI commands specific to Service Aware WiFi (SAWF) */
|
||||
/** configure or reconfigure the parameters for a service class */
|
||||
|
|
@ -1612,7 +1619,7 @@ typedef enum {
|
|||
WMI_PDEV_PKTLOG_DECODE_INFO_EVENTID,
|
||||
|
||||
/**
|
||||
* RSSI dB to dDm conversion params info event
|
||||
* RSSI dB to dBm conversion params info event
|
||||
* sent to host after channel/bw/chainmask change per pdev.
|
||||
*/
|
||||
WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID,
|
||||
|
|
@ -1690,6 +1697,8 @@ typedef enum {
|
|||
WMI_VDEV_SMART_MONITOR_EVENTID,
|
||||
/** Send status of vdev mac address update request to host */
|
||||
WMI_VDEV_UPDATE_MAC_ADDR_CONF_EVENTID,
|
||||
/** event to report latency level honored by FW */
|
||||
WMI_VDEV_LATENCY_LEVEL_EVENTID,
|
||||
|
||||
/* peer specific events */
|
||||
/** FW reauet to kick out the station for reasons like inactivity,lack of response ..etc */
|
||||
|
|
@ -2061,6 +2070,12 @@ typedef enum {
|
|||
/** event to report ANI level of the channels */
|
||||
WMI_GET_CHANNEL_ANI_EVENTID,
|
||||
|
||||
/* WMI event to available scratch registers */
|
||||
WMI_PMM_AVAILABLE_SCRATCH_REG_EVENTID,
|
||||
|
||||
/* WMI event to scratch registers allocation */
|
||||
WMI_PMM_SCRATCH_REG_ALLOCATION_COMPLETE_EVENTID,
|
||||
|
||||
/* GPIO Event */
|
||||
WMI_GPIO_INPUT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_GPIO),
|
||||
/** upload H_CV info WMI event
|
||||
|
|
@ -2807,6 +2822,16 @@ typedef enum {
|
|||
#define WMI_SET_PROJECT_ID(hw_bd_info, val) ((hw_bd_info)[PROJECT_ID] = (val))
|
||||
#define WMI_SET_BOARD_DATA_REV(hw_bd_info, val) ((hw_bd_info)[BOARD_DATA_REV] = (val))
|
||||
|
||||
/*
|
||||
* Enum to indicate which Tx power capability is provided in which element of
|
||||
* hw_tx_power_signed
|
||||
*/
|
||||
typedef enum {
|
||||
WMI_HW_MIN_TX_POWER_SIGNED = 0,
|
||||
WMI_HW_MAX_TX_POWER_SIGNED = 1,
|
||||
WMI_HW_TX_POWER_CAPS_MAX,
|
||||
} wmi_hw_tx_power_caps;
|
||||
|
||||
/**
|
||||
* The following struct holds optional payload for
|
||||
* wmi_service_ready_event_fixed_param,e.g., 11ac pass some of the
|
||||
|
|
@ -3122,6 +3147,12 @@ typedef struct {
|
|||
A_UINT32 index_and_type;
|
||||
} wmi_htt_msdu_idx_to_htt_msdu_qtype;
|
||||
|
||||
typedef enum {
|
||||
WMI_AFC_FEATURE_6G_DEPLOYMENT_UNSPECIFIED = 0,
|
||||
WMI_AFC_FEATURE_6G_DEPLOYMENT_INDOOR_ONLY = 1,
|
||||
WMI_AFC_FEATURE_6G_DEPLOYMENT_OUTDOOR_ONLY = 2,
|
||||
} WMI_AFC_FEATURE_6G_DEPLOYMENT_TYPE;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_service_ready_ext2_event_fixed_param.*/
|
||||
|
||||
|
|
@ -3229,6 +3260,12 @@ typedef struct {
|
|||
*/
|
||||
A_UINT32 default_num_msduq_supported_per_tid;
|
||||
|
||||
/*
|
||||
* Indoor/Outdoor specification for AFC support -
|
||||
* refer to WMI_AFC_FEATURE_6G_DEPLOYMENT_TYPE enum
|
||||
*/
|
||||
A_UINT32 afc_deployment_type;
|
||||
|
||||
/* Followed by next TLVs:
|
||||
* WMI_DMA_RING_CAPABILITIES dma_ring_caps[];
|
||||
* wmi_spectral_bin_scaling_params wmi_bin_scaling_params[];
|
||||
|
|
@ -3238,6 +3275,7 @@ typedef struct {
|
|||
* WMI_SCAN_RADIO_CAPABILITIES_EXT2 wmi_scan_radio_caps[];
|
||||
* wmi_htt_msdu_idx_to_htt_msdu_qtype htt_msdu_idx_to_qtype_map[];
|
||||
* wmi_dbs_or_sbs_cap_ext dbs_or_sbs_cap_ext;
|
||||
* A_INT32 hw_tx_power_signed[WMI_HW_TX_POWER_CAPS_MAX];
|
||||
*/
|
||||
} wmi_service_ready_ext2_event_fixed_param;
|
||||
|
||||
|
|
@ -3416,6 +3454,9 @@ typedef struct {
|
|||
*/
|
||||
A_UINT32 num_of_linkview_peers;
|
||||
|
||||
/* Total number of "real" max_active_vdevs that FW supports. */
|
||||
A_UINT32 num_max_active_vdevs;
|
||||
|
||||
/*
|
||||
* This fixed_param TLV is followed by these additional TLVs:
|
||||
* mac_addr_list[num_extra_mac_addr];
|
||||
|
|
@ -4192,7 +4233,27 @@ typedef struct {
|
|||
* Refer to the below definitions of the
|
||||
* WMI_RSRC_CFG_HOST_SERVICE_FLAG_REG_DISCARD_REQ_ID_CHECK_GET
|
||||
* and _SET macros.
|
||||
* Bits 31:10 - Reserved
|
||||
* Bit 10
|
||||
* This bit will be set when host wants to enable indoor for AFC
|
||||
* when this bit is set to 0 indoor mode not enabled
|
||||
* when this bit is set to 1 indoor mode is enabled
|
||||
* WMI_RSRC_CFG_HOST_SERVICE_FLAG_AFC_INDOOR_SUPPORT_CHECK_GET
|
||||
* and SET macros
|
||||
* Bit 11
|
||||
* This bit will be set when host wants to enable outdoor for AFC
|
||||
* when this bit is set to 0 outdoor mode not enabled
|
||||
* when this bit is set to 1 outdoor mode is enabled
|
||||
* WMI_RSRC_CFG_HOST_SERVICE_FLAG_AFC_OUTDOOR_SUPPORT_CHECK_GET
|
||||
* and SET macros.
|
||||
* Bit 12
|
||||
* This bit will be set when host host wants to enable/disable
|
||||
* REO QREF feature
|
||||
* when set to 1 - Enable the REO QREF feature
|
||||
* when set to 0 - Disable the REO QREF feature
|
||||
* Refer to the below definitions of the
|
||||
* WMI_RSRC_CFG_HOST_SERVICE_FLAG_REO_QREF_FEATURE_SUPPORT_GET
|
||||
* and _SET macros.
|
||||
* Bits 31:13 - Reserved
|
||||
*/
|
||||
A_UINT32 host_service_flags;
|
||||
|
||||
|
|
@ -4277,6 +4338,12 @@ typedef struct {
|
|||
* LinkView peer in the target.
|
||||
*/
|
||||
A_UINT32 num_of_linkview_msduqs_per_tid;
|
||||
|
||||
/**
|
||||
* @brief num_max_active_vdevs -
|
||||
* number of max active virtual devices (VAPs) to support
|
||||
*/
|
||||
A_UINT32 num_max_active_vdevs;
|
||||
} wmi_resource_config;
|
||||
|
||||
#define WMI_MSDU_FLOW_AST_ENABLE_GET(msdu_flow_config0, ast_x) \
|
||||
|
|
@ -4571,6 +4638,21 @@ typedef struct {
|
|||
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_REG_DISCARD_AFC_REQ_ID_CHECK_SET(host_service_flags, val) \
|
||||
WMI_SET_BITS(host_service_flags, 9, 1, val)
|
||||
|
||||
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_AFC_INDOOR_SUPPORT_CHECK_GET(host_service_flags) \
|
||||
WMI_GET_BITS(host_service_flags, 10, 1)
|
||||
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_AFC_INDOOR_SUPPORT_CHECK_SET(host_service_flags, val) \
|
||||
WMI_SET_BITS(host_service_flags, 10, 1, val)
|
||||
|
||||
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_AFC_OUTDOOR_SUPPORT_CHECK_GET(host_service_flags) \
|
||||
WMI_GET_BITS(host_service_flags, 11, 1)
|
||||
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_AFC_OUTDOOR_SUPPORT_CHECK_SET(host_service_flags, val) \
|
||||
WMI_SET_BITS(host_service_flags, 11, 1, val)
|
||||
|
||||
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_REO_QREF_FEATURE_SUPPORT_GET(host_service_flags) \
|
||||
WMI_GET_BITS(host_service_flags, 12, 1)
|
||||
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_REO_QREF_FEATURE_SUPPORT_SET(host_service_flags, val) \
|
||||
WMI_SET_BITS(host_service_flags, 12, 1, val)
|
||||
|
||||
#define WMI_RSRC_CFG_CARRIER_CFG_CHARTER_ENABLE_GET(carrier_config) \
|
||||
WMI_GET_BITS(carrier_config, 0, 1)
|
||||
#define WMI_RSRC_CFG_CARRIER_CFG_CHARTER_ENABLE_SET(carrier_config, val) \
|
||||
|
|
@ -5546,6 +5628,8 @@ typedef struct {
|
|||
* [31:16]: mgmt_pkt_ctr, Sequence number of the last fw consumed mgmt frame
|
||||
*/
|
||||
A_UINT32 mgmt_pkt_ctr_info;
|
||||
A_UINT32 rx_ppdu_duration_us; /* receive duration in us */
|
||||
A_UINT32 mpdu_end_timestamp; /* mpdu end timestamp in us (based on HWMLO timer) */
|
||||
} wmi_mgmt_rx_fw_consumed_hdr;
|
||||
|
||||
/** Helper macro for param GET/SET of mgmt_rx_reo_params */
|
||||
|
|
@ -5575,6 +5659,8 @@ typedef struct {
|
|||
*/
|
||||
|
||||
A_UINT32 mgmt_pkt_ctr_link_info;
|
||||
A_UINT32 rx_ppdu_duration_us; /* receive duration in us */
|
||||
A_UINT32 mpdu_end_timestamp; /* mpdu end timestamp in us (based on HWMLO timer) */
|
||||
} wmi_mgmt_rx_reo_params;
|
||||
|
||||
/** Helper macro for param GET/SET */
|
||||
|
|
@ -5702,6 +5788,41 @@ typedef struct {
|
|||
A_UINT8 prev_pn[WMI_MAX_PN_LEN];
|
||||
} wmi_frame_pn_params;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mgmt_ml_info */
|
||||
/**
|
||||
* CU vdev map to initmate about the on-going Critical update
|
||||
* per-link contains 16 VAPs at max.
|
||||
*/
|
||||
|
||||
/*
|
||||
* bits : 0-15 | 16-31
|
||||
* link-id : 0 | 1
|
||||
*/
|
||||
A_UINT32 cu_vdev_map_1;
|
||||
/*
|
||||
* bits : 0-15 | 16-31
|
||||
* link-id : 2 | 3
|
||||
*/
|
||||
A_UINT32 cu_vdev_map_2;
|
||||
/*
|
||||
* bits : 0-15 | 16-31
|
||||
* link-id : 4 | 5
|
||||
*/
|
||||
A_UINT32 cu_vdev_map_3;
|
||||
/*
|
||||
* bits : 0-15 | 16-31
|
||||
* link-id : 6 | 7
|
||||
*/
|
||||
A_UINT32 cu_vdev_map_4; /* bits 63:32 */
|
||||
/**
|
||||
* This is followed by byte array that contains BPCC value per MLO VAP.
|
||||
* There will be 16 byte entries for each link corresponding to VAP-ID.
|
||||
* So number of byte entries will be (num of max links supported by AP * 16)
|
||||
* Note: num of max links supported = 8
|
||||
*/
|
||||
} wmi_mgmt_ml_info;
|
||||
|
||||
typedef enum {
|
||||
PKT_CAPTURE_MODE_DISABLE = 0,
|
||||
PKT_CAPTURE_MODE_MGMT_ONLY,
|
||||
|
|
@ -6519,8 +6640,22 @@ typedef struct {
|
|||
A_UINT32 bssid_idx;
|
||||
} wmi_vdev_filter_nrp_config_cmd_fixed_param; /* Filter for Neighbor Rx Packets */
|
||||
|
||||
/* tx peer filter action - Filter Tx Packets - add/remove filter */
|
||||
enum {
|
||||
WMI_PEER_TX_FILTER_ACTION_ADD = 1,
|
||||
WMI_PEER_TX_FILTER_ACTION_REMOVE = 2,
|
||||
};
|
||||
|
||||
/*Command to set/unset chip in quiet mode*/
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_tx_filter_cmd_fixed_param */
|
||||
A_UINT32 vdev_id;
|
||||
/* Client MAC addr */
|
||||
wmi_mac_addr addr;
|
||||
/* Add/Remove monitor_sta Filter */
|
||||
A_UINT32 action; /* WMI_PEER_TX_FILTER_ACTION enum */
|
||||
} wmi_peer_tx_filter_cmd_fixed_param; /* Filter for TX Packets */
|
||||
|
||||
/* Command to set/unset chip in quiet mode */
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_quiet_cmd_fixed_param */
|
||||
A_UINT32 pdev_id; /** pdev_id for identifying the MAC, See macros starting with WMI_PDEV_ID_ for values. */
|
||||
|
|
@ -9187,6 +9322,7 @@ typedef enum {
|
|||
WMI_REQUEST_PMF_BCN_PROTECT_STAT = 0x08000,
|
||||
WMI_REQUEST_VDEV_EXTD_STAT = 0x10000,
|
||||
WMI_REQUEST_PDEV_EXTD_STAT = 0x20000,
|
||||
WMI_REQUEST_PDEV_TELEMETRY_STAT = 0x40000,
|
||||
} wmi_stats_id;
|
||||
|
||||
/*
|
||||
|
|
@ -9651,7 +9787,6 @@ typedef struct {
|
|||
* This TLV is followed by another TLV of array of bytes
|
||||
* num_channels * size of(struct wmi_channel_stats)
|
||||
*/
|
||||
|
||||
} wmi_radio_link_stats_event_fixed_param;
|
||||
|
||||
/* per rate statistics */
|
||||
|
|
@ -10065,6 +10200,10 @@ typedef struct {
|
|||
* wmi_pdev_extd_stats wmi_pdev_extd_stats[]
|
||||
* follows the other TLVs
|
||||
*/
|
||||
/* If WMI_REQUEST_PDEV_TELEMETRY_STAT is set in stats_id, then TLV
|
||||
* wmi_pdev_telemetry_stats wmi_pdev_telemetry_stats[]
|
||||
* follows the other TLVs
|
||||
*/
|
||||
} wmi_stats_event_fixed_param;
|
||||
|
||||
/* WLAN channel CCA stats bitmap */
|
||||
|
|
@ -11323,6 +11462,10 @@ typedef struct {
|
|||
* Indoor = 1, Outdoor = 2
|
||||
*/
|
||||
A_UINT32 deployment_mode;
|
||||
/*
|
||||
* Proxy mode AFC-Response payload clear count
|
||||
*/
|
||||
A_UINT32 payload_clear_count;
|
||||
} wmi_ctrl_path_afc_stats_struct;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -11482,6 +11625,32 @@ typedef struct {
|
|||
A_UINT32 rx_other_11ax_msdu_cnt;
|
||||
} wmi_pdev_extd_stats;
|
||||
|
||||
/**
|
||||
* pdev telemetry statistics
|
||||
*/
|
||||
typedef struct{
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_telemetry_stats */
|
||||
A_UINT32 pdev_id;
|
||||
/*
|
||||
* Average channel latency per AC, units in micro seconds.
|
||||
* avg_chan_lat_per_ac[0] : AC_VO
|
||||
* avg_chan_lat_per_ac[1] : AC_VI
|
||||
* avg_chan_lat_per_ac[2] : AC_BE
|
||||
* avg_chan_lat_per_ac[3] : AC_BK
|
||||
*/
|
||||
A_UINT32 avg_chan_lat_per_ac[WMI_AC_MAX];
|
||||
/*
|
||||
* Percentage of air time available for each AC, units in percentage.
|
||||
* BIT[0-7] : AC_BE
|
||||
* BIT[8-15] : AC_BK
|
||||
* BIT[16-23] : AC_VI
|
||||
* BIT[24-31] : AC_VO
|
||||
* Please refer WMI_ESP_ESTIMATE_GET_* and WMI_ESP_ESTIMATE_SET_* macros
|
||||
* to retrieve values for each access category in estimated_air_time_per_ac.
|
||||
*/
|
||||
A_UINT32 estimated_air_time_per_ac;
|
||||
} wmi_pdev_telemetry_stats;
|
||||
|
||||
/**
|
||||
* VDEV statistics
|
||||
* @todo
|
||||
|
|
@ -11837,7 +12006,9 @@ typedef struct {
|
|||
mlo_logical_link_index_valid:1, /* indicate if the logial link index in wmi_peer_assoc_mlo_params is valid */
|
||||
mlo_peer_id_valid:1, /* indicate if the mlo peer id in wmi_peer_assoc_mlo_params is valid */
|
||||
mlo_mcast_vdev:1, /* indicate this is the MLO mcast primary vdev */
|
||||
unused: 26;
|
||||
emlsr_support:1, /* indicate that eMLSR is supported */
|
||||
mlo_force_link_inactive:1, /* indicate this link is forced inactive */
|
||||
unused: 24;
|
||||
};
|
||||
A_UINT32 mlo_flags;
|
||||
};
|
||||
|
|
@ -13824,6 +13995,43 @@ typedef enum {
|
|||
*/
|
||||
WMI_VDEV_PARAM_11AZ_SECURITY_CONFIG, /* 0xAB */
|
||||
|
||||
/*
|
||||
* Latency Level Flags
|
||||
*/
|
||||
WMI_VDEV_PARAM_NORMAL_LATENCY_FLAGS_CONFIGURATION, /* 0xAC */
|
||||
WMI_VDEV_PARAM_XR_LATENCY_FLAGS_CONFIGURATION, /* 0xAD */
|
||||
WMI_VDEV_PARAM_LOW_LATENCY_FLAGS_CONFIGURATION, /* 0xAE */
|
||||
WMI_VDEV_PARAM_ULTRA_LOW_LATENCY_FLAGS_CONFIGURATION, /* 0xAF */
|
||||
|
||||
/*
|
||||
* Latency level UL/DL
|
||||
* 0-15 bits: UL
|
||||
* 16-31 bits: DL
|
||||
*/
|
||||
WMI_VDEV_PARAM_NORMAL_LATENCY_UL_DL_CONFIGURATION, /* 0xB0 */
|
||||
WMI_VDEV_PARAM_XR_LATENCY_UL_DL_CONFIGURATION, /* 0xB1 */
|
||||
WMI_VDEV_PARAM_LOW_LATENCY_UL_DL_CONFIGURATION, /* 0xB2 */
|
||||
WMI_VDEV_PARAM_ULTRA_LOW_LATENCY_UL_DL_CONFIGURATION, /* 0xB3 */
|
||||
/*
|
||||
* Ini to
|
||||
* Configure default latency level for all clients
|
||||
*/
|
||||
WMI_VDEV_PARAM_DEFAULT_LATENCY_LEVEL_CONFIGURATION, /* 0xB4 */
|
||||
|
||||
/*
|
||||
* Ini to
|
||||
* Configure multi client Low latency Feature
|
||||
*/
|
||||
WMI_VDEV_PARAM_MULTI_CLIENT_LL_FEATURE_CONFIGURATION, /* 0xB5 */
|
||||
|
||||
/*
|
||||
* traffic config for per vdev
|
||||
* bit 0: low latency vdev
|
||||
* bit 1: high tput vdev
|
||||
* bit 31:2 Reserved
|
||||
*/
|
||||
WMI_VDEV_PARAM_VDEV_TRAFFIC_CONFIG, /* 0xB6 */
|
||||
|
||||
|
||||
/*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE ===
|
||||
* The below vdev param types are used for prototyping, and are
|
||||
|
|
@ -14409,6 +14617,26 @@ typedef struct {
|
|||
#define WMI_BEACON_TMPLT_GET_LAST_TEMPLATE(_ema_param) \
|
||||
WMI_GET_BITS(_ema_param, WMI_BEACON_TMPLT_LAST_TEMPLATE_BITPOS, 8)
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_bcn_tmpl_ml_info */
|
||||
/** hw_link_id:
|
||||
* Unique link id across SOCs, got as part of QMI handshake
|
||||
*/
|
||||
A_UINT32 hw_link_id;
|
||||
/**
|
||||
* CU vdev map for the Critical update category-1
|
||||
* (Inclusion of CU IES)
|
||||
*/
|
||||
A_UINT32 cu_vdev_map_cat1_lo; /* bits 31:0 */
|
||||
A_UINT32 cu_vdev_map_cat1_hi; /* bits 63:32 */
|
||||
/**
|
||||
* CU vdev map for the Critical update category-2
|
||||
* (modification of CU IES)
|
||||
*/
|
||||
A_UINT32 cu_vdev_map_cat2_lo; /* bits 31:0 */
|
||||
A_UINT32 cu_vdev_map_cat2_hi; /* bits 63:32 */
|
||||
} wmi_bcn_tmpl_ml_info;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_bcn_tmpl_ml_params */
|
||||
A_UINT32 vdev_id; /* partner vdev_id */
|
||||
|
|
@ -15935,6 +16163,7 @@ typedef struct {
|
|||
#define WMI_PEER_EXT_EHT 0x00000001 /* EHT enabled */
|
||||
#define WMI_PEER_EXT_320MHZ 0x00000002 /* 320Mhz enabled */
|
||||
#define WMI_PEER_EXT_DMS_CAPABLE 0x00000004
|
||||
#define WMI_PEER_EXT_HE_CAPS_6GHZ_VALID 0x00000008 /* param he_caps_6ghz is valid or not */
|
||||
#define WMI_PEER_EXT_F_CRIT_PROTO_HINT_ENABLED 0x40000000
|
||||
|
||||
/**
|
||||
|
|
@ -16011,8 +16240,37 @@ typedef struct {
|
|||
* In MCL systems, mld_peer_id will be set to invalid peer id.
|
||||
*/
|
||||
A_UINT32 mld_peer_id;
|
||||
/** Link-ID of the AP to which STA is associated */
|
||||
A_UINT32 ieee_link_id;
|
||||
/** eMLSR transition timeout in microseconds */
|
||||
A_UINT32 emlsr_trans_timeout_us;
|
||||
} wmi_peer_assoc_mlo_params;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_assoc_tid_to_link_map */
|
||||
A_UINT32 tlv_header;
|
||||
|
||||
/**
|
||||
* A_UINT32
|
||||
* WMI_TID_TO_LINK_MAP_TID_NUM_GET / WMI_TID_TO_LINK_MAP_TID_NUM_SET
|
||||
* tid_num:5,
|
||||
*
|
||||
* WMI_TID_TO_LINK_MAP_DIR_GET / WMI_TID_TO_LINK_MAP_DIR_SET
|
||||
* dir:2, // 0 - DL, 1 - UL, 2 - BiDi
|
||||
*
|
||||
* WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_GET /
|
||||
* WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_SET
|
||||
* default_link_mapping:1, // If this is set to 1, ignore
|
||||
* // link_mapping_mask for the specific tid
|
||||
*
|
||||
* WMI_TID_TO_LINK_MAP_LINK_MASK_GET / WMI_TID_TO_LINK_MAP_LINK_MASK_SET
|
||||
* link_mapping_mask:16,
|
||||
*
|
||||
* rsvd:8;
|
||||
*/
|
||||
A_UINT32 tid_to_link_map_info;
|
||||
} wmi_peer_assoc_tid_to_link_map;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_assoc_complete_cmd_fixed_param */
|
||||
/** peer MAC address */
|
||||
|
|
@ -16154,6 +16412,7 @@ typedef struct {
|
|||
* For non-MLO peers the array length should be 0.
|
||||
* wmi_eht_rate_set_peer_eht_rates; <-- EHT capabilities of the peer
|
||||
* wmi_peer_assoc_mlo_partner_link_params link_info[] <-- partner link info
|
||||
* wmi_peer_assoc_tid_to_link_map[] <-- tid to link_map info
|
||||
*/
|
||||
} wmi_peer_assoc_complete_cmd_fixed_param;
|
||||
|
||||
|
|
@ -16255,14 +16514,12 @@ typedef struct {
|
|||
* from dB to dBm units.
|
||||
*/
|
||||
|
||||
typedef struct{
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_rssi_dbm_conversion_params_info */
|
||||
/* Current operating bandwidth as per wmi_channel_width */
|
||||
A_UINT32 curr_bw;
|
||||
/* Current rx chainmask */
|
||||
A_UINT32 curr_rx_chainmask;
|
||||
/* HW noise floor in dBm per chain, per 20MHz subband */
|
||||
A_INT32 nf_hw_dbm[MAX_ANTENNA_EIGHT][MAX_20MHZ_SEGMENTS];
|
||||
/* 3 Bytes of xbar_config are used for RF to BB mapping*/
|
||||
/* Samples of xbar_config,
|
||||
* If xbar_config is 0xFAC688(hex):
|
||||
|
|
@ -16298,9 +16555,16 @@ typedef struct{
|
|||
A_INT32 xlna_bypass_offset;
|
||||
/* Low noise amplifier bypass threshold; signed integer; units are in dB */
|
||||
A_INT32 xlna_bypass_threshold;
|
||||
/* nf_hw_dbm:
|
||||
* 2D byte array of HW noise floor in dBm per chain, per 20MHz subband
|
||||
* This array is filled in little endian format.
|
||||
* for big-endian hosts, manual endian conversion is needed to obtain
|
||||
* correct sequence of values.
|
||||
*/
|
||||
A_INT8 nf_hw_dbm[MAX_ANTENNA_EIGHT][MAX_20MHZ_SEGMENTS];
|
||||
} wmi_rssi_dbm_conversion_params_info;
|
||||
|
||||
typedef struct{
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_rssi_dbm_conversion_temp_offset_info */
|
||||
/**
|
||||
* RSSI offset based on the current temperature, signed integer,
|
||||
|
|
@ -16318,7 +16582,7 @@ typedef struct {
|
|||
A_UINT32 pdev_id;
|
||||
/**
|
||||
* Followed by these TLVs below.
|
||||
* wmi_rssi_dbm_convresion_params_info rssi_dbm_conversion_param[0 or 1]
|
||||
* wmi_rssi_dbm_conversion_params_info rssi_dbm_conversion_param[0 or 1]
|
||||
* wmi_rssi_dbm_conversion_params_info will be sent in case of
|
||||
* channel, BW, rx_chainmask change.
|
||||
* wmi_rssi_dbm_conversion_temp_offset_info rssi_temp_offset[0 or 1]
|
||||
|
|
@ -17805,10 +18069,10 @@ typedef struct
|
|||
A_UINT32 is_add_ric; /**support add ric or delete ric*/
|
||||
} wmi_ric_request_fixed_param;
|
||||
|
||||
/**tspec element: refer to 8.4.2.32 of 802.11 2012 spec
|
||||
/** tspec element: refer to 8.4.2.32 of 802.11 2012 spec
|
||||
* these elements are used to construct tspec field in RIC request, which allow station to require specific TS when 11r roaming
|
||||
*/
|
||||
typedef struct{
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 ts_info; /** bits value of TS Info field.*/
|
||||
A_UINT32 nominal_msdu_size; /**Nominal MSDU Size field*/
|
||||
|
|
@ -22430,7 +22694,7 @@ enum wmi_host_auto_shutdown_reason {
|
|||
};
|
||||
|
||||
/* WMI_HOST_AUTO_SHUTDOWN_EVENTID */
|
||||
typedef struct{
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_host_auto_shutdown_event_fixed_param */
|
||||
A_UINT32 shutdown_reason; /* value: wmi_host_auto_shutdown_reason */
|
||||
} wmi_host_auto_shutdown_event_fixed_param;
|
||||
|
|
@ -22560,7 +22824,7 @@ typedef struct{
|
|||
|
||||
/** Bit map definition for basic_config_info ends */
|
||||
|
||||
typedef struct{
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header;
|
||||
/** Basic condition defined as bit map above, bitmap is chosen to save memory.
|
||||
* Bit0 ~ Bit4: tpc offset which will be adjusted if condtion matches, the unit is 0.5dB. bit4 indicates signed
|
||||
|
|
@ -22607,7 +22871,7 @@ typedef struct{
|
|||
#define WMI_TPC_CHAINMASK_CONFIG_DISABLE 0 /** control the off for the tpc & chainmask*/
|
||||
#define WMI_TPC_CHAINMASK_CONFIG_ENABLE 1 /** control the on for the tpc & chainmask*/
|
||||
|
||||
typedef struct{
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 enable; /** enable to set tpc & chainmask when condtions meet, 0: disabled, 1: enabled. */
|
||||
A_UINT32 num_tpc_chainmask_configs;
|
||||
|
|
@ -24753,7 +25017,7 @@ typedef struct {
|
|||
} wmi_extscan_capabilities_event_fixed_param;
|
||||
|
||||
/* WMI_D0_WOW_DISABLE_ACK_EVENTID */
|
||||
typedef struct{
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_d0_wow_disable_ack_event_fixed_param */
|
||||
A_UINT32 reserved0; /* for future need */
|
||||
} wmi_d0_wow_disable_ack_event_fixed_param;
|
||||
|
|
@ -24959,7 +25223,7 @@ pattern returns to the MSB of X_0 and repeats. The GPIO state for each timing in
|
|||
High and the first interval of the pattern represents the time when the GPIO is Low. When a timing interval of
|
||||
Zero is reached, it is skipped and moves on to the next interval.
|
||||
*/
|
||||
typedef struct{
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_set_led_flashing_cmd_fixed_param */
|
||||
A_UINT32 pattern_id; /* pattern identifier */
|
||||
A_UINT32 led_x0; /* led flashing parameter0 */
|
||||
|
|
@ -27568,6 +27832,101 @@ typedef enum {
|
|||
* A_UINT8 agcEnergyDetThr6GVLP thrCcaExt40dB_ETSI_MKK_CHN
|
||||
* A_UINT8 agcEnergyDetThr6GVLP.thrCcaExt80dB_ETSI_MKK_CHN
|
||||
*/
|
||||
|
||||
BIOS_PARAM_TAS_CONFIG_TYPE,
|
||||
/*
|
||||
* BIOS_PARAM_TAS_CONFIG_TYPE Structure has 108 bytes. Please Note these fields of A_UINT32 or A_INT32.
|
||||
* explicit endianness corrections will need to be done by any big-endian host when the little-endian target is paired with a big-endian host.
|
||||
* PowerLimitIndicator points out which region(FCC OR ICNIRP) power limit value should be used.
|
||||
* A bit of PowerLimitIndicator maps a country. bit value 0: ICNIRP 1: FCC
|
||||
*
|
||||
* A_UINT8 Version
|
||||
* A_UINT8 TASIsPairWith3rdPartyWwan
|
||||
* A_UINT8 SARAntennaGroupingExt[6] (6 Bytes)
|
||||
* A_UINT32 TASPeakModeIndicator[8] (32 Bytes)
|
||||
* A_UINT32 TAS_FCC_ICNIRP_Indicator[8] (32 Bytes)
|
||||
* A_UINT32 PowerLimitIndicator[8] (32 Bytes)
|
||||
* A_INT32 TASLogReducedLimit (4 Bytes)
|
||||
*/
|
||||
|
||||
BIOS_PARAM_TAS_DATA_TYPE,
|
||||
/*
|
||||
* BIOS_PARAM_TAS_DATA_TYPE Structure has 69 bytes as below, power limit value unit is 0.25 dBm.
|
||||
* If Enable flag is 0, FW will not use power limit value of bios.
|
||||
*
|
||||
* A_UINT8 Version
|
||||
* A_UINT8 Enable Flag
|
||||
* A_UINT8 Power Table Index
|
||||
* ====================FCC POWER LIMIT VALUE======================
|
||||
* A_INT8 FCC 2Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm)
|
||||
* A_INT8 FCC 2Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm)
|
||||
* A_INT8 FCC 2Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm)
|
||||
* A_INT8 FCC 5Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-1, Ch32 ~ Ch48)
|
||||
* A_INT8 FCC 5Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-1, Ch32 ~ Ch48)
|
||||
* A_INT8 FCC 5Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-1, Ch32 ~ Ch48)
|
||||
* A_INT8 FCC 5Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-2, Ch50 ~ Ch144)
|
||||
* A_INT8 FCC 5Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-2, Ch50 ~ Ch144)
|
||||
* A_INT8 FCC 5Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-2, Ch50 ~ Ch144)
|
||||
* A_INT8 FCC 5Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-3, Ch149 ~ Ch161)
|
||||
* A_INT8 FCC 5Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-3, Ch149 ~ Ch161)
|
||||
* A_INT8 FCC 5Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-3, Ch149 ~ Ch161)
|
||||
* A_INT8 FCC 5Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-4, Ch163 ~ Ch177)
|
||||
* A_INT8 FCC 5Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-4, Ch163 ~ Ch177)
|
||||
* A_INT8 FCC 5Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-4, Ch163 ~ Ch177)
|
||||
* A_INT8 FCC 6Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-5) (Ch1, Ch2 ~ Ch41)
|
||||
* A_INT8 FCC 6Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-5) (Ch1, Ch2 ~ Ch41)
|
||||
* A_INT8 FCC 6Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-5) (Ch1, Ch2 ~ Ch41)
|
||||
* A_INT8 FCC 6Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-5) (Ch45 ~ Ch93)
|
||||
* A_INT8 FCC 6Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-5) (Ch45 ~ Ch93)
|
||||
* A_INT8 FCC 6Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-5) (Ch45 ~ Ch93)
|
||||
* A_INT8 FCC 6Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-6) (Ch97~ Ch113)
|
||||
* A_INT8 FCC 6Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-6) (Ch97~ Ch113)
|
||||
* A_INT8 FCC 6Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-6) (Ch97~ Ch113)
|
||||
* A_INT8 FCC 6Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-7) (Ch117~Ch149)
|
||||
* A_INT8 FCC 6Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-7) (Ch117~Ch149)
|
||||
* A_INT8 FCC 6Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-7) (Ch117~Ch149)
|
||||
* A_INT8 FCC 6Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-7) (Ch117~Ch149)
|
||||
* A_INT8 FCC 6Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-7) (Ch117~Ch149)
|
||||
* A_INT8 FCC 6Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-7) (Ch117~Ch149)
|
||||
* A_INT8 FCC 6Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-8) (Ch117~Ch149)
|
||||
* A_INT8 FCC 6Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-8) (Ch117~Ch149)
|
||||
* A_INT8 FCC 6Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-8) (Ch117~Ch149)
|
||||
* ====================ICNIRP POWER LIMIT VALUE======================
|
||||
* A_INT8 ICNIRP 2Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm)
|
||||
* A_INT8 ICNIRP 2Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm)
|
||||
* A_INT8 ICNIRP 2Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm)
|
||||
* A_INT8 ICNIRP 5Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-1, Ch32 ~ Ch48)
|
||||
* A_INT8 ICNIRP 5Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-1, Ch32 ~ Ch48)
|
||||
* A_INT8 ICNIRP 5Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-1, Ch32 ~ Ch48)
|
||||
* A_INT8 ICNIRP 5Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-2, Ch50 ~ Ch144)
|
||||
* A_INT8 ICNIRP 5Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-2, Ch50 ~ Ch144)
|
||||
* A_INT8 ICNIRP 5Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-2, Ch50 ~ Ch144)
|
||||
* A_INT8 ICNIRP 5Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-3, Ch149 ~ Ch161)
|
||||
* A_INT8 ICNIRP 5Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-3, Ch149 ~ Ch161)
|
||||
* A_INT8 ICNIRP 5Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-3, Ch149 ~ Ch161)
|
||||
* A_INT8 ICNIRP 5Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-4, Ch163 ~ Ch177)
|
||||
* A_INT8 ICNIRP 5Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-4, Ch163 ~ Ch177)
|
||||
* A_INT8 ICNIRP 5Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-4, Ch163 ~ Ch177)
|
||||
* A_INT8 ICNIRP 6Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-5) (Ch1, Ch2 ~ Ch41)
|
||||
* A_INT8 ICNIRP 6Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-5) (Ch1, Ch2 ~ Ch41)
|
||||
* A_INT8 ICNIRP 6Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-5) (Ch1, Ch2 ~ Ch41)
|
||||
* A_INT8 ICNIRP 6Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-5) (Ch45 ~ Ch93)
|
||||
* A_INT8 ICNIRP 6Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-5) (Ch45 ~ Ch93)
|
||||
* A_INT8 ICNIRP 6Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-5) (Ch45 ~ Ch93)
|
||||
* A_INT8 ICNIRP 6Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-6) (Ch97~ Ch113)
|
||||
* A_INT8 ICNIRP 6Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-6) (Ch97~ Ch113)
|
||||
* A_INT8 ICNIRP 6Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-6) (Ch97~ Ch113)
|
||||
* A_INT8 ICNIRP 6Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-7) (Ch117~Ch149)
|
||||
* A_INT8 ICNIRP 6Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-7) (Ch117~Ch149)
|
||||
* A_INT8 ICNIRP 6Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-7) (Ch117~Ch149)
|
||||
* A_INT8 ICNIRP 6Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-7) (Ch117~Ch149)
|
||||
* A_INT8 ICNIRP 6Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-7) (Ch117~Ch149)
|
||||
* A_INT8 ICNIRP 6Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-7) (Ch117~Ch149)
|
||||
* A_INT8 ICNIRP 6Ghz SISO (Chain0) Power Limit Value(unit: 0.25dBm) (UNII-8) (Ch117~Ch149)
|
||||
* A_INT8 ICNIRP 6Ghz SISO (Chain1) Power Limit Value(unit: 0.25dBm) (UNII-8) (Ch117~Ch149)
|
||||
* A_INT8 ICNIRP 6Ghz MIMO (Chain0 + Chain1) Power Limit Value(unit: 0.25dBm) (UNII-8) (Ch117~Ch149)
|
||||
*/
|
||||
|
||||
BIOS_PARAM_TYPE_MAX,
|
||||
} bios_param_type_e;
|
||||
|
||||
|
|
@ -29350,6 +29709,10 @@ typedef enum wmi_hw_mode_config_type {
|
|||
WMI_HW_MODE_DBS_OR_SBS = 5, /* One PHY is on 5G and the other PHY can be in 2G or 5G. */
|
||||
WMI_HW_MODE_DBS_2G_5G = 6, /* Both PHYs are active in different bands. PhyA 2G and PhyB 5G */
|
||||
WMI_HW_MODE_2G_PHYB = 7, /* Ony PhyB 2G active */
|
||||
WMI_HW_MODE_EMLSR = 8, /* Both PHYs are active in listen mode in 1x1
|
||||
* and Tx/Rx trigger on any PHY will switch
|
||||
* from 1x1 to 2x2 on that Phy
|
||||
*/
|
||||
} WMI_HW_MODE_CONFIG_TYPE;
|
||||
|
||||
/*
|
||||
|
|
@ -29366,6 +29729,8 @@ typedef enum wmi_hw_mode_config_type {
|
|||
* WMI_MLO_CAP_FLAG_STR_IN_SBS: Support Non-STR MLO when SBS for the
|
||||
* specific HW mode
|
||||
* WMI_MLO_CAP_FLAG_STR: Support STR for the specific HW mode.
|
||||
*
|
||||
* WMI_MLO_CAP_FLAG_EMLSR: Support eMLSR mode.
|
||||
*/
|
||||
#define WMI_MLO_CAP_FLAG_NONE 0x00
|
||||
#define WMI_MLO_CAP_FLAG_NON_STR_IN_DBS 0x01
|
||||
|
|
@ -29373,6 +29738,7 @@ typedef enum wmi_hw_mode_config_type {
|
|||
#define WMI_MLO_CAP_FLAG_NON_STR_IN_SBS 0x04
|
||||
#define WMI_MLO_CAP_FLAG_STR_IN_SBS 0x08
|
||||
#define WMI_MLO_CAP_FLAG_STR 0x10
|
||||
#define WMI_MLO_CAP_FLAG_EMLSR 0x20
|
||||
|
||||
/*
|
||||
* hw_mode_config_type sub-fields for chips that support 802.11BE/MLO:
|
||||
|
|
@ -31001,6 +31367,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
|
|||
WMI_RETURN_STRING(WMI_VDEV_PN_MGMT_RX_FILTER_CMDID);
|
||||
WMI_RETURN_STRING(WMI_PEER_RX_PN_REQUEST_CMDID);
|
||||
WMI_RETURN_STRING(WMI_SET_MULTIPLE_PDEV_VDEV_PARAM_CMDID);
|
||||
WMI_RETURN_STRING(WMI_PMM_SCRATCH_REG_ALLOCATION_CMDID);
|
||||
WMI_RETURN_STRING(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID);
|
||||
}
|
||||
|
||||
return (A_UINT8 *) "Invalid WMI cmd";
|
||||
|
|
@ -31058,6 +31426,7 @@ typedef enum {
|
|||
*/
|
||||
WMI_AFC_CMD_SERV_RESP_READY = 1,
|
||||
WMI_AFC_CMD_RESET = 2, /* Added cmd type to handle AFC reset */
|
||||
WMI_AFC_CMD_CLEAR_PAYLOAD = 3, /* Added cmd type to clear AFC response payload in proxy mode */
|
||||
} WMI_AFC_CMD_TYPE;
|
||||
|
||||
/** Host indicating AFC info availability to FW */
|
||||
|
|
@ -31440,10 +31809,14 @@ typedef enum {
|
|||
* with expiry event.
|
||||
* 3. If AFC server is not responding to FW in specified time, FW will
|
||||
* indicate host to switch to LPI.
|
||||
* 4. In SP mode, if AFC server is not responding to FW in
|
||||
* specified time then FW will indicate host to stop TX since
|
||||
* there are no lower power mode available.
|
||||
*/
|
||||
WMI_AFC_EXPIRY_EVENT_START = 1,
|
||||
WMI_AFC_EXPIRY_EVENT_RENEW = 2,
|
||||
WMI_AFC_EXPIRY_EVENT_SWITCH_TO_LPI = 3,
|
||||
WMI_AFC_EXPIRY_EVENT_STOP_TX = 4,
|
||||
} WMI_AFC_EXPIRY_EVENT_SUBTYPE;
|
||||
|
||||
typedef enum {
|
||||
|
|
@ -32004,6 +32377,14 @@ typedef enum {
|
|||
WMI_WLM_LL_ULTRA_LOW = 0x3,
|
||||
} WMI_WLM_LATENCY_LEVEL;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* WMITLV_TAG_STRUC_wmi_vdev_latency_event_fixed_param */
|
||||
/** The latency level for specified vdev_id */
|
||||
A_UINT32 vdev_id;
|
||||
/** latency level enum WMI_WLM_LATENCY_LEVEL honored by FW */
|
||||
A_UINT32 latency_level;
|
||||
} wmi_vdev_latency_event_fixed_param;
|
||||
|
||||
/*
|
||||
* Lay out of flags in wmi_wlm_config_cmd_fixed_param
|
||||
*
|
||||
|
|
@ -32116,31 +32497,53 @@ typedef enum {
|
|||
#define WLM_FLAGS_SCAN_SET_SPLIT_PAS_CH_ENABLE(flag, val) WMI_SET_BITS(flag, 21, 1, val)
|
||||
#define WLM_FLAGS_SCAN_IS_ADAPT_SCAN_ENABLED(flag) WMI_GET_BITS(flag, 22, 1)
|
||||
#define WLM_FLAGS_SCAN_SET_ADAPT_SCAN_ENABLE(flag, val) WMI_SET_BITS(flag, 22, 1, val)
|
||||
#define WLM_FLAGS_SET_FORCE_DEFAULT_LATENCY(flag, val) WMI_SET_BITS(flag, 0, 1, val)
|
||||
#define WLM_FLAGS_GET_FORCE_DEFAULT_LATENCY(flag) WMI_GET_BITS(flag, 0, 1)
|
||||
|
||||
#define WLM_MAX_HOST_CLIENTS 5
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMI_WLM_CONFIG_CMD_fixed_param */
|
||||
/** TLV tag and len; tag equals WMI_WLM_CONFIG_CMD_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
/* VDEV identifier */
|
||||
A_UINT32 vdev_id;
|
||||
/* Refer to WMI_WLM_LATENCY_LEVEL
|
||||
* Once latency change detected, WLM will notify modules e.g. STAPS or SCAN/ROAM,
|
||||
* who subscribed this event. And subscribers, like SCAN, may disable/cutoff offchan
|
||||
* operation to support lower latency of WLAN.
|
||||
*/
|
||||
/*
|
||||
* Refer to WMI_WLM_LATENCY_LEVEL
|
||||
* Once latency change detected, WLM will notify modules e.g. STAPS or SCAN/ROAM,
|
||||
* who subscribed this event. And subscribers, like SCAN, may disable/cutoff offchan
|
||||
* operation to support lower latency of WLAN.
|
||||
*/
|
||||
A_UINT32 latency_level;
|
||||
/* represent uplink latency in ms
|
||||
* This parameter will be used by STAPS module to decide timing parameters, like
|
||||
* ITO or SPEC wakeup interval. For SCAN/ROAM, it may used to calculate offchan
|
||||
* durations.
|
||||
*/
|
||||
/*
|
||||
* represent uplink latency in ms
|
||||
* This parameter will be used by STAPS module to decide timing parameters, like
|
||||
* ITO or SPEC wakeup interval. For SCAN/ROAM, it may used to calculate offchan
|
||||
* durations.
|
||||
* For host and FW with multi client LL feature enabled, this field is obsolete.
|
||||
*/
|
||||
A_UINT32 ul_latency;
|
||||
/* represent downlink latency in ms
|
||||
* Similar usage as ul_latency
|
||||
*/
|
||||
/*
|
||||
* represent downlink latency in ms
|
||||
* Similar usage as ul_latency
|
||||
* For host and FW with multi client LL feature enabled, this field is obsolete.
|
||||
*/
|
||||
A_UINT32 dl_latency;
|
||||
/* flags for each client of WLM, refer to WLM_FLAGS_ definitions above */
|
||||
/*
|
||||
* flags for each client of WLM, refer to WLM_FLAGS_ definitions above.
|
||||
* For host and FW with multi client LL feature enabled, this field is obsolete.
|
||||
*/
|
||||
A_UINT32 flags;
|
||||
/*
|
||||
* bit 0 used as force reset:
|
||||
* to override the latency level as default
|
||||
* for all the wlm clients
|
||||
*/
|
||||
A_UINT32 flags_ext;
|
||||
/*
|
||||
* clients of WLM Arbiter
|
||||
* WLM_MAX_HOST_CLIENTS 5
|
||||
*/
|
||||
A_UINT32 client_id_bitmask;
|
||||
} wmi_wlm_config_cmd_fixed_param;
|
||||
|
||||
/* Broadcast TWT enable/disable for both REQUESTER and RESPONDER */
|
||||
|
|
@ -33641,12 +34044,17 @@ typedef struct {
|
|||
/* timestamp is the absolute time w.r.t host timer which is synchronized between the host and target */
|
||||
A_UINT32 timestamp; /* Timestamp when frame is sent or received */
|
||||
/*
|
||||
* frame_info = frame_type | (frame_subtype << 2) | (request_or_response << 6)| (seq_num << 16)
|
||||
* frame_info = frame_type | (frame_subtype << 2) | (request_or_response << 6) | (auth_algo_num << 7) | (seq_num << 16)
|
||||
* frame_type(2 bits), frame_subtype(4 bits) are from 802.11 spec.
|
||||
* If frame_type is WMI_ROAM_FRAME_INFO_FRAME_TYPE_EXT, frame_subtype
|
||||
* should be one of value in WMI_ROAM_FRAME_INFO_FRAME_TYPE_EXT_SUBTYPE.
|
||||
* If frame_type is WMI_ROAM_FRAME_INFO_FRAME_TYPE_EXT, frame_subtype
|
||||
* should be one of value in WMI_ROAM_FRAME_INFO_FRAME_TYPE_EXT_SUBTYPE.
|
||||
* request_or_response(1 bit) - Valid if frame_subtype is authentication.
|
||||
* 0 - Authentication request 1 - Authentication response
|
||||
* auth_algo_num(5bits) : Lower 5 bits of 9.4.1.1 Authentication Algorithm
|
||||
* Number field
|
||||
* The auth_algo_num bits shall be ignored unless
|
||||
* WMI_SERVICE_ROAM_STAT_PER_CANDIDATE_FRAME_INFO_SUPPORT is set and
|
||||
* frame_subtype is auth frame.
|
||||
* seq_num(16 bits) - frame sequence number
|
||||
*/
|
||||
A_UINT32 frame_info;
|
||||
|
|
@ -33673,6 +34081,7 @@ typedef struct {
|
|||
* sequence number) is retransmitted, in protocol level.
|
||||
*/
|
||||
A_UINT32 retry_count;
|
||||
wmi_mac_addr bssid; /* AP MAC address */
|
||||
} wmi_roam_frame_info;
|
||||
|
||||
typedef enum {
|
||||
|
|
@ -35627,25 +36036,61 @@ typedef struct {
|
|||
#define WMI_EHTCAP_PHY_MUBFMR320MHZ_GET(eht_cap_phy) WMI_GET_BITS(eht_cap_phy[1], 30, 1)
|
||||
#define WMI_EHTCAP_PHY_MUBFMR320MHZ_SET(eht_cap_phy, value) WMI_SET_BITS(eht_cap_phy[1], 30, 1, value)
|
||||
|
||||
/* Bit 63: reserved */
|
||||
/* Bit 63: TB sounding feedback rate limit */
|
||||
#define WMI_EHTCAP_PHY_TBSUNDFBRATELIMIT_GET(eht_cap_phy) WMI_GET_BITS(eht_cap_phy[1], 31, 1)
|
||||
#define WMI_EHTCAP_PHY_TBSUNDFBRATELIMIT_SET(eht_cap_phy, value) WMI_SET_BITS(eht_cap_phy[1], 31, 1, value)
|
||||
|
||||
/* Bit 64: Rx 1024-QAM in wider bandwidth DL OFDMA support */
|
||||
#define WMI_EHTCAP_PHY_RX1024QAMWIDERBWDLOFDMA_GET(eht_cap_phy) WMI_GET_BITS(eht_cap_phy[2], 0, 1)
|
||||
#define WMI_EHTCAP_PHY_RX1024QAMWIDERBWDLOFDMA_SET(eht_cap_phy, value) WMI_SET_BITS(eht_cap_phy[2], 0, 1, value)
|
||||
|
||||
/* Bit 65: Rx 4096-QAM in wider bandwidth DL OFDMA support */
|
||||
#define WMI_EHTCAP_PHY_RX4096QAMWIDERBWDLOFDMA_GET(eht_cap_phy) WMI_GET_BITS(eht_cap_phy[2], 1, 1)
|
||||
#define WMI_EHTCAP_PHY_RX4096QAMWIDERBWDLOFDMA_SET(eht_cap_phy, value) WMI_SET_BITS(eht_cap_phy[2], 1, 1, value)
|
||||
|
||||
/* Bits 66-71: reserved */
|
||||
|
||||
/****** End of 11BE EHT PHY Capabilities Information field ******/
|
||||
|
||||
/****** 11BE EHT MAC Capabilities Information field ******/
|
||||
|
||||
/* Bit 0: NSEP priority access supported */
|
||||
/* Bit 0: NSEP/EPCS priority access supported: draft1.4 change the name from NSEP to EPCS
|
||||
* To compatible with <= draft 1.4 ver, we keep 2 define there, but same bit.
|
||||
*/
|
||||
#define WMI_EHTCAP_MAC_NSEPPRIACCESS_GET(eht_cap_mac) WMI_GET_BITS(eht_cap_mac[0], 0, 1)
|
||||
#define WMI_EHTCAP_MAC_NSEPPRIACCESS_SET(eht_cap_mac, value) WMI_SET_BITS(eht_cap_mac[0], 0, 1, value)
|
||||
#define WMI_EHTCAP_MAC_EPCSPRIACCESS_GET(eht_cap_mac) WMI_EHTCAP_MAC_NSEPPRIACCESS_GET(eht_cap_mac)
|
||||
#define WMI_EHTCAP_MAC_EPCSPRIACCESS_SET(eht_cap_mac, value) WMI_EHTCAP_MAC_NSEPPRIACCESS_SET(eht_cap_mac, value)
|
||||
|
||||
/* Bit 1: EHT OM control support */
|
||||
#define WMI_EHTCAP_MAC_EHTOMCTRL_GET(eht_cap_mac) WMI_GET_BITS(eht_cap_mac[0], 1, 1)
|
||||
#define WMI_EHTCAP_MAC_EHTOMCTRL_SET(eht_cap_mac, value) WMI_SET_BITS(eht_cap_mac[0], 1, 1, value)
|
||||
|
||||
/* Bit 2: triggered TXOP support */
|
||||
/* Bit 2: triggered TXOP mode 1 support
|
||||
* As in draft 1.4, we define mode2 and to compatible with old version, we keep 2 define there, but same bit.
|
||||
*/
|
||||
#define WMI_EHTCAP_MAC_TRIGTXOP_GET(eht_cap_mac) WMI_GET_BITS(eht_cap_mac[0], 2, 1)
|
||||
#define WMI_EHTCAP_MAC_TRIGTXOP_SET(eht_cap_mac, value) WMI_SET_BITS(eht_cap_mac[0], 2, 1, value)
|
||||
#define WMI_EHTCAP_MAC_TRIGTXOPMODE1_GET(eht_cap_mac) WMI_EHTCAP_MAC_TRIGTXOP_GET(eht_cap_mac)
|
||||
#define WMI_EHTCAP_MAC_TRIGTXOPMODE1_SET(eht_cap_mac, value) WMI_EHTCAP_MAC_TRIGTXOP_SET(eht_cap_mac, value)
|
||||
|
||||
/* Bit 3-15: reserved */
|
||||
/* Bit 3: triggered TXOP mode 2 support */
|
||||
#define WMI_EHTCAP_MAC_TRIGTXOPMODE2_GET(eht_cap_mac) WMI_GET_BITS(eht_cap_mac[0], 3, 1)
|
||||
#define WMI_EHTCAP_MAC_TRIGTXOPMODE2_SET(eht_cap_mac, value) WMI_SET_BITS(eht_cap_mac[0], 3, 1, value)
|
||||
|
||||
/* Bit 4: restricted TWT support */
|
||||
#define WMI_EHTCAP_MAC_RESTRICTTWT_GET(eht_cap_mac) WMI_GET_BITS(eht_cap_mac[0], 4, 1)
|
||||
#define WMI_EHTCAP_MAC_RESTRICTTWT_SET(eht_cap_mac, value) WMI_SET_BITS(eht_cap_mac[0], 4, 1, value)
|
||||
|
||||
/* Bit 5: SCS traffic description support */
|
||||
#define WMI_EHTCAP_MAC_SCSTRAFFICDESC_GET(eht_cap_mac) WMI_GET_BITS(eht_cap_mac[0], 5, 1)
|
||||
#define WMI_EHTCAP_MAC_SCSTRAFFICDESC_SET(eht_cap_mac, value) WMI_SET_BITS(eht_cap_mac[0], 5, 1, value)
|
||||
|
||||
/* Bit 6-7: maximum MPDU length */
|
||||
#define WMI_EHTCAP_MAC_MAXMPDULEN_GET(eht_cap_mac) WMI_GET_BITS(eht_cap_mac[0], 6, 2)
|
||||
#define WMI_EHTCAP_MAC_MAXMPDULEN_SET(eht_cap_mac, value) WMI_SET_BITS(eht_cap_mac[0], 6, 2, value)
|
||||
|
||||
/* Bit 8-15: reserved */
|
||||
|
||||
/****** End of 11BE EHT MAC Capabilities Information field ******/
|
||||
|
||||
|
|
@ -37572,6 +38017,64 @@ typedef struct {
|
|||
A_UINT32 status;
|
||||
} wmi_mlo_teardown_complete_fixed_param;
|
||||
|
||||
#define WMI_TID_TO_LINK_MAP_TID_NUM_GET(_var) WMI_GET_BITS(_var, 0, 5)
|
||||
#define WMI_TID_TO_LINK_MAP_TID_NUM_SET(_var, _val) WMI_SET_BITS(_var, 0, 5, _val)
|
||||
|
||||
#define WMI_TID_TO_LINK_MAP_DIR_GET(_var) WMI_GET_BITS(_var, 5, 2)
|
||||
#define WMI_TID_TO_LINK_MAP_DIR_SET(_var, _val) WMI_SET_BITS(_var, 5, 2, _val)
|
||||
|
||||
#define WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_GET(_var) WMI_GET_BITS(_var, 7, 1)
|
||||
#define WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_SET(_var, _val) WMI_SET_BITS(_var, 7, 1, _val)
|
||||
|
||||
#define WMI_TID_TO_LINK_MAP_LINK_MASK_GET(_var) WMI_GET_BITS(_var, 8, 16)
|
||||
#define WMI_TID_TO_LINK_MAP_LINK_MASK_SET(_var, _val) WMI_SET_BITS(_var, 8, 16, _val)
|
||||
|
||||
enum {
|
||||
WMI_TID_TO_LINK_MAP_DIR_DL,
|
||||
WMI_TID_TO_LINK_MAP_DIR_UL,
|
||||
WMI_TID_TO_LINK_MAP_DIR_BIDI,
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tid_to_link_map */
|
||||
A_UINT32 tlv_header;
|
||||
|
||||
/**
|
||||
* A_UINT32
|
||||
* WMI_TID_TO_LINK_MAP_TID_NUM_GET / WMI_TID_TO_LINK_MAP_TID_NUM_SET
|
||||
* tid_num:5,
|
||||
*
|
||||
* WMI_TID_TO_LINK_MAP_DIR_GET / WMI_TID_TO_LINK_MAP_DIR_SET
|
||||
* dir:2, // 0 - DL, 1 - UL, 2 - BiDi
|
||||
*
|
||||
* WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_GET /
|
||||
* WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_SET
|
||||
* default_link_mapping:1, // If this is set to 1, ignore
|
||||
* // link_mapping_mask for the specific tid
|
||||
*
|
||||
* WMI_TID_TO_LINK_MAP_LINK_MASK_GET / WMI_TID_TO_LINK_MAP_LINK_MASK_SET
|
||||
* link_mapping_mask:16,
|
||||
*
|
||||
* rsvd:8;
|
||||
*/
|
||||
A_UINT32 tid_to_link_map_info;
|
||||
} wmi_tid_to_link_map;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_tid_to_link_map_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
/** pdev_id for identifying the MAC, See macros starting with WMI_PDEV_ID_ for values. */
|
||||
A_UINT32 pdev_id;
|
||||
|
||||
/** MLO Peer's current link MAC address */
|
||||
wmi_mac_addr link_macaddr;
|
||||
|
||||
/**
|
||||
* Following this structure is the TLV:
|
||||
* struct wmi_tid_to_link_map tid_to_link_map[];
|
||||
*/
|
||||
} wmi_peer_tid_to_link_map_fixed_param;
|
||||
|
||||
#define WMI_IGMP_OFFLOAD_SUPPORT_DISABLE_BITMASK 0x0
|
||||
#define WMI_IGMP_V1_OFFLOAD_SUPPORT_BITMASK 0x1
|
||||
#define WMI_IGMP_V2_OFFLOAD_SUPPORT_BITMASK 0x2
|
||||
|
|
@ -37940,11 +38443,54 @@ typedef struct {
|
|||
wmi_mac_addr peer_mac_addr;
|
||||
} wmi_rtt_pasn_deauth_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pmm_scratch_reg_info */
|
||||
/** what the register is used for - see WFSS_PMM_SCRATCH_REG_PURPOSE enum */
|
||||
A_UINT32 pmm_scratch_reg_purpose;
|
||||
/** Address of scratch register */
|
||||
A_UINT32 pmm_scratch_reg_address;
|
||||
} wmi_pmm_scratch_reg_info;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pmm_scratch_reg_allocation_cmd_fixed_param */
|
||||
/** pdev_id for identifying the MAC */
|
||||
A_UINT32 pdev_id;
|
||||
/*
|
||||
* Following this structure is the TLV:
|
||||
* wmi_pmm_scratch_reg_info scratch_reg_info[];
|
||||
*/
|
||||
} wmi_pmm_scratch_reg_allocation_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pmm_available_scratch_reg_info */
|
||||
/** Scratch register address */
|
||||
A_UINT32 pmm_scratch_reg_address;
|
||||
} wmi_pmm_available_scratch_reg_info;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pmm_available_scratch_reg_event_fixed_param */
|
||||
/** pdev_id for identifying the MAC */
|
||||
A_UINT32 pdev_id;
|
||||
/*
|
||||
* Following this structure is the TLV:
|
||||
* wmi_pmm_available_scratch_reg_info pmm_available_scratch_reg_info[];
|
||||
*/
|
||||
} wmi_pmm_available_scratch_reg_event_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pmm_scratch_reg_allocation_complete_event_fixed_param */
|
||||
/** pdev_id for identifying the MAC */
|
||||
A_UINT32 pdev_id;
|
||||
/** 1 - success, 0 - failed */
|
||||
A_UINT32 is_allocated;
|
||||
} wmi_pmm_scratch_reg_allocation_complete_event_fixed_param;
|
||||
|
||||
|
||||
|
||||
/* ADD NEW DEFS HERE */
|
||||
|
||||
|
||||
// {
|
||||
/*****************************************************************************
|
||||
* The following structures are deprecated. DO NOT USE THEM!
|
||||
*/
|
||||
|
|
@ -38006,7 +38552,7 @@ typedef struct {
|
|||
/*****************************************************************************
|
||||
* END DEPRECATED
|
||||
*/
|
||||
|
||||
// }
|
||||
/* ADD NEW DEFS ABOVE THIS DEPRECATED SECTION */
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
#define __WMI_VER_MINOR_ 0
|
||||
/** WMI revision number has to be incremented when there is a
|
||||
* change that may or may not break compatibility. */
|
||||
#define __WMI_REVISION_ 1127
|
||||
#define __WMI_REVISION_ 1148
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
|
|
|||
101
drivers/staging/fw-api/hw/qcn9224/mon_drop.h
Normal file
101
drivers/staging/fw-api/hw/qcn9224/mon_drop.h
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
|
||||
/* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifndef _MON_DROP_H_
|
||||
#define _MON_DROP_H_
|
||||
#if !defined(__ASSEMBLER__)
|
||||
#endif
|
||||
|
||||
#define NUM_OF_DWORDS_MON_DROP 2
|
||||
|
||||
#define NUM_OF_QWORDS_MON_DROP 1
|
||||
|
||||
|
||||
struct mon_drop {
|
||||
#ifndef WIFI_BIT_ORDER_BIG_ENDIAN
|
||||
uint32_t ppdu_id : 32;
|
||||
uint32_t ppdu_drop_cnt : 10,
|
||||
mpdu_drop_cnt : 10,
|
||||
tlv_drop_cnt : 10,
|
||||
end_of_ppdu_seen : 1,
|
||||
reserved_1a : 1;
|
||||
#else
|
||||
uint32_t ppdu_id : 32;
|
||||
uint32_t reserved_1a : 1,
|
||||
end_of_ppdu_seen : 1,
|
||||
tlv_drop_cnt : 10,
|
||||
mpdu_drop_cnt : 10,
|
||||
ppdu_drop_cnt : 10;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#define MON_DROP_PPDU_ID_OFFSET 0x0000000000000000
|
||||
#define MON_DROP_PPDU_ID_LSB 0
|
||||
#define MON_DROP_PPDU_ID_MSB 31
|
||||
#define MON_DROP_PPDU_ID_MASK 0x00000000ffffffff
|
||||
|
||||
|
||||
|
||||
|
||||
#define MON_DROP_PPDU_DROP_CNT_OFFSET 0x0000000000000000
|
||||
#define MON_DROP_PPDU_DROP_CNT_LSB 32
|
||||
#define MON_DROP_PPDU_DROP_CNT_MSB 41
|
||||
#define MON_DROP_PPDU_DROP_CNT_MASK 0x000003ff00000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define MON_DROP_MPDU_DROP_CNT_OFFSET 0x0000000000000000
|
||||
#define MON_DROP_MPDU_DROP_CNT_LSB 42
|
||||
#define MON_DROP_MPDU_DROP_CNT_MSB 51
|
||||
#define MON_DROP_MPDU_DROP_CNT_MASK 0x000ffc0000000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define MON_DROP_TLV_DROP_CNT_OFFSET 0x0000000000000000
|
||||
#define MON_DROP_TLV_DROP_CNT_LSB 52
|
||||
#define MON_DROP_TLV_DROP_CNT_MSB 61
|
||||
#define MON_DROP_TLV_DROP_CNT_MASK 0x3ff0000000000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define MON_DROP_END_OF_PPDU_SEEN_OFFSET 0x0000000000000000
|
||||
#define MON_DROP_END_OF_PPDU_SEEN_LSB 62
|
||||
#define MON_DROP_END_OF_PPDU_SEEN_MSB 62
|
||||
#define MON_DROP_END_OF_PPDU_SEEN_MASK 0x4000000000000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define MON_DROP_RESERVED_1A_OFFSET 0x0000000000000000
|
||||
#define MON_DROP_RESERVED_1A_LSB 63
|
||||
#define MON_DROP_RESERVED_1A_MSB 63
|
||||
#define MON_DROP_RESERVED_1A_MASK 0x8000000000000000
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
210
drivers/staging/fw-api/hw/qcn9224/phyrx_common_user_info.h
Normal file
210
drivers/staging/fw-api/hw/qcn9224/phyrx_common_user_info.h
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
|
||||
/* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifndef _PHYRX_COMMON_USER_INFO_H_
|
||||
#define _PHYRX_COMMON_USER_INFO_H_
|
||||
#if !defined(__ASSEMBLER__)
|
||||
#endif
|
||||
|
||||
#define NUM_OF_DWORDS_PHYRX_COMMON_USER_INFO 4
|
||||
|
||||
#define NUM_OF_QWORDS_PHYRX_COMMON_USER_INFO 2
|
||||
|
||||
|
||||
struct phyrx_common_user_info {
|
||||
uint32_t receive_duration : 16,
|
||||
reserved_0a : 16;
|
||||
uint32_t u_sig_puncture_pattern_encoding : 6,
|
||||
reserved_1a : 26;
|
||||
uint32_t eht_ppdu_type : 2,
|
||||
bss_color_id : 6,
|
||||
dl_ul_flag : 1,
|
||||
txop_duration : 7,
|
||||
cp_setting : 2,
|
||||
ltf_size : 2,
|
||||
spatial_reuse : 4,
|
||||
rx_ndp : 1,
|
||||
dot11be_su_extended : 1,
|
||||
reserved_2a : 6;
|
||||
uint32_t eht_duplicate : 2,
|
||||
eht_sig_cmn_field_type : 2,
|
||||
doppler_indication : 1,
|
||||
sta_id : 11,
|
||||
puncture_bitmap : 16;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_RECEIVE_DURATION_OFFSET 0x0000000000000000
|
||||
#define PHYRX_COMMON_USER_INFO_RECEIVE_DURATION_LSB 0
|
||||
#define PHYRX_COMMON_USER_INFO_RECEIVE_DURATION_MSB 15
|
||||
#define PHYRX_COMMON_USER_INFO_RECEIVE_DURATION_MASK 0x000000000000ffff
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_RESERVED_0A_OFFSET 0x0000000000000000
|
||||
#define PHYRX_COMMON_USER_INFO_RESERVED_0A_LSB 16
|
||||
#define PHYRX_COMMON_USER_INFO_RESERVED_0A_MSB 31
|
||||
#define PHYRX_COMMON_USER_INFO_RESERVED_0A_MASK 0x00000000ffff0000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_OFFSET 0x0000000000000000
|
||||
#define PHYRX_COMMON_USER_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_LSB 32
|
||||
#define PHYRX_COMMON_USER_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_MSB 37
|
||||
#define PHYRX_COMMON_USER_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_MASK 0x0000003f00000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_RESERVED_1A_OFFSET 0x0000000000000000
|
||||
#define PHYRX_COMMON_USER_INFO_RESERVED_1A_LSB 38
|
||||
#define PHYRX_COMMON_USER_INFO_RESERVED_1A_MSB 63
|
||||
#define PHYRX_COMMON_USER_INFO_RESERVED_1A_MASK 0xffffffc000000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_EHT_PPDU_TYPE_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_EHT_PPDU_TYPE_LSB 0
|
||||
#define PHYRX_COMMON_USER_INFO_EHT_PPDU_TYPE_MSB 1
|
||||
#define PHYRX_COMMON_USER_INFO_EHT_PPDU_TYPE_MASK 0x0000000000000003
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_BSS_COLOR_ID_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_BSS_COLOR_ID_LSB 2
|
||||
#define PHYRX_COMMON_USER_INFO_BSS_COLOR_ID_MSB 7
|
||||
#define PHYRX_COMMON_USER_INFO_BSS_COLOR_ID_MASK 0x00000000000000fc
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_DL_UL_FLAG_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_DL_UL_FLAG_LSB 8
|
||||
#define PHYRX_COMMON_USER_INFO_DL_UL_FLAG_MSB 8
|
||||
#define PHYRX_COMMON_USER_INFO_DL_UL_FLAG_MASK 0x0000000000000100
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_TXOP_DURATION_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_TXOP_DURATION_LSB 9
|
||||
#define PHYRX_COMMON_USER_INFO_TXOP_DURATION_MSB 15
|
||||
#define PHYRX_COMMON_USER_INFO_TXOP_DURATION_MASK 0x000000000000fe00
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_CP_SETTING_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_CP_SETTING_LSB 16
|
||||
#define PHYRX_COMMON_USER_INFO_CP_SETTING_MSB 17
|
||||
#define PHYRX_COMMON_USER_INFO_CP_SETTING_MASK 0x0000000000030000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_LTF_SIZE_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_LTF_SIZE_LSB 18
|
||||
#define PHYRX_COMMON_USER_INFO_LTF_SIZE_MSB 19
|
||||
#define PHYRX_COMMON_USER_INFO_LTF_SIZE_MASK 0x00000000000c0000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_SPATIAL_REUSE_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_SPATIAL_REUSE_LSB 20
|
||||
#define PHYRX_COMMON_USER_INFO_SPATIAL_REUSE_MSB 23
|
||||
#define PHYRX_COMMON_USER_INFO_SPATIAL_REUSE_MASK 0x0000000000f00000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_RX_NDP_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_RX_NDP_LSB 24
|
||||
#define PHYRX_COMMON_USER_INFO_RX_NDP_MSB 24
|
||||
#define PHYRX_COMMON_USER_INFO_RX_NDP_MASK 0x0000000001000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_DOT11BE_SU_EXTENDED_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_DOT11BE_SU_EXTENDED_LSB 25
|
||||
#define PHYRX_COMMON_USER_INFO_DOT11BE_SU_EXTENDED_MSB 25
|
||||
#define PHYRX_COMMON_USER_INFO_DOT11BE_SU_EXTENDED_MASK 0x0000000002000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_RESERVED_2A_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_RESERVED_2A_LSB 26
|
||||
#define PHYRX_COMMON_USER_INFO_RESERVED_2A_MSB 31
|
||||
#define PHYRX_COMMON_USER_INFO_RESERVED_2A_MASK 0x00000000fc000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_EHT_DUPLICATE_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_EHT_DUPLICATE_LSB 32
|
||||
#define PHYRX_COMMON_USER_INFO_EHT_DUPLICATE_MSB 33
|
||||
#define PHYRX_COMMON_USER_INFO_EHT_DUPLICATE_MASK 0x0000000300000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_EHT_SIG_CMN_FIELD_TYPE_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_EHT_SIG_CMN_FIELD_TYPE_LSB 34
|
||||
#define PHYRX_COMMON_USER_INFO_EHT_SIG_CMN_FIELD_TYPE_MSB 35
|
||||
#define PHYRX_COMMON_USER_INFO_EHT_SIG_CMN_FIELD_TYPE_MASK 0x0000000c00000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_DOPPLER_INDICATION_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_DOPPLER_INDICATION_LSB 36
|
||||
#define PHYRX_COMMON_USER_INFO_DOPPLER_INDICATION_MSB 36
|
||||
#define PHYRX_COMMON_USER_INFO_DOPPLER_INDICATION_MASK 0x0000001000000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_STA_ID_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_STA_ID_LSB 37
|
||||
#define PHYRX_COMMON_USER_INFO_STA_ID_MSB 47
|
||||
#define PHYRX_COMMON_USER_INFO_STA_ID_MASK 0x0000ffe000000000
|
||||
|
||||
|
||||
|
||||
|
||||
#define PHYRX_COMMON_USER_INFO_PUNCTURE_BITMAP_OFFSET 0x0000000000000008
|
||||
#define PHYRX_COMMON_USER_INFO_PUNCTURE_BITMAP_LSB 48
|
||||
#define PHYRX_COMMON_USER_INFO_PUNCTURE_BITMAP_MSB 63
|
||||
#define PHYRX_COMMON_USER_INFO_PUNCTURE_BITMAP_MASK 0xffff000000000000
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -12708,6 +12708,12 @@ out_dword_masked_ns(HWIO_REO_R0_CACHE_CTL_GXI_PRIORITY_ADDR(x),m,v,HWIO_REO_R0_C
|
|||
#define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_DSCP_TID_MAP_PROGRAM_EN_BMSK 0x800000
|
||||
#define HWIO_TCL_R0_CONS_RING_CMN_CTRL_REG_DSCP_TID_MAP_PROGRAM_EN_SHFT 23
|
||||
|
||||
#define HWIO_TCL_R0_CMN_CONFIG_ADDR(x) ((x) + 0x24)
|
||||
#define HWIO_TCL_R0_CMN_CONFIG_VDEVID_MISMATCH_EXCEPTION_BMSK 0x400000
|
||||
#define HWIO_TCL_R0_CMN_CONFIG_VDEVID_MISMATCH_EXCEPTION_SHFT 22
|
||||
#define HWIO_TCL_R0_CMN_CONFIG_MCAST_CMN_PN_SN_MLO_REINJECT_ENABLE_BMSK 0x1
|
||||
#define HWIO_TCL_R0_CMN_CONFIG_MCAST_CMN_PN_SN_MLO_REINJECT_ENABLE_SHFT 0
|
||||
|
||||
#define HWIO_TCL_R0_RBM_MAPPING0_ADDR(x) ((x) + 0x88)
|
||||
#define HWIO_TCL_R0_RBM_MAPPING0_PHYS(x) ((x) + 0x88)
|
||||
#define HWIO_TCL_R0_RBM_MAPPING0_OFFS (0x88)
|
||||
|
|
|
|||
Loading…
Reference in a new issue