diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index e7b0b5fe53..62a5f97b66 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1342,6 +1342,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_peer_preferred_link_map, WMITLV_TAG_STRUC_wmi_scan_blanking_params_info, WMITLV_TAG_STRUC_wmi_peer_list, + WMITLV_TAG_STRUC_wmi_ctrl_path_t2lm_stats_struct, } WMITLV_TAG_ID; /* @@ -6727,7 +6728,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_odd_addr_read_struct, ctrl_path_odd_addr_read, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_afc_stats_struct, ctrl_path_afc_stats, WMITLV_SIZE_VAR) \ 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_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_CREATE_PARAM_STRUC(WMI_CTRL_PATH_STATS_EVENTID); /* diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 72344c72d4..b2b142bfc4 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -31183,6 +31183,7 @@ typedef enum { WMI_REQUEST_CTRL_PATH_AFC_STAT = 11, WMI_REQUEST_CTRL_PATH_PMLO_STAT = 12, WMI_REQUEST_CTRL_PATH_CFR_STAT = 13, + WMI_REQUEST_CTRL_PATH_T2LM_STAT = 14, } wmi_ctrl_path_stats_id; typedef enum { @@ -40606,6 +40607,22 @@ typedef enum { WMI_EXPECTED_DUR_EXPIRED, } WMI_MLO_TID_TO_LINK_MAP_STATUS; +#define WMI_BCAST_T2LM_MAX 16 /* max number of vdevs covered by T2LM stats */ +typedef struct { + /* TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_ctrl_path_t2lm_stats_struct + */ + A_UINT32 tlv_header; + /* + * The below arrays store per-vdev counters, and are indexed by vdev ID. + * The number of valid elements is min(WMI_BCAST_T2LM_MAX, num vdevs). + */ + A_UINT32 bcast_t2lm_wmi_cmd[WMI_BCAST_T2LM_MAX]; + A_UINT32 bcast_t2lm_wmi_evt_map_swt_tme_tsf[WMI_BCAST_T2LM_MAX]; + A_UINT32 bcast_t2lm_wmi_evt_map_swt_tme_exp[WMI_BCAST_T2LM_MAX]; + A_UINT32 bcast_t2lm_wmi_evt_exp_dur_exp[WMI_BCAST_T2LM_MAX]; +} wmi_ctrl_path_t2lm_stats_struct; + typedef struct{ /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_ap_vdev_tid_to_link_map_evt_fixed_param */ A_UINT32 tlv_header; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 1158e62f7d..2b3cccbddc 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -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_ 1270 +#define __WMI_REVISION_ 1271 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work