diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 98b9c19ade02..f433265a5892 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1150,6 +1150,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_mlo_teardown_fixed_param, WMITLV_TAG_STRUC_wmi_mlo_teardown_complete_fixed_param, WMITLV_TAG_STRUC_wmi_igmp_offload_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_extd_stats, } WMITLV_TAG_ID; /* @@ -5168,7 +5169,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_HOST_SWFDA_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_congestion_stats, congestion_stats, WMITLV_SIZE_VAR) \ 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_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_CREATE_PARAM_STRUC(WMI_UPDATE_STATS_EVENTID); /* Update PN response Event */ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 94f6cdee48ae..0f3cbb1e35d0 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -8242,6 +8242,7 @@ typedef enum { WMI_REQUEST_MIB_EXTD_STAT = 0x04000, WMI_REQUEST_PMF_BCN_PROTECT_STAT = 0x08000, WMI_REQUEST_VDEV_EXTD_STAT = 0x10000, + WMI_REQUEST_PDEV_EXTD_STAT = 0x20000, } wmi_stats_id; /* @@ -9040,6 +9041,10 @@ typedef struct { * wmi_vdev_extd_stats wmi_vdev_extd_stats[] * follows the other TLVs */ +/* If WMI_REQUEST_PDEV_EXTD_STAT is set in stats_id, then TLV + * wmi_pdev_extd_stats wmi_pdev_extd_stats[] + * follows the other TLVs + */ } wmi_stats_event_fixed_param; /* WLAN channel CCA stats bitmap */ @@ -10053,6 +10058,30 @@ typedef struct { #define wmi_pdev_stats wmi_pdev_stats_v1 #endif +/** + * pdev extension statistics + */ +typedef struct { + A_UINT32 tlv_header; + /* pdev id */ + A_UINT32 pdev_id; + /** my_rx_count + * What portion of time, as measured by the MAC HW clock was occupied + * by receiving PPDUs addressed to one of the vdevs within this pdev. + */ + A_UINT32 my_rx_count; + /** rx_matched_11ax_msdu_cnt + * number of Rx 11ax MSDUs with matching BSS color counter + * updated at EOP (end of packet) + */ + A_UINT32 rx_matched_11ax_msdu_cnt; + /** rx_other_11ax_msdu_cnt + * number of Rx 11ax MSDUs with other BSS color counter updated at EOP + * (end of packet) + */ + A_UINT32 rx_other_11ax_msdu_cnt; +} wmi_pdev_extd_stats; + /** * VDEV statistics * @todo diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 385e76d06272..3a0ca40d0615 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 980 +#define __WMI_REVISION_ 981 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work