diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 7411d6aa6c0b..9007c4b601dd 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -696,6 +696,7 @@ typedef enum { WMI_SERVICE_STA_TWT_STATS_EXT = 437, /* FW supports additional info in TWT stats and ADD COMPLETION Event */ WMI_SERVICE_OPT_DP_DIAG_SUPPORT = 438, /* FW supports diag QDATA feature */ WMI_SERVICE_MLO_ROAM_PARTNER_BRINGUP_FROM_HOST = 439, /* Indicates FW supports new design in which FW expects the host to bringup the partner link during roaming */ + WMI_SERVICE_CTRL_PATH_PEER_BA_STATS = 440, /* FW supports retrieving BlockAck stats through WMI_REQUEST_CTRL_PATH_PEER_STAT */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 3d68dfb50873..bd313abfdf9a 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -14841,6 +14841,21 @@ typedef struct { A_UINT32 opaque_debug_field_2; A_UINT32 opaque_debug_field_3; A_UINT32 opaque_debug_field_4; + + /* ba_stats + * This word contains the following bitfields: + * bits 15:0 - ba_tx_neg_fail: Blockack Transmit Negotiation failure + * count for the all TIDs in peer. + * Use WMI_PEER_STATS_BA_TX_NEG_FAIL_SET,GET macros. + * bits 31:16 - reserved + */ + union { + A_UINT32 ba_stats__word; + struct { + A_UINT32 ba_tx_neg_fail: 16, + reserved: 16; + }; + }; } wmi_ctrl_path_peer_stats_struct; #define WMI_PEER_STATS_SM_MASK_SET(flag, val) \ @@ -15165,6 +15180,12 @@ typedef struct { #define WMI_PEER_STATS_RC_CHAN_FREQ_GET(flag) \ WMI_GET_BITS(flag, 16, 16) +#define WMI_PEER_STATS_PEER_BA_TX_NEG_FAIL_SET(flag, val) \ + WMI_SET_BITS(flag, 0, 16, val) +#define WMI_PEER_STATS_PEER_BA_TX_NEG_FAIL_GET(flag) \ + WMI_GET_BITS(flag, 0, 16) +/* bits 31:16 unused/reserved */ + typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ctrl_path_cfr_stats_struct */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 30cef9f15ed7..42ba2473b939 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_ 1591 +#define __WMI_REVISION_ 1592 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work