fw-api: CL 22275520 - update fw common interface files

Change-Id: Ia9170628e0efebfe5f79eb6a653fca1649e7ab15
WMI: add peer stats struct in CTRL_PATH_STATS_EVENT msg
CRs-Fixed: 2262693
This commit is contained in:
spuligil 2023-03-28 06:01:00 -07:00
commit 8f611afc82
3 changed files with 907 additions and 3 deletions

View file

@ -1359,6 +1359,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_manual_ul_ofdma_trig_rx_peer_userinfo_evt_fixed_param,
WMITLV_TAG_STRUC_wmi_cca_busy_subband_info,
WMITLV_TAG_STRUC_wmi_mlo_link_disable_request_event_fixed_param,
WMITLV_TAG_STRUC_wmi_ctrl_path_peer_stats_struct,
} WMITLV_TAG_ID;
/*
@ -4559,7 +4560,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_PEER_STATS_INFO_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, vdev_ids, WMITLV_SIZE_VAR)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, mac_addr_list, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, twt_dialog_ids, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, odd_addr_read_args, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, odd_addr_read_args, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, peer_ids, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_CTRL_PATH_STATS_CMDID);
/* Request Halphy Stats through Ctrl Path */
@ -6786,7 +6788,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_pmlo_stats_struct, ctrl_path_pmlo_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_cfr_stats_struct, ctrl_path_cfr_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_t2lm_stats_struct, ctrl_path_t2lm_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_blanking_stats_struct, ctrl_path_blanking_stats, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_blanking_stats_struct, ctrl_path_blanking_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_peer_stats_struct, ctrl_path_peer_stats, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_CTRL_PATH_STATS_EVENTID);
/*

View file

@ -13128,6 +13128,906 @@ typedef struct {
A_UINT32 cfr_resp_failure_count;
} wmi_ctrl_path_cfr_stats_struct;
#define WMI_MAX_MLO_LINKS 5
#define WMI_HE_MAP_COUNT 3
#define WMI_EHT_MAP_COUNT 3
typedef struct {
/* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_ctrl_path_peer_stats_struct
*/
A_UINT32 tlv_header;
/* mac address - part of wlan_peer */
wmi_mac_addr mac_addr;
/* wlan_peer flags - refer to IEEE80211_NODE_* flags in wlan_peer.h */
A_UINT32 opaque_debug_flags;
/* opaque_debug_vht_caps:
* Negotiated VHT capabilities in the wlan_peer struct
* Refer to ieee80211_defs.h.
*/
A_UINT32 opaque_debug_vht_caps;
/* opaque_debug_flags_ext:
* Extended flags in the wlan_peer struct
* Refer to IEEE80211_NODE_* flags in wlan_peer.h.
*/
A_UINT32 opaque_debug_flags_ext;
/* TID queues marked for TWT flush, present in wlan_peer */
A_UINT32 opaque_debug_twt_flush_tidmap;
/* Number of TWT SPs to be expired, present in wlan_peer */
A_UINT32 opaque_debug_n_TWT_SPs_to_expire;
/* opaque_debug_rc_flags:
* Peer rate information, part of struct rate_node
* Refer to whal_rate_api.h for complete RC_FLAGS details.
*/
A_UINT32 opaque_debug_rc_flags;
/* opaque_debug_sm_event_mask_eosp_cnt:
* This word contains the following bitfields:
* - Power save state machine event mask,
* part of wal_ps_buf_peer_handle_t.
* Refer to enum wal_ps_buf_peer_reg_ev_handlers.
* Use WMI_PEER_STATS_SM_MASK_SET,GET macros.
* - End of service period (EOSP) sent retry counter,
* part of wal_ps_buf_peer_handle_t.
* Use WMI_PEER_STATS_EOSP_RETRY_CNT_SET,GET macros.
*/
A_UINT32 opaque_debug_sm_event_mask_eosp_cnt;
/* opaque_debug_ps_buf_peer_flag1:
* Power save related send_n, ps_poll, unscheduled service period
* related fields;
* Part of wal_ps_buf_peer_handle_t.
* Refer to wal_ps_buf_peer_ctx struct definition.
*/
A_UINT32 opaque_debug_ps_buf_peer_flag1;
/* opaque_debug_ps_buf_peer_flag2:
* Power save related trigger/delivery tid related fields.
* part of wal_ps_buf_peer_handle_t.
* Refer to wal_ps_buf_peer_ctx struct definition.
*/
A_UINT32 opaque_debug_ps_buf_peer_flag2;
/* opaque_debug_ps_buf_peer_flag3:
* Power save related last trigger related information,
* part of wal_ps_buf_peer_handle_t.
* Refer to wal_ps_buf_peer_ctx struct definition.
*/
A_UINT32 opaque_debug_ps_buf_peer_flag3;
/* opaque_debug_last_rx_trigger_time:
* Time of the most recently received uplink trigger frame,
* part of wal_ps_buf_peer_handle_t - in microseconds units.
*/
A_UINT32 opaque_debug_last_rx_trigger_time;
/* opaque_debug_last_poll_time:
* TSF of the most recently received uplink PS-Poll,
* part of wal_ps_buf_peer_handle_t - in TU
*/
A_UINT32 opaque_debug_last_poll_time;
/* opaque_debug_oldest_tx_buffered_waiting_ms:
* Enqueue time of most recent MSDU that AP has buffered for
* sleeping station, part of wal_ps_buf_peer_handle_t, in ms units.
*/
A_UINT32 opaque_debug_oldest_tx_buffered_waiting_ms;
/* opaque_debug_last_rxtx_activity:
* The last time when there was a rx or tx traffic from a client,
* part of wal_ps_buf_peer_handle_t, in ms units.
*/
A_UINT32 opaque_debug_last_rxtx_activity;
/* opaque_debug_twt_flush_expiry_timestamp:
* Peer's TWT flush expiry timestamp in us,
* part of peer_twt_flush struct.
*/
A_UINT32 opaque_debug_twt_flush_expiry_timestamp;
/* opaque_debug_hw_link_id:
* Unique link id across SOCs, determined during QMI handshake,
* part of wlan_peer_ml_info_t.
*/
A_UINT32 opaque_debug_hw_link_id;
/* opaque_debug_ml_partner_hw_link_id_bitmap:
* Hardware link id of the of partner links that are to be cleaned up.
* This is filled by host during peer delete cmd.
* It it part of wlan_peer_ml_info_t.
*/
A_UINT32 opaque_debug_ml_partner_hw_link_id_bitmap;
/* opaque_debug_link_flags:
* MLO link flags: related to assoc, anchor, master and primary UMAC links.
* Refer to resmgr_mlo_link_flags.
* Part of wlan_peer_ml_info_t.
*/
A_UINT32 opaque_debug_link_flags;
/* MLO peer id - part of wlan_ml_peer_t */
A_UINT32 opaque_debug_ml_peer_id;
/* MLD mac address - part of wlan_ml_peer_t */
wmi_mac_addr opaque_debug_mld_mac_addr;
/* opaque_debug_assoc_id_usage_cnt:
* Part of wlan_peer.
* This word contains the following bitfields:
* - assoc id of the peer
* Use WMI_PEER_STATS_ASSOCIATE_ID_SET,GET macros.
* - peer usage count to track if peer alloc command is sent
* for new or existing peer,
* Use WMI_PEER_STATS_USAGE_CNT_SET,GET macros.
*/
A_UINT32 opaque_debug_assoc_id_usage_cnt;
/* opaque_debug_default_ht_caps:
* Part of wlan_peer.
* This word contains the following bitfields:
* - default peer capabilities of the peer - refer ieee80211_defs.h
* Use WMI_PEER_STATS_DEF_CAPS_SET,GET macros.
* - HT capabilities of the peer - refer ieee80211_defs.h
* Use WMI_PEER_STATS_HT_CAPS_SET,GET macros.
*/
A_UINT32 opaque_debug_default_ht_caps;
/* opaque_debug_inact_gen:
* Part of wlan_peer.
* This word contains the following bitfields:
* - Overall tx/rx inactivity time of the peer in seconds
* Use WMI_PEER_STATS_INACT_GEN_SET,GET macros.
* - Data tx/rx inactivity time of the peer in seconds.
* Use WMI_PEER_STATS_DATA_INACT_GEN_SET,GET macros.
*/
A_UINT32 opaque_debug_inact_gen;
/* opaque_debug_id_type:
* Part of wlan_peer.
* This word contains the following bitfields:
* - Type of peer whether it is bss,self or remote peer.
* Refer to enum wmi_peer_type.
* Use WMI_PEER_STATS_TYPE_SET,GET macros.
* - MAC ID that the peer belongs to
* Use WMI_PEER_STATS_MAC_ID_SET,GET macros.
* - sw peer id of the peer
* Use WMI_PEER_STATS_ID_SET,GET macros.
*/
A_UINT32 opaque_debug_id_type;
/* Deleted tids bitmask within the peer - part of wal_peer */
A_UINT32 opaque_debug_deleted_tidmask;
/* number of local pending frames for completions - part of wal_peer */
A_UINT32 opaque_debug_num_of_local_frames_pending;
/* flags part of wal_peer - refer to wal_peer_flags_t */
A_UINT32 opaque_debug_wal_peer_flags;
/* opaque_debug_keyid0_ast_index:
* The AST index for key id 0 which is always allocated,
* part of wal_peer.
*/
A_UINT32 opaque_debug_keyid0_ast_index;
/* opaque_debug_all_tids_block_module_bitmap:
* Bitmap of block IDs requesting block of all TIDs,
* part of wal_peer.
* Refer to enum WLAN_PAUSE_ID.
* This block/pause ID can be mapped to a WLAN_MODULE_ID module ID.
*/
A_UINT32 opaque_debug_all_tids_block_module_bitmap;
/* opaque_debug_all_tids_pause_module_bitmap:
* Bitmap of pause IDs requesting block of all TIDs,
* part of wal_peer.
* Refer to enum WLAN_PAUSE_ID.
* This pause ID can be mapped to a WLAN_MODULE_ID module ID.
*/
A_UINT32 opaque_debug_all_tids_pause_module_bitmap;
/* opaque_debug_data_tids_block_module_bitmap:
* Bitmap of block ids requesting block of data tids,
* part of wal_peer.
* Refer to enum WLAN_PAUSE_ID.
* This block/pause ID can be mapped to a WLAN_MODULE_ID module ID.
*/
A_UINT32 opaque_debug_data_tids_block_module_bitmap;
/* opaque_debug_data_tids_pause_module_bitmap:
* Bitmap of pause ids requesting block of data tids,
* part of wal_peer.
* Refer to enum WLAN_PAUSE_ID.
* This pause ID can be mapped to a WLAN_MODULE_ID module ID.
*/
A_UINT32 opaque_debug_data_tids_pause_module_bitmap;
/* The time stamp when first ppdu fails in us, part of wal_peer */
A_UINT32 opaque_debug_ppdu_fail_time;
/* opaque_debug_rate_params:
* This word contains the following bitfields:
* - Non data rate code of the peer - part of wal_peer
* Use WMI_PEER_STATS_BSS_NON_DATA_RC_SET,GET macros.
* - channel bandwidth supported by the peer, part of wal_peer.
* The mapping is as follows:
* 0 = 20 MHz, 1 = 40 MHz, 2 = 80 MHz, 3 = 160 MHz, 4 = 320 MHz
* Use WMI_PEER_STATS_CH_WIDTH_SET,GET macros.
* - MCS used for the last PPDU received from the peer, part of wal_peer
* Use WMI_PEER_STATS_RX_MCS_SET,GET macros.
*/
A_UINT32 opaque_debug_rate_params;
/* consecutive QOS null frame tx fail count, part of wal_peer */
A_UINT32 opaque_debug_consecutive_null_failure;
/* peer delete state refer enum PEER_DELETE_SM_STATE, part of wal_peer */
A_UINT32 opaque_debug_peer_delete_sm_state;
/* opaque_debug_cache_rate_info_low32,_high32:
* Lower/upper 32 bits respectively of cached rate info variable
* updated by the HTT metadata.
* This rate_info is based on the values from struct
* htt_tx_msdu_desc_ext2_t .
* If htt_tx_desc_ext2->update_peer_cache is set to 1 and
* HTT_TX_TCL_METADATA_PEER_ID_GET(tcl_cmd_num) returns valid peer ID
* then rate_info cache of the peer is updated.
* Part of wal_peer.
*/
A_UINT32 opaque_debug_cache_rate_info_low32;
A_UINT32 opaque_debug_cache_rate_info_high32;
/* opaque_debug_peer_delete_rc4_rekey:
* This word contains the following bitfields:
* - Flag that denotes if Peer delete all is in progress or not,
* part of wal_peer.
* Use WMI_PEER_STATS_DELETE_ALL_FLAG_SET,GET macros.
* - RC4 rekey counter, part of wal_peer.
* Use WMI_PEER_STATS_RC4_REKEY_CNT_SET,GET macros.
*/
A_UINT32 opaque_debug_peer_delete_rc4_rekey;
/* opaque_debug_mcbc_tids_pause_bitmap:
* Bitmap containing Multicast and broadcast tids that are paused,
* part of wal_peer.
*/
A_UINT32 opaque_debug_mcbc_tids_pause_bitmap;
/* opaque_debug_next_to_last_pn_low32,_high32:
* Lower/upper 32 bits respectively of last used PN value received,
* part of wal_peer.
*/
A_UINT32 opaque_debug_next_to_last_pn_low32;
A_UINT32 opaque_debug_next_to_last_pn_high32;
/* opaque_debug_last_pn_low32,_high32:
* Lower/upper 32 bits respectively of current PN value received,
* part of wal_peer.
*/
A_UINT32 opaque_debug_last_pn_low32;
A_UINT32 opaque_debug_last_pn_high32;
/* opaque_debug_twt_ap_peer_ctx_flags:
* This word contains the following bitfields:
* - TWT AP peer's context flags, part of twt_ap_peer_handle_t struct.
* Refer twt_ap_twt_session_t definition.
* Use WMI_PEER_STATS_TWT_AP_FLAGS_SET,GET macros.
* - TWT session counter, part of twt_ap_peer_handle_t struct.
* Use WMI_PEER_STATS_TWT_AP_SESSION_CNT_SET,GET macros.
* - TWT frame retry counter, part of twt_ap_peer_handle_t struct.
* Use WMI_PEER_STATS_TWT_FRM_RETRY_SET,GET macros.
*/
A_UINT32 opaque_debug_twt_ap_peer_ctx_flags;
/* opaque_debug_twt_ap_counters:
* This word contains the following bitfields:
* - TWT UL trigger counter, part of twt_ap_peer_handle_t struct.
* Use WMI_PEER_STATS_TWT_UL_TRIGGER_SET,GET macros.
* - TWT Broadcast session counter, part of twt_ap_peer_handle_t struct.
* Use WMI_PEER_STATS_TWT_BC_SESSION_SET,GET macros.
* - TWT pending report counter, part of twt_ap_peer_handle_t struct.
* Use WMI_PEER_STATS_TWT_PENDING_REPORT_SET,GET macros.
* - TWT flow IDs, part of twt_ap_peer_handle_t struct.
* Use WMI_PEER_STATS_TWT_FLOW_IDS_SET,GET macros.
*/
A_UINT32 opaque_debug_twt_ap_counters;
/* opaque_debug_tx_state_bmap_low32,_high32:
* Lower/upper 32 bits respectively of list of currently running
* BA Tx states for tids in this peer, part of wal_ba_peer_handle_t.
*/
A_UINT32 opaque_debug_tx_state_bmap_low32;
A_UINT32 opaque_debug_tx_state_bmap_high32;
/* opaque_debug_addba_mode:
* This word contains the following bitfields:
* - ADDBA mode whether its automatic or manual,
* WAL_BA_ADDBA_MODE_AUTO = 0 and WAL_BA_ADDBA_MODE_MANUAL = 1
* Part of wal_ba_peer_handle_t.
* Use WMI_PEER_STATS_ADDBBA_TX_MODE_SET,GET macros.
* - ADDBA request's response code, part of wal_ba_peer_handle_t.
* Use WMI_PEER_STATS_ADDBBA_RESP_MODE_SET,GET macros.
*/
A_UINT32 opaque_debug_addba_mode;
/* opaque_debug_tx_retry_bmap:
* Bitmap of tids and their TX BlockAck retry counters.
* Each TID uses 2 bits for its BA retry counter.
* Part of wal_ba_peer_handle_t.
*/
A_UINT32 opaque_debug_tx_retry_bmap;
/* opaque_debug_rx_state_bmap:
* Bitmap of tids and their RX BlockAck retry counters.
* 00 - BA not setup
* 01 - BA in progress
* 10 - reserved
* 11 - BA setup.
* Each TID uses 2 bits for its BA RX state;
* for instance TID 0's BA info occupies bits 1:0 and so on.
* Part of wal_ba_peer_handle_t.
*/
A_UINT32 opaque_debug_rx_state_bmap;
/* opaque_debug_tx_pending_delba_tid_bmap:
* TID bitmap containaing information DELBA tx pending,
* part of wal_ba_peer_handle_t.
*/
A_UINT32 opaque_debug_tx_pending_delba_tid_bmap;
/* opaque_debug_link_monitor_tid_num:
* link monitor tid num in bss_peer ba_peer_handle,
* part of wal_ba_peer_handle_t.
*/
A_UINT32 opaque_debug_link_monitor_tid_num;
/* opaque_debug_rc4_eapol_key_complete:
* Flag that denotes rc4 eapol key exchange is complete,
* part of wal_peer_ext.
*/
A_UINT32 opaque_debug_rc4_eapol_key_complete;
/* qcache peer flags, refer to qpeer_flags_t */
A_UINT32 opaque_debug_qpeer_flags;
/* bitmap of TIDs requested for flush, part of wal_qcache_peer */
A_UINT32 opaque_debug_delete_requested_tidmask;
/* bitmap of created TIDs, part of wal_qcache_peer */
A_UINT32 opaque_debug_tid_created_tidmask;
/* opaque_debug_qpeer_rt_flags0,_flags1,_flags2:
* RT thread related fields in qpeer, refer to _wal_qcache_peer.
*/
A_UINT32 opaque_debug_qpeer_rt_flags0;
A_UINT32 opaque_debug_qpeer_rt_flags1;
A_UINT32 opaque_debug_qpeer_rt_flags2;
/* opaque_debug_qpeer_sa_flags0,_flags1:
* SA thread related fields in qpeer, refer to _wal_qcache_peer.
*/
A_UINT32 opaque_debug_qpeer_sa_flags0;
A_UINT32 opaque_debug_qpeer_sa_flags1;
/* BE thread related fields in qpeer, refer to _wal_qcache_peer */
A_UINT32 opaque_debug_qpeer_be_flags;
/* qpeer event bitmap, refer to wal_peer_event_type */
A_UINT32 opaque_debug_event_bitmap;
/* tx fail count for a peer, part of dcache peer */
A_UINT32 opaque_debug_seq_no_tx_fail_cnt;
/* Last transmission rate in kbps for a peer, part of dcache peer */
A_UINT32 opaque_debug_last_tx_rate_kbps;
/* opaque_debug_amsdu_size:
* This word contains the following bitfields:
* - MAX AMSDU size of the peer, part of dcache peer.
* Use WMI_PEER_STATS_MAX_AMSDU_SIZE_SET,GET macros.
*/
A_UINT32 opaque_debug_amsdu_size;
/* opaque_debug_fake_sleep_time:
* Time elapsed in ms after entering into fake sleep after xretry failure,
* part of dcache peer.
*/
A_UINT32 opaque_debug_fake_sleep_time;
/* opaque_debug_tx_frame_qos_ctrl:
* This word contains the following bitfields:
* - Tx frame control FC flags in ieee80211_defs.h, part of dcache peer.
* Use WMI_PEER_STATS_TX_FRAME_CTRL_SET,GET macros.
* - Tx QOS control FC flags in ieee80211_defs.h, part of dcache peer.
* Use WMI_PEER_STATS_TX_QOS_CTRL_SET,GET macros.
*/
A_UINT32 opaque_debug_tx_frame_qos_ctrl;
/* opaque_debug_consec_fail_subfrm_sz:
* This word contains the following bitfields:
* - Consecutive tx fail count for the peer, part of dcache peer.
* Use WMI_PEER_STATS_CONSEC_FAIL_SET,GET macros.
* - subframe size configured for the peer, part of dcache peer.
* Use WMI_PEER_STATS_SUBFRAME_SIZE_SET,GET macros.
*/
A_UINT32 opaque_debug_consec_fail_subfrm_sz;
/* opaque_debug_tx_fail_partial_aid:
* This word contains the following bitfields:
* - tx fail count for the peer, part of dcache peer.
* Use WMI_PEER_STATS_TX_FAIL_CNT_SET,GET macros.
* - Partial AID of the peer, part of dcache peer.
* Use WMI_PEER_STATS_TX_PARTIAL_AID_SET,GET macros.
*/
A_UINT32 opaque_debug_tx_fail_partial_aid;
/* opaque_debug_max_nss:
* Part of dcache peer.
* This word contains the following bitfields:
* - Peer NSS value sent by host during WMI_PEER_ASSOC cmd.
* Use WMI_PEER_STATS_MAX_NSS_SET,GET macros.
*/
A_UINT32 opaque_debug_max_nss;
/* opaque_debug_he_cap_info:
* Peer HE capabilities info sent during peer assoc cmd.
* Refer to WMI_HECAP_* macros in wmi_unified.h.
* Part of dcache peer.
*/
A_UINT32 opaque_debug_he_cap_info;
/* opaque_debug_he_cap_info_ext:
* Peer extended HE capabilities info sent during peer assoc cmd.
* Refer to WMI_HECAP_* macros in wmi_unified.h.
* Part of dcache peer.
*/
A_UINT32 opaque_debug_he_cap_info_ext;
/* opaque_debug_eht_cap_info:
* Peer EHT capabilities info.
* Refer to ieee80211_defs.h, part of dcache peer.
*/
A_UINT32 opaque_debug_eht_cap_info;
/* TAC thread related fields in dcache peer refer wal_dcache_peer_t */
A_UINT32 opaque_debug_dcache_tac_flags;
/* RT thread related fields in dcache peer refer wal_dcache_peer_t */
A_UINT32 opaque_debug_dcache_rt_flags;
/* Supported RC modes for the peer refer enum RC_MODE, part of dcache */
A_UINT32 opaque_debug_rc_mode_supported_mask;
/* opaque_debug_wlan_peer_bitfield_mask:
* Part of wlan peer. This word contains the following bitfields:
* - Flag that denotes whether peer delete response is being sent
* to host or not.
* Use WMI_PEER_STATS_DEL_RESP_TO_HOST_SET,GET macros.
* - Flag that denotes if peer delete is in progress or not.
* Use WMI_PEER_STATS_DELETE_IN_PROGRESS_SET,GET macros.
* - Flag that denotes if peer migration is in progress or not.
* Use WMI_PEER_STATS_MIGRATION_IN_PROGRESS_SET,GET macros.
* - Flag that denotes peer's connection/authorized state.
* Refer WAL_PEER_STATE_* macros in wal_peer.h.
* Use WMI_PEER_STATS_CONN_STATE_SET,GET macros.
* - TX chain mask at 160MHz of the peer set during peer assoc command.
* Use WMI_PEER_STATS_TX_CHAIN_MASK_160_SET,GET macros.
* - Tx chain mask set during peer assoc command.
* Use WMI_PEER_STATS_TX_CHAIN_MASK_SET,GET macros.
* - copy of tx chain mask of peer saved for AP MIMO PS.
* Use WMI_PEER_STATS_ASSOC_CHAIN_MASK_SET,GET macros.
*/
A_UINT32 opaque_debug_wlan_peer_bitfield_mask;
/* opaque_debug_wal_peer_bitfields:
* Part of wal_peer. This word contains the following bitfields:
* - Flag that denotes if QOS null is sent over WMI or not.
* Use WMI_PEER_STATS_QOS_NULL_OVER_WMI_SET,GET macros.
* - Flag that denotes whether peer assoc is received
* for the first time or not.
* Use WMI_PEER_STATS_NEW_ASSOC_SET,GET macros.
* - Flag that denotes whether TWT filter is enabled or not.
* Use WMI_PEER_STATS_TWT_FILT_FLAG_SET,GET macros.
* - Flag that denotes whether TWT is registered or not.
* Use WMI_PEER_STATS_TWT_REG_FLAG_SET,GET macros.
* - Flag that denotes whether WMM txQ uplink trigger is disabled or not.
* Use WMI_PEER_STATS_WMM_UL_TRIG_FLAG_SET,GET macros.
* - Number of active TIDs that do not have BA setup.
* Use WMI_PEER_STATS_ACTIVE_NOT_BA_TID_SET,GET macros.
*/
A_UINT32 opaque_debug_wal_peer_bitfields;
/* flags in RT context refer wal_peer_ext_t */
A_UINT32 opaque_debug_wal_peer_rt_flags;
/* opaque_debug_ml_attributes:
* Part of wal_ml_peer. This word contains the following bitfields:
* - Num of MLO links
* Use WMI_PEER_STATS_NUM_LINKS_SET,GET macros.
* - ML peer id
* Use WMI_PEER_STATS_ML_PEER_ID_SET,GET macros.
* - Primary link ID
* Use WMI_PEER_STATS_PRI_LINK_ID_SET,GET macros.
* - Primary chip ID
* Use WMI_PEER_STATS_PRI_CHIP_ID_SET,GET macros.
* - Initial link count
* Use WMI_PEER_STATS_LINK_INIT_CNT_SET,GET macros.
* - Number of local links
* Use WMI_PEER_STATS_NUM_LOCAL_LINKS_SET,GET macros.
* - Bitmap of participating chips
* Use WMI_PEER_STATS_CHIPS_BITMAP_SET,GET macros.
*/
A_UINT32 opaque_debug_ml_attributes;
/* wal peer MLO flags refer ml_peer_flags_t */
A_UINT32 opaque_debug_ml_flags;
/* opaque_debug_ml_link_info_flags:
* Part of link_info in wlan_peer_ml_info_t.
* This word contains the following bitfields:
* - flag denoting if MLO-link is valid or not
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_VALID_SET,GET macros.
* - flag denoting if MLO-link is active or not
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_ACTIVE_SET,GET macros.
* - flag denoting if MLO-link is primary or not
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_PRI_SET,GET macros.
* - flag denoting if MLO-link is assoc link or not
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_ASSOC_LINK_SET,GET macros.
* - Chip ID of the MLO-link
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_CHIP_ID_SET,GET macros.
* - IEEE link ID of the MLO-link
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_IEEE_LINK_SET,GET macros.
* - HW link ID of the MLO-link
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_HW_LINK_SET,GET macros.
* - logical link ID of the MLO-link
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_LOGICAL_LINK_SET,GET macros.
* - flag denoting if MLO-link is master link or not
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_MASTER_LINK_SET,GET macros.
* - flag denoting if MLO-link is anchor link or not
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_ANCHOR_LINK_SET,GET macros.
* - flag denoting if MLO-link is initialized or not
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_INIT_SET,GET macros.
*/
A_UINT32 opaque_debug_ml_link_info_flags[WMI_MAX_MLO_LINKS];
/* opaque_debug_ml_link_info_id:
* Part of link_info in wlan_peer_ml_info_t.
* This word contains the following bitfields:
* - sw_peer_id corresponding to the link
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_PEER_ID_SET,GET macros.
* - vdev id corresponding to the link
* Use WMI_PEER_STATS_ML_PEER_LINK_INFO_VDEV_ID_SET,GET macros.
*/
A_UINT32 opaque_debug_ml_link_info_id[WMI_MAX_MLO_LINKS];
/* MLO link info primary tid mask, part of link_info in wlan_peer_ml_info_t */
A_UINT32 opaque_debug_ml_link_info_pri_tidmask[WMI_MAX_MLO_LINKS];
/* opaque_debug_rc_node_params:
* Part of struct TX_PEER_PARAMS.
* This word contains the following bitfields:
* - NSS of the peer in 160MHZ
* Use WMI_PEER_STATS_NSS_160_SET,GET macros.
* - phymode of the peer - refer enum WLAN_PHY_MODE
* Use WMI_PEER_STATS_RC_PHYMODE_SET,GET macros.
* - legacy rate set for the peer
* Use WMI_PEER_STATS_LEGACY_RATE_SET,GET macros.
*/
A_UINT32 opaque_debug_rc_node_params;
/* opaque_debug_rc_vht_mcs_set:
* Rate node param - negotiated VHT MCS map,
* part of struct TX_PEER_PARAMS
*/
A_UINT32 opaque_debug_rc_vht_mcs_set;
/* opaque_debug_rc_node_params1:
* Part of link_info in wlan_peer_ml_info_t.
* This word contains the following bitfields:
* - Minimum data rate set for the peer in Mbps
* Use WMI_PEER_STATS_MIN_DATA_RATE_SET,GET macros.
* - Max VHT rate set for the peer
* Use WMI_PEER_STATS_VHT_MAX_RATE_SET,GET macros.
* - Max VHT streams set for the peer
* Use WMI_PEER_STATS_VHT_MAX_STREAMS_SET,GET macros.
* - BSS - Channel frequency set for the peer in MHz
* Use WMI_PEER_STATS_RC_CHAN_FREQ_SET,GET macros.
*/
A_UINT32 opaque_debug_rc_node_params1;
/* opaque_debug_he_mcs_nss_set_tx,_rx:
* Rate node param - negotiated HE MCS tx+rx maps,
* part of struct TX_PEER_PARAMS.
* The lower 8 bits (bits 23:16) within the upper 16 bits indicate
* MCS 12/13 enablement for BW <= 80MHz; the upper 8 bits (bits 31:24)
* within the 16 bits indicate MCS 12/13 enablement for BW > 80MHz.
* The 16 bits for the index values are within the upper bits (bits 31:16)
* of a 32-bit word. and WMI_HE_MAP_COUNT is based on HE_MCS_MAP_CNT
* in ieee80211_defs.h.
*/
A_UINT32 opaque_debug_he_mcs_nss_set_tx[WMI_HE_MAP_COUNT];
A_UINT32 opaque_debug_he_mcs_nss_set_rx[WMI_HE_MAP_COUNT];
/* opaque_debug_eht_mcs_nss_set_tx,_rx:
* Rate node param - negotiated EHT MCS tx+rx maps,
* part of struct TX_PEER_PARAMS.
* B0-B3 indicates max NSS that supports mcs 0-7
* B4-B7 indicates max NSS that supports mcs 8-9
* B8-B11 indicates max NSS that supports mcs 10-11
* B12-B15 indicates max NSS that supports mcs 12-13
* B16-B31 reserved.
* WMI_EHT_MAP_COUNT is based on EHT_MCS_MAP_CNT in ieee80211_defs.h.
*/
A_UINT32 opaque_debug_eht_mcs_nss_set_tx[WMI_EHT_MAP_COUNT];
A_UINT32 opaque_debug_eht_mcs_nss_set_rx[WMI_EHT_MAP_COUNT];
/* opaque_debug_rc_user_start_mcs_rate:
* Rate node user_start_rate is MCS value set based on phymode.
* For possible values refer "INITIAL_" macros in ratectrl.h.
* Part of struct TX_PEER_PARAMS.
* This is the starting value of MCS that was used by rate control
* for the first transmissions to the peer, until PER information
* from the peer allowed the rate control algorithm to determine
* the suitable MCS.
*/
A_UINT32 opaque_debug_rc_user_start_mcs_rate;
/*
* The following 4 opaque_debug_field variables are provided purely
* for debugging by technicians who have outside knowledge of what
* kind of values the target has placed into these fields.
* They are not to be interpreted by the host driver in any manner.
*/
A_UINT32 opaque_debug_field_1;
A_UINT32 opaque_debug_field_2;
A_UINT32 opaque_debug_field_3;
A_UINT32 opaque_debug_field_4;
} wmi_ctrl_path_peer_stats_struct;
#define WMI_PEER_STATS_SM_MASK_SET(flag, val) \
WMI_SET_BITS(flag, 0, 16, val)
#define WMI_PEER_STATS_SM_MASK_GET(flag) \
WMI_GET_BITS(flag, 0, 16)
#define WMI_PEER_STATS_EOSP_RETRY_CNT_SET(flag, val) \
WMI_SET_BITS(flag, 16, 8, val)
#define WMI_PEER_STATS_EOSP_RETRY_CNT_GET(flag) \
WMI_GET_BITS(flag, 16, 8)
/* bits 31:24 unused/reserved */
#define WMI_PEER_STATS_ASSOCIATE_ID_SET(flag, val) \
WMI_SET_BITS(flag, 0, 16, val)
#define WMI_PEER_STATS_ASSOCIATE_ID_GET(flag) \
WMI_GET_BITS(flag, 0, 16)
#define WMI_PEER_STATS_USAGE_CNT_SET(flag, val) \
WMI_SET_BITS(flag, 16, 16, val)
#define WMI_PEER_STATS_USAGE_CNT_GET(flag) \
WMI_GET_BITS(flag, 16, 16)
#define WMI_PEER_STATS_DEF_CAPS_SET(flag, val) \
WMI_SET_BITS(flag, 0, 16, val)
#define WMI_PEER_STATS_DEF_CAPS_GET(flag) \
WMI_GET_BITS(flag, 0, 16)
#define WMI_PEER_STATS_HT_CAPS_SET(flag, val) \
WMI_SET_BITS(flag, 16, 16, val)
#define WMI_PEER_STATS_HT_CAPS_GET(flag) \
WMI_GET_BITS(flag, 16, 16)
#define WMI_PEER_STATS_INACT_GEN_SET(flag, val) \
WMI_SET_BITS(flag, 0, 16, val)
#define WMI_PEER_STATS_INACT_GEN_GET(flag) \
WMI_GET_BITS(flag, 0, 16)
#define WMI_PEER_STATS_DATA_INACT_GEN_SET(flag, val) \
WMI_SET_BITS(flag, 16, 16, val)
#define WMI_PEER_STATS_DATA_INACT_GEN_GET(flag) \
WMI_GET_BITS(flag, 16, 16)
#define WMI_PEER_STATS_PEER_TYPE_SET(flag, val) \
WMI_SET_BITS(flag, 0, 8, val)
#define WMI_PEER_STATS_PEER_TYPE_GET(flag) \
WMI_GET_BITS(flag, 0, 8)
#define WMI_PEER_STATS_MAC_ID_SET(flag, val) \
WMI_SET_BITS(flag, 8, 8, val)
#define WMI_PEER_STATS_MAC_ID_GET(flag) \
WMI_GET_BITS(flag, 8, 8)
#define WMI_PEER_STATS_PEER_ID_SET(flag, val) \
WMI_SET_BITS(flag, 16, 16, val)
#define WMI_PEER_STATS_PEER_ID_GET(flag) \
WMI_GET_BITS(flag, 16, 16)
#define WMI_PEER_STATS_BSS_NON_DATA_RC_SET(flag, val) \
WMI_SET_BITS(flag, 0, 8, val)
#define WMI_PEER_STATS_BSS_NON_DATA_RC_GET(flag) \
WMI_GET_BITS(flag, 0, 8)
#define WMI_PEER_STATS_CH_WIDTH_SET(flag, val) \
WMI_SET_BITS(flag, 8, 8, val)
#define WMI_PEER_STATS_CH_WIDTH_GET(flag) \
WMI_GET_BITS(flag, 8, 8)
#define WMI_PEER_STATS_RX_MCS_SET(flag, val) \
WMI_SET_BITS(flag, 16, 8, val)
#define WMI_PEER_STATS_RX_MCS_GET(flag) \
WMI_GET_BITS(flag, 16, 8)
/* bits 31:24 unused/reserved */
#define WMI_PEER_STATS_DELETE_ALL_FLAG_SET(flag, val) \
WMI_SET_BITS(flag, 0, 8, val)
#define WMI_PEER_STATS_DELETE_ALL_FLAG_GET(flag) \
WMI_GET_BITS(flag, 0, 8)
#define WMI_PEER_STATS_RC4_REKEY_CNT_SET(flag, val) \
WMI_SET_BITS(flag, 8, 8, val)
#define WMI_PEER_STATS_RC4_REKEY_CNT_GET(flag) \
WMI_GET_BITS(flag, 8, 8)
/* bits 31:16 unused/reserved */
#define WMI_PEER_STATS_TWT_AP_FLAGS_SET(flag, val) \
WMI_SET_BITS(flag, 0, 16, val)
#define WMI_PEER_STATS_TWT_AP_FLAGS_GET(flag) \
WMI_GET_BITS(flag, 0, 16)
#define WMI_PEER_STATS_TWT_AP_SESSION_CNT_SET(flag, val) \
WMI_SET_BITS(flag, 16, 8, val)
#define WMI_PEER_STATS_TWT_AP_SESSION_CNT_GET(flag) \
WMI_GET_BITS(flag, 16, 8)
#define WMI_PEER_STATS_TWT_FRM_RETRY_SET(flag, val) \
WMI_SET_BITS(flag, 24, 8, val)
#define WMI_PEER_STATS_TWT_FRM_RETRY_GET(flag) \
WMI_GET_BITS(flag, 24, 8)
#define WMI_PEER_STATS_TWT_UL_TRIGGER_SET(flag, val) \
WMI_SET_BITS(flag, 0, 8, val)
#define WMI_PEER_STATS_TWT_UL_TRIGGER_GET(flag) \
WMI_GET_BITS(flag, 0, 8)
#define WMI_PEER_STATS_TWT_BC_SESSION_SET(flag, val) \
WMI_SET_BITS(flag, 8, 8, val)
#define WMI_PEER_STATS_TWT_BC_SESSION_GET(flag) \
WMI_GET_BITS(flag, 8, 8)
#define WMI_PEER_STATS_TWT_PENDING_REPORT_SET(flag, val) \
WMI_SET_BITS(flag, 16, 8, val)
#define WMI_PEER_STATS_TWT_PENDING_REPORT_GET(flag) \
WMI_GET_BITS(flag, 16, 8)
#define WMI_PEER_STATS_TWT_FLOW_IDS_SET(flag, val) \
WMI_SET_BITS(flag, 24, 8, val)
#define WMI_PEER_STATS_TWT_FLOW_IDS_GET(flag) \
WMI_GET_BITS(flag, 24, 8)
#define WMI_PEER_STATS_ADDBBA_TX_MODE_SET(flag, val) \
WMI_SET_BITS(flag, 0, 16, val)
#define WMI_PEER_STATS_ADDBBA_TX_MODE_GET(flag) \
WMI_GET_BITS(flag, 0, 16)
#define WMI_PEER_STATS_ADDBBA_RESP_MODE_SET(flag, val) \
WMI_SET_BITS(flag, 16, 16, val)
#define WMI_PEER_STATS_ADDBBA_RESP_MODE_GET(flag) \
WMI_GET_BITS(flag, 16, 16)
#define WMI_PEER_STATS_MAX_AMSDU_SIZE_SET(flag, val) \
WMI_SET_BITS(flag, 0, 16, val)
#define WMI_PEER_STATS_MAX_AMSDU_SIZE_GET(flag) \
WMI_GET_BITS(flag, 0, 16)
/* bits 31:16 unused/reserved */
#define WMI_PEER_STATS_TX_FRAME_CTRL_SET(flag, val) \
WMI_SET_BITS(flag, 0, 16, val)
#define WMI_PEER_STATS_TX_FRAME_CTRL_GET(flag) \
WMI_GET_BITS(flag, 0, 16)
#define WMI_PEER_STATS_TX_QOS_CTRL_SET(flag, val) \
WMI_SET_BITS(flag, 16, 16, val)
#define WMI_PEER_STATS_TX_QOS_CTRL_GET(flag) \
WMI_GET_BITS(flag, 16, 16)
#define WMI_PEER_STATS_CONSEC_FAIL_SET(flag, val) \
WMI_SET_BITS(flag, 0, 16, val)
#define WMI_PEER_STATS_CONSEC_FAIL_GET(flag) \
WMI_GET_BITS(flag, 0, 16)
#define WMI_PEER_STATS_SUBFRAME_SIZE_SET(flag, val) \
WMI_SET_BITS(flag, 16, 16, val)
#define WMI_PEER_STATS_SUBFRAME_SIZE_GET(flag) \
WMI_GET_BITS(flag, 16, 16)
#define WMI_PEER_STATS_TX_FAIL_CNT_SET(flag, val) \
WMI_SET_BITS(flag, 0, 16, val)
#define WMI_PEER_STATS_TX_FAIL_CNT_GET(flag) \
WMI_GET_BITS(flag, 0, 16)
#define WMI_PEER_STATS_TX_PARTIAL_AID_SET(flag, val) \
WMI_SET_BITS(flag, 16, 16, val)
#define WMI_PEER_STATS_TX_PARTIAL_AID_GET(flag) \
WMI_GET_BITS(flag, 16, 16)
#define WMI_PEER_STATS_MAX_NSS_SET(flag, val) \
WMI_SET_BITS(flag, 0, 8, val)
#define WMI_PEER_STATS_MAX_NSS_GET(flag) \
WMI_GET_BITS(flag, 0, 8)
/* bits 31:8 unused/reserved */
#define WMI_PEER_STATS_DEL_RESP_TO_HOST_SET(flag, val) \
WMI_SET_BITS(flag, 0, 1, val)
#define WMI_PEER_STATS_DEL_RESP_TO_HOST_GET(flag) \
WMI_GET_BITS(flag, 0, 1)
#define WMI_PEER_STATS_DELETE_IN_PROGRESS_SET(flag, val) \
WMI_SET_BITS(flag, 1, 1, val)
#define WMI_PEER_STATS_DELETE_IN_PROGRESS_GET(flag) \
WMI_GET_BITS(flag, 1, 1)
#define WMI_PEER_STATS_MIGRATION_IN_PROGRESS_SET(flag, val) \
WMI_SET_BITS(flag, 2, 1, val)
#define WMI_PEER_STATS_MIGRATION_IN_PROGRESS_GET(flag) \
WMI_GET_BITS(flag, 2, 1)
#define WMI_PEER_STATS_CONN_STATE_SET(flag, val) \
WMI_SET_BITS(flag, 3, 4, val)
#define WMI_PEER_STATS_CONN_STATE_GET(flag) \
WMI_GET_BITS(flag, 3, 4)
#define WMI_PEER_STATS_TX_CHAIN_MASK_160_SET(flag, val) \
WMI_SET_BITS(flag, 8, 8, val)
#define WMI_PEER_STATS_TX_CHAIN_MASK_160_GET(flag) \
WMI_GET_BITS(flag, 8, 8)
#define WMI_PEER_STATS_TX_CHAIN_MASK_SET(flag, val) \
WMI_SET_BITS(flag, 16, 8, val)
#define WMI_PEER_STATS_TX_CHAIN_MASK_GET(flag) \
WMI_GET_BITS(flag, 16, 8)
#define WMI_PEER_STATS_ASSOC_CHAIN_MASK_SET(flag, val) \
WMI_SET_BITS(flag, 24, 8, val)
#define WMI_PEER_STATS_ASSOC_CHAIN_MASK_GET(flag) \
WMI_GET_BITS(flag, 24, 8)
#define WMI_PEER_STATS_QOS_NULL_OVER_WMI_SET(flag, val) \
WMI_SET_BITS(flag, 0, 1, val)
#define WMI_PEER_STATS_QOS_NULL_OVER_WMI_GET(flag) \
WMI_GET_BITS(flag, 0, 1)
#define WMI_PEER_STATS_NEW_ASSOC_SET(flag, val) \
WMI_SET_BITS(flag, 1, 1, val)
#define WMI_PEER_STATS_NEW_ASSOC_GET(flag) \
WMI_GET_BITS(flag, 1, 1)
#define WMI_PEER_STATS_TWT_FILT_FLAG_SET(flag, val) \
WMI_SET_BITS(flag, 2, 1, val)
#define WMI_PEER_STATS_TWT_FILT_FLAG_GET(flag) \
WMI_GET_BITS(flag, 2, 1)
#define WMI_PEER_STATS_TWT_REG_FLAG_SET(flag, val) \
WMI_SET_BITS(flag, 3, 1, val)
#define WMI_PEER_STATS_TWT_REG_FLAG_GET(flag) \
WMI_GET_BITS(flag, 3, 1)
#define WMI_PEER_STATS_WMM_UL_TRIG_FLAG_SET(flag, val) \
WMI_SET_BITS(flag, 4, 1, val)
#define WMI_PEER_STATS_WMM_UL_TRIG_FLAG_GET(flag) \
WMI_GET_BITS(flag, 4, 1)
#define WMI_PEER_STATS_ACTIVE_NOT_BA_TID_SET(flag, val) \
WMI_SET_BITS(flag, 5, 4, val)
#define WMI_PEER_STATS_ACTIVE_NOT_BA_TID_GET(flag) \
WMI_GET_BITS(flag, 5, 4)
/* bits 31:10 unused/reserved */
#define WMI_PEER_STATS_NUM_LINKS_SET(flag, val) \
WMI_SET_BITS(flag, 0, 2, val)
#define WMI_PEER_STATS_NUM_LINKS_GET(flag) \
WMI_GET_BITS(flag, 0, 2)
#define WMI_PEER_STATS_ML_PEER_ID_SET(flag, val) \
WMI_SET_BITS(flag, 2, 12, val)
#define WMI_PEER_STATS_ML_PEER_ID_GET(flag) \
WMI_GET_BITS(flag, 2, 12)
#define WMI_PEER_STATS_PRI_LINK_ID_SET(flag, val) \
WMI_SET_BITS(flag, 14, 3, val)
#define WMI_PEER_STATS_PRI_LINK_ID_GET(flag) \
WMI_GET_BITS(flag, 14, 3)
#define WMI_PEER_STATS_PRI_CHIP_ID_SET(flag, val) \
WMI_SET_BITS(flag, 17, 2, val)
#define WMI_PEER_STATS_PRI_CHIP_ID_GET(flag) \
WMI_GET_BITS(flag, 17, 2)
#define WMI_PEER_STATS_LINK_INIT_CNT_SET(flag, val) \
WMI_SET_BITS(flag, 19, 3, val)
#define WMI_PEER_STATS_LINK_INIT_CNT_GET(flag) \
WMI_GET_BITS(flag, 19, 3)
#define WMI_PEER_STATS_NUM_LOCAL_LINKS_SET(flag, val) \
WMI_SET_BITS(flag, 22, 2, val)
#define WMI_PEER_STATS_NUM_LOCAL_LINKS_GET(flag) \
WMI_GET_BITS(flag, 22, 2)
#define WMI_PEER_STATS_CHIPS_BITMAP_SET(flag, val) \
WMI_SET_BITS(flag, 24, 8, val)
#define WMI_PEER_STATS_CHIPS_BITMAP_GET(flag) \
WMI_GET_BITS(flag, 24, 8)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_VALID_SET(flag, val) \
WMI_SET_BITS(flag, 0, 1, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_VALID_GET(flag) \
WMI_GET_BITS(flag, 0, 1)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_ACTIVE_SET(flag, val) \
WMI_SET_BITS(flag, 1, 1, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_ACTIVE_GET(flag) \
WMI_GET_BITS(flag, 1, 1)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_PRI_SET(flag, val) \
WMI_SET_BITS(flag, 2, 1, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_PRI_GET(flag) \
WMI_GET_BITS(flag, 2, 1)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_ASSOC_LINK_SET(flag, val) \
WMI_SET_BITS(flag, 3, 1, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_ASSOC_LINK_GET(flag) \
WMI_GET_BITS(flag, 3, 1)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_CHIP_ID_SET(flag, val) \
WMI_SET_BITS(flag, 4, 3, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_CHIP_ID_GET(flag) \
WMI_GET_BITS(flag, 4, 3)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_IEEE_LINK_SET(flag, val) \
WMI_SET_BITS(flag, 7, 8, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_IEEE_LINK_GET(flag) \
WMI_GET_BITS(flag, 7, 8)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_HW_LINK_SET(flag, val) \
WMI_SET_BITS(flag, 15, 3, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_HW_LINK_GET(flag) \
WMI_GET_BITS(flag, 15, 3)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_LOGICAL_LINK_SET(flag, val) \
WMI_SET_BITS(flag, 18, 2, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_LOGICAL_LINK_GET(flag) \
WMI_GET_BITS(flag, 18, 2)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_MASTER_LINK_SET(flag, val) \
WMI_SET_BITS(flag, 20, 1, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_MASTER_LINK_GET(flag) \
WMI_GET_BITS(flag, 20, 1)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_ANCHOR_LINK_SET(flag, val) \
WMI_SET_BITS(flag, 21, 1, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_ANCHOR_LINK_GET(flag) \
WMI_GET_BITS(flag, 21, 1)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_INIT_SET(flag, val) \
WMI_SET_BITS(flag, 22, 1, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_INIT_GET(flag) \
WMI_GET_BITS(flag, 22, 1)
/* bits 31:23 unused/reserved */
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_PEER_ID_SET(flag, val) \
WMI_SET_BITS(flag, 0, 16, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_PEER_ID_GET(flag) \
WMI_GET_BITS(flag, 0, 16)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_VDEV_ID_SET(flag, val) \
WMI_SET_BITS(flag, 16, 8, val)
#define WMI_PEER_STATS_ML_PEER_LINK_INFO_VDEV_ID_GET(flag) \
WMI_GET_BITS(flag, 16, 8)
/* bits 31:24 unused/reserved */
#define WMI_PEER_STATS_NSS_160_SET(flag, val) \
WMI_SET_BITS(flag, 0, 8, val)
#define WMI_PEER_STATS_NSS_160_GET(flag) \
WMI_GET_BITS(flag, 0, 8)
#define WMI_PEER_STATS_RC_PHYMODE_SET(flag, val) \
WMI_SET_BITS(flag, 8, 8, val)
#define WMI_PEER_STATS_RC_PHYMODE_GET(flag) \
WMI_GET_BITS(flag, 8, 8)
#define WMI_PEER_STATS_LEGACY_RATE_SET(flag, val) \
WMI_SET_BITS(flag, 16, 16, val)
#define WMI_PEER_STATS_LEGACY_RATE_GET(flag) \
WMI_GET_BITS(flag, 16, 16)
#define WMI_PEER_STATS_MIN_DATA_RATE_SET(flag, val) \
WMI_SET_BITS(flag, 0, 8, val)
#define WMI_PEER_STATS_MIN_DATA_RATE_GET(flag) \
WMI_GET_BITS(flag, 0, 8)
#define WMI_PEER_STATS_VHT_MAX_RATE_SET(flag, val) \
WMI_SET_BITS(flag, 8, 4, val)
#define WMI_PEER_STATS_VHT_MAX_RATE_GET(flag) \
WMI_GET_BITS(flag, 8, 4)
#define WMI_PEER_STATS_VHT_MAX_STREAMS_SET(flag, val) \
WMI_SET_BITS(flag, 12, 4, val)
#define WMI_PEER_STATS_VHT_MAX_STREAMS_GET(flag) \
WMI_GET_BITS(flag, 12, 4)
#define WMI_PEER_STATS_RC_CHAN_FREQ_SET(flag, val) \
WMI_SET_BITS(flag, 16, 16, val)
#define WMI_PEER_STATS_RC_CHAN_FREQ_GET(flag) \
WMI_GET_BITS(flag, 16, 16)
typedef struct {
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ctrl_path_cfr_stats_struct */
A_UINT32 tlv_header;
@ -33158,6 +34058,7 @@ typedef enum {
WMI_REQUEST_CTRL_PATH_CFR_STAT = 13,
WMI_REQUEST_CTRL_PATH_T2LM_STAT = 14,
WMI_REQUEST_CTRL_PATH_BLANKING_STAT = 15,
WMI_REQUEST_CTRL_PATH_PEER_STAT = 16,
} wmi_ctrl_path_stats_id;
typedef enum {

View file

@ -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_ 1309
#define __WMI_REVISION_ 1310
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work