diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 477fd730f5..2b3fb2f804 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1136,6 +1136,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_mlo_link_set_active_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_mlo_link_set_active_resp_event_fixed_param, WMITLV_TAG_STRUC_wmi_roam_sae_offload_tlv_param, + WMITLV_TAG_STRUC_wmi_big_data_dp_stats_tlv_param, } WMITLV_TAG_ID; /* @@ -6138,7 +6139,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SEND_BIG_DATA_EVENTID); /* send BIG DATA event to host P2 */ #define WMITLV_TABLE_WMI_VDEV_SEND_BIG_DATA_P2_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_send_big_data_p2_event_fixed_param, wmi_vdev_send_big_data_p2_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ - WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, bd_datapath_stats, WMITLV_SIZE_VAR) + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, bd_datapath_stats, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_big_data_dp_stats_tlv_param, big_data_dp_stats, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SEND_BIG_DATA_P2_EVENTID); #define WMITLV_TABLE_WMI_NAN_DMESG_EVENTID(id,op,buf,len) \ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index f1dc0b88af..c2f1c503fe 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -30529,16 +30529,46 @@ typedef struct { /* total number of TSF out of sync */ A_UINT32 tsf_out_of_sync; + /** + * ANI (noise interference) level corresponding to the channel. + * The range of values is different for chips of different target + * architectures. Helium values range from 0 to 9, while Lithium + * and Beryllium values range from -5 to 15. + * In all cases, higher values indicate more noise interference. + */ + A_INT32 ani_level; + /* * This fixed_param TLV is followed by the below TLVs: * List of datapath big data stats. This stat is not interpreted by * host. This gets directly updated on big data server and later FW * team will analyze this data. * - * A_UINT32 bd_datapath_stats[]; + * A_UINT32 bd_datapath_stats[]; // DEPRECATED + * wmi_big_data_dp_stats_tlv_param big_data_dp_stats[]; */ } wmi_vdev_send_big_data_p2_event_fixed_param; +typedef struct { + /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_bd_datapath_stats_tlv_param */ + A_UINT32 tlv_header; + + /* Tx power before disconnection. + * The units of the following tx power fields are 0.5 dBm for Helium + * architecture target (e.g. a value of 1 means tx power = 0.5 dBm), + * and are 0.25 dBm for subsequent target architectures. + */ + A_UINT32 last_data_tx_pwr; + A_UINT32 target_power_dsss; + A_UINT32 target_power_ofdm; + + /* Rate index of last data frame before disconnection */ + A_UINT32 last_tx_data_rix; + + /* Tx rate (in kbps) of last data frame before disconnection */ + A_UINT32 last_tx_data_rate_kbps; +} wmi_big_data_dp_stats_tlv_param; + typedef enum { WMI_6GHZ_REG_LPI = 0, WMI_6GHZ_REG_VLP = 1, diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 9d4795551a..74812c302b 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_ 963 +#define __WMI_REVISION_ 964 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work