From ce9f02a90b204405e3f7172d59ba598f6f3dff65 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 22 Sep 2023 12:01:31 -0700 Subject: [PATCH 01/20] fw-api: CL 24704966 - update fw common interface files add WMI_CTRL_PATH_STATS_CAL_TYPE_RXSPUR def Change-Id: Ib9828f0b0adc922bb95cbd88efc01d9893a0c7ce CRs-Fixed: 2262693 --- fw/wmi_unified.h | 2 ++ fw/wmi_version.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 65610e75108e..c66d6ad0a1d5 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -12772,6 +12772,7 @@ typedef enum { WMI_CTRL_PATH_STATS_CAL_TYPE_PEF = 0x16, WMI_CTRL_PATH_STATS_CAL_TYPE_PADROOP = 0x17, WMI_CTRL_PATH_STATS_CAL_TYPE_SELFCALTPC = 0x18, + WMI_CTRL_PATH_STATS_CAL_TYPE_RXSPUR = 0x19, /* add new cal types above this line */ WMI_CTRL_PATH_STATS_CAL_TYPE_INVALID = 0xFF @@ -12870,6 +12871,7 @@ static INLINE A_UINT8 *wmi_ctrl_path_cal_type_id_to_name(A_UINT32 cal_type_id) WMI_RETURN_STRING(WMI_CTRL_PATH_STATS_CAL_TYPE_PEF); WMI_RETURN_STRING(WMI_CTRL_PATH_STATS_CAL_TYPE_PADROOP); WMI_RETURN_STRING(WMI_CTRL_PATH_STATS_CAL_TYPE_SELFCALTPC); + WMI_RETURN_STRING(WMI_CTRL_PATH_STATS_CAL_TYPE_RXSPUR); } return (A_UINT8 *) "WMI_CTRL_PATH_STATS_CAL_TYPE_UNKNOWN"; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 35aa809e0fc8..72b1c4faca23 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_ 1392 +#define __WMI_REVISION_ 1393 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From af90098823dd115fb73686e2d3a73350ba324441 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 27 Sep 2023 06:01:38 -0700 Subject: [PATCH 02/20] fw-api: CL 24760251 - update fw common interface files add WMI_VDEV_PARAM_DISABLE_TWT_INFO_FRAME def Change-Id: I8b992e82e48d6eedf438cea1d72cb7656f1c88c0 CRs-Fixed: 2262693 --- fw/wmi_unified.h | 5 +++++ fw/wmi_version.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index c66d6ad0a1d5..95f62e4c146a 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -18169,6 +18169,11 @@ typedef enum { */ WMI_VDEV_PARAM_DISABLE_2G_TWT, /* 0xBF */ + /* + * Disable FW initiated Information frame for TWT + */ + WMI_VDEV_PARAM_DISABLE_TWT_INFO_FRAME, /* 0xC0 */ + /*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE === * The below vdev param types are used for prototyping, and are diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 72b1c4faca23..fd06edb66ce2 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_ 1393 +#define __WMI_REVISION_ 1394 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 6d080bad6829f57f096c2a75a446fc617ee16589 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sat, 30 Sep 2023 06:01:26 -0700 Subject: [PATCH 03/20] fw-api: CL 24803979 - update fw common interface files add WMI_PDEV_PARAM_UL_OFDMA_RTD, WMI_PEER_PARAM_UL_OFDMA_RTD defs Change-Id: I73a15572de1d69a85d63396a9c6bc4d061b9304f CRs-Fixed: 2262693 --- fw/wmi_unified.h | 7 ++++++- fw/wmi_version.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 95f62e4c146a..084e4d1cbb1d 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -9312,6 +9312,9 @@ typedef enum { /** Parameter used for enabling/disabling RFA toggle for SAP mode */ WMI_PDEV_PARAM_SET_SAP_RFA_TOGGLE, + + /** Parameter to set PDEV level UL OFDMA RTD */ + WMI_PDEV_PARAM_UL_OFDMA_RTD, } WMI_PDEV_PARAM; #define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1) @@ -20252,6 +20255,8 @@ typedef struct { #define WMI_PEER_PARAM_DMS_SUPPORT 0x2A +#define WMI_PEER_PARAM_UL_OFDMA_RTD 0x2B + typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_set_param_cmd_fixed_param */ /** unique id identifying the VDEV, generated by the caller */ @@ -25609,7 +25614,7 @@ typedef struct { WMI_RADAR_FLAGS_FULL_BW_NOL_BITPOS, \ WMI_RADAR_FLAGS_FULL_BW_NOL_NUM_BITS) #define WMI_RADAR_FLAGS_FULL_BW_NOL_SET(flag, val) \ - WMI_GET_BITS(flag, \ + WMI_SET_BITS(flag, \ WMI_RADAR_FLAGS_FULL_BW_NOL_BITPOS, \ WMI_RADAR_FLAGS_FULL_BW_NOL_NUM_BITS, val) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index fd06edb66ce2..03260ee88c8c 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_ 1394 +#define __WMI_REVISION_ 1395 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 162b7edb3ae536ad0bc2ed2a21eab4036443f4cd Mon Sep 17 00:00:00 2001 From: spuligil Date: Sun, 1 Oct 2023 06:01:18 -0700 Subject: [PATCH 04/20] fw-api: CL 24815200 - update fw common interface files WMI: add ROAM_HI_RSSI_EN_ON_5G flag in roam_scan_rssi_threshold TLV struct Change-Id: I19d03af075da9450a90fd0f3912d2372b18e28e0 CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_unified.h | 9 +++++++++ fw/wmi_version.h | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 53be26388e6f..d08474615b88 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -642,6 +642,7 @@ typedef enum { WMI_SERVICE_MULTIPLE_RF_PATH_SOC_SUPPORT = 389, /* Indicates FW supports Multiple RF Path on SOC Level */ WMI_SERVICE_RADAR_FLAGS_SUPPORT = 390, /* Indicates FW supports radar flags, such as full bandwidth need put to NOL */ WMI_SERVICE_XPAN_SUPPORT = 391, /* Indicate FW support XPAN configuration */ + WMI_SERVICE_5GHZ_HI_RSSI_ROAM_SUPPORT = 392, /* Indicate FW supports High RSSI Roam from 5 GHz Band to 6 GHz Band */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 084e4d1cbb1d..273782af0481 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -21229,6 +21229,13 @@ typedef struct { #define WMI_ROAM_SCAN_STOP_CMD 0x1 +/** flags for WMI_ROAM_SCAN_RSSI_THRESHOLD command: + * BIT 0 -> Indicate High RSSI Trigger support is enabled for roaming + * from 5 GHz to 6 GHz Band + * BIT 1-31 -> Reserved + */ +#define WMI_ROAM_SCAN_RSSI_THRESHOLD_FLAG_ROAM_HI_RSSI_EN_ON_5G 0x1 + /** * WMI_ROAM_SCAN_RSSI_THRESHOLD : set scan RSSI threshold * scan RSSI threshold is the RSSI threshold below which the FW will start running Roam scans. @@ -21252,6 +21259,8 @@ typedef struct { * offset from roam_scan_rssi_thres, in dB units */ A_INT32 rssi_thresh_offset_5g; + /** flags for WMI_ROAM_SCAN_RSSI_THRESHOLD Command */ + A_UINT32 flags; /* see WMI_ROAM_SCAN_RSSI_THRESHOLD_FLAG defs */ /* The TLVs will follow. * wmi_roam_scan_extended_threshold_param extended_param; * wmi_roam_earlystop_rssi_thres_param earlystop_param; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 03260ee88c8c..ff4825fe3efd 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_ 1395 +#define __WMI_REVISION_ 1396 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 11c35d5e1bba271bcebbbcfd1eb205dcbda12cbf Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 4 Oct 2023 06:46:57 -0700 Subject: [PATCH 05/20] fw-api: CL 24822236 - update fw common interface files WMI: expand param values for VDEV_PARAM_ENABLE_DISABLE_RTT_RESPONDER_ROLE Change-Id: Ia28e8c48ae879d7da0da2d5bef2ea075ba6b8044 CRs-Fixed: 2262693 --- fw/wmi_unified.h | 14 ++++++++++++-- fw/wmi_version.h | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 273782af0481..bfefa6b738a3 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -17631,8 +17631,13 @@ typedef enum { WMI_VDEV_PARAM_DYNDTIM_CNT, /* 0x7c */ /** VDEV parameter to enable or disable RTT responder role - * valid values: 0-Disable responder role 1-Enable responder role - */ + * A value of 0 in a given bit disables corresponding mode. + * bit | Responder mode support + * ----------------------------------------- + * 0 | responder mode for 11MC ranging + * 1 | responder mode for 11AZ NTB ranging + * 2 | responder mode for 11AZ TB ranging + */ WMI_VDEV_PARAM_ENABLE_DISABLE_RTT_RESPONDER_ROLE, /* 0x7d */ /** Parameter to configure BA mode. @@ -18424,6 +18429,11 @@ typedef enum { #define WMI_VDEV_HE_MU_SOUNDING_IS_ENABLED(mode) WMI_GET_BITS(mode, 2, 1) #define WMI_VDEV_HE_AX_TRIG_SOUNDING_IS_ENABLED(mode) WMI_GET_BITS(mode, 3, 1) +/* Indicates RTT Responder mode support for 11MC, 11AZ NTB, 11AZ TB ranging */ +#define WMI_VDEV_11MC_RESP_ENABLED(param) WMI_GET_BITS(param, 0, 1) +#define WMI_VDEV_11AZ_NTB_RESP_ENABLED(param) WMI_GET_BITS(param, 1, 1) +#define WMI_VDEV_11AZ_TB_RESP_ENABLED(param) WMI_GET_BITS(param, 2, 1) + /* vdev capabilities bit mask */ #define WMI_VDEV_BEACON_SUPPORT 0x1 #define WMI_VDEV_WDS_LRN_ENABLED 0x2 diff --git a/fw/wmi_version.h b/fw/wmi_version.h index ff4825fe3efd..4cb7a576541d 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_ 1396 +#define __WMI_REVISION_ 1397 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 531154bffd468e26be2242cdcde0fcec63947fad Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 6 Oct 2023 06:01:26 -0700 Subject: [PATCH 06/20] fw-api: CL 24865228 - update fw common interface files add WMI_PEER_STA_KICKOUT_REASON_PMF_ERROR def Change-Id: I3d9428fa81ac44505299b19c7e70cf68da875882 CRs-Fixed: 2262693 --- fw/wmi_unified.h | 1 + fw/wmi_version.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index bfefa6b738a3..dd48eeade4c6 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -23093,6 +23093,7 @@ typedef enum wmi_peer_sta_kickout_reason { WMI_PEER_STA_KICKOUT_REASON_TDLS_DISCONNECT = 4, /* TDLS peer has disappeared. All tx is failing */ WMI_PEER_STA_KICKOUT_REASON_SA_QUERY_TIMEOUT = 5, WMI_PEER_STA_KICKOUT_REASON_ROAMING_EVENT = 6, /* Directly connected peer has roamed to a repeater */ + WMI_PEER_STA_KICKOUT_REASON_PMF_ERROR = 7, /* PMF error threshold is hit */ } PEER_KICKOUT_REASON; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 4cb7a576541d..999c7d3f8657 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_ 1397 +#define __WMI_REVISION_ 1398 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From ab2b7c33676bbbcea9c9807b89c5686696c5d355 Mon Sep 17 00:00:00 2001 From: spuligil Date: Mon, 9 Oct 2023 06:01:21 -0700 Subject: [PATCH 07/20] fw-api: CL 24886188 - update fw common interface files WMI: add defs of VDEV_SCHED_MODE_PROBE_[REQ_CMD,RESP_EVENT] msgs Change-Id: I012ba1966c1a8ffdfd8497b3c8ef8ce3ed913e36 CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 12 ++++++ fw/wmi_unified.h | 100 ++++++++++++++++++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 113 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 21ca4d8b1cb1..4c937410db16 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1403,6 +1403,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_csa_event_status_ind_fixed_param, WMITLV_TAG_STRUC_wmi_mlo_link_state_switch_req_evt_fixed_param, WMITLV_TAG_STRUC_wmi_mlo_link_state_switch_trigger_reason_tlv_param, + WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_req_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_resp_fixed_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -1939,6 +1941,7 @@ typedef enum { OP(WMI_NAN_OEM_DATA_CMDID) \ OP(WMI_PDEV_WSI_STATS_INFO_CMDID) \ OP(WMI_CSA_EVENT_STATUS_INDICATION_CMDID) \ + OP(WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -2256,6 +2259,7 @@ typedef enum { OP(WMI_NAN_OEM_DATA_EVENTID) \ OP(WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID) \ OP(WMI_MLO_LINK_STATE_SWITCH_EVENTID) \ + OP(WMI_VDEV_SCHED_MODE_PROBE_RESP_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -5481,6 +5485,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_WSI_STATS_INFO_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_csa_event_status_ind_fixed_param , wmi_csa_event_status_ind_fixed_param,fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_CSA_EVENT_STATUS_INDICATION_CMDID); +#define WMITLV_TABLE_WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_req_fixed_param, wmi_vdev_sched_mode_probe_req_fixed_param, fixed_param, WMITLV_SIZE_FIX) + WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID); + /************************** TLV definitions of WMI events *******************************/ @@ -7484,6 +7492,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_state_switch_trigger_reason, switch_trigger_reason, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_STATE_SWITCH_EVENTID); +#define WMITLV_TABLE_WMI_VDEV_SCHED_MODE_PROBE_RESP_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_resp_fixed_param, wmi_vdev_sched_mode_probe_resp_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SCHED_MODE_PROBE_RESP_EVENTID); + #ifdef __cplusplus } diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index dd48eeade4c6..f114a20d467d 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -630,6 +630,9 @@ typedef enum { /** WMI Command to set status of CSA event from HOST */ WMI_CSA_EVENT_STATUS_INDICATION_CMDID, + /** Request to firmware to probe scheduler modes */ + WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID, + /* peer specific commands */ @@ -1833,6 +1836,8 @@ typedef enum { WMI_VDEV_UPDATE_MAC_ADDR_CONF_EVENTID, /** event to report latency level honored by FW */ WMI_VDEV_LATENCY_LEVEL_EVENTID, + /** Result from firmware about completed scheduler probing */ + WMI_VDEV_SCHED_MODE_PROBE_RESP_EVENTID, /* peer specific events */ /** FW reauet to kick out the station for reasons like inactivity,lack of response ..etc */ @@ -36950,6 +36955,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_NAN_OEM_DATA_CMDID); WMI_RETURN_STRING(WMI_PDEV_WSI_STATS_INFO_CMDID); WMI_RETURN_STRING(WMI_CSA_EVENT_STATUS_INDICATION_CMDID); + WMI_RETURN_STRING(WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; @@ -45927,6 +45933,100 @@ typedef struct { */ } wmi_peer_sched_mode_disable_fixed_param; +typedef enum { + /* + * No timestamp source is used, and the start_timestamp field should be + * ignored. FW will start the probing of the requested mode ASAP after + * receiving this message. + */ + WMI_SCHED_MODE_PROBE_TSTAMP_SRC_NONE = 0, +} WMI_SCHED_MODE_PROBE_TSTAMP_SRC; + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_req_fixed_param */ + + A_UINT32 vdev_id; + + /* + * The scheduler mode to probe. Only a single mode may currently be + * specified in this WMI command (separate commands must be sent to probe + * multiple modes). This limitation may be removed in a future version of + * FW. + * + * This command is not supported in STA mode. + * + * The WMI_SCHED_MODE_FLAGS enum defines the scheduler mode values. + */ + A_UINT32 sched_mode_to_probe; + + /* + * 32-bit cookie that will be sent back in the probing completion / stats + * WMI message. FW does not interpret any bits in this field, and simply + * replays it back to the host. + */ + A_UINT32 cookie; + + /* + * The clock reference to use for the start_timestamp field. The enum + * WMI_SCHED_MODE_PROBE_TSTAMP_SRC defines the valid timestamp sources. + */ + A_UINT32 timestamp_source; + + /* + * The start timestamp indicating when the FW scheduler should start the + * probing period. Note that although the FW tries to honor this start + * time, it may not always be possible to. For instance, if the command + * arrives after the indicated start timestamp, or if channel congestion + * delays the APs ability to transmit over the air. + * + * If the timestamp_source field is set to + * WMI_SCHED_MODE_PROBE_TSTAMP_SRC_NONE, then the value of this field is + * ignored by FW. + */ + A_UINT32 start_timestamp_lo; + A_UINT32 start_timestamp_hi; + + /* + * The on and off duration of the probing mode. + * + * The scheduler will turn the mode on first for the specified + * "on_duration_ms", and then turn it off for the specified + * "off_duration_ms". + * + * During the on and off duration, FW will collect delivered bytes + * statistics to estimate the vdev level throughput achieved for both the + * on and off region. These statistics will be delivered in the + * wmi_vdev_sched_mode_probe_resp WMI message after both the "on" and "off" + * durations have elapsed. + */ + A_UINT32 on_duration_ms; + A_UINT32 off_duration_ms; +} wmi_vdev_sched_mode_probe_req_fixed_param; + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_resp_fixed_param */ + + A_UINT32 vdev_id; + + /* + * The 32-bit cookie copied from the wmi_vdev_sched_mode_probe_req + * message. + */ + A_UINT32 cookie; + + /* + * The observed throughput at the vdev level during the mode-enabled + * portion of the mode probe. + */ + A_UINT32 tput_mbps_on; + + /* + * The observed throughput at the vdev level during the mode-disabled + * portion of the mode probe. + */ + A_UINT32 tput_mbps_off; +} wmi_vdev_sched_mode_probe_resp_fixed_param; + /** Coordinated-AP TDMA **/ #define WMI_TDMA_MAX_ACTIVE_SCHEDULES 10 diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 999c7d3f8657..93dbc78861c9 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_ 1398 +#define __WMI_REVISION_ 1399 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 0ddccfd5174ff58afbbc9678ba79468a172ee7b1 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 12 Oct 2023 12:01:36 -0700 Subject: [PATCH 08/20] fw-api: CL 24914490 - update fw common interface files HTT stats: clean up stats struct names to facilitate automation Apply the following cleanups and extensions in the htt_stats.h and htt.h files, to facilitate automatic generation of the .c code and .json layout specification files used by the ODD host+cloud framework to display HTT stats: Make the HTT TLV struct names be consistent with the TLV tag names (while keeping old names as aliases for the new names).Add specifications in htt_stats_tlv_tag_t enum elements to clarify how to publish the stats TLV object.Remove needless names in embedded structs, e.g. the _bar in struct bar { A_UINT32 a; struct _bar { A_UINT32 b; A_UINT32 c; } bar; };.Change no-element arrays to single-element arrays, e.g. change struct foo { struct bar_tlv bar[]; } to struct foo { struct bar_tlv bar[1]; }. Change-Id: I671fba8a4d3fffcc77b6817a823e7b9000793754 CRs-Fixed: 2262693 --- fw/htt.h | 129 +++--- fw/htt_stats.h | 1100 +++++++++++++++++++++++++++++++++--------------- 2 files changed, 824 insertions(+), 405 deletions(-) diff --git a/fw/htt.h b/fw/htt.h index 0b6c085ad623..045efe9dd2a8 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -626,16 +626,16 @@ typedef enum { HTT_STATS_TX_PDEV_SIFS_TAG = 2, /* htt_tx_pdev_stats_sifs_tlv_v */ HTT_STATS_TX_PDEV_FLUSH_TAG = 3, /* htt_tx_pdev_stats_flush_tlv_v */ HTT_STATS_TX_PDEV_PHY_ERR_TAG = 4, /* htt_tx_pdev_stats_phy_err_tlv_v */ - HTT_STATS_STRING_TAG = 5, /* htt_stats_string_tlv */ - HTT_STATS_TX_HWQ_CMN_TAG = 6, /* htt_tx_hwq_stats_cmn_tlv */ + HTT_STATS_STRING_TAG = 5, /* htt_stats_string_tlv, PUBLISH_FUNC=get_sring_name_data */ + HTT_STATS_TX_HWQ_CMN_TAG = 6, /* htt_tx_hwq_stats_cmn_tlv, PUBLISH_CODE=#inbound_req->tx_hwq_id_mac_id_word = ((htt_tx_hwq_stats_cmn_tlv *)tag_buf)->mac_id__hwq_id__word;#, PUBLISH_FUNC=create_json_response_for_htt_stats_tx_hwq */ HTT_STATS_TX_HWQ_DIFS_LATENCY_TAG = 7, /* htt_tx_hwq_difs_latency_stats_tlv_v */ - HTT_STATS_TX_HWQ_CMD_RESULT_TAG = 8, /* htt_tx_hwq_cmd_result_stats_tlv_v */ - HTT_STATS_TX_HWQ_CMD_STALL_TAG = 9, /* htt_tx_hwq_cmd_stall_stats_tlv_v */ - HTT_STATS_TX_HWQ_FES_STATUS_TAG = 10, /* htt_tx_hwq_fes_result_stats_tlv_v */ + HTT_STATS_TX_HWQ_CMD_RESULT_TAG = 8, /* htt_tx_hwq_cmd_result_stats_tlv_v, PUBLISH_FUNC=create_json_response_for_htt_stats_tx_hwq */ + HTT_STATS_TX_HWQ_CMD_STALL_TAG = 9, /* htt_tx_hwq_cmd_stall_stats_tlv_v, PUBLISH_FUNC=create_json_response_for_htt_stats_tx_hwq */ + HTT_STATS_TX_HWQ_FES_STATUS_TAG = 10, /* htt_tx_hwq_fes_result_stats_tlv_v, PUBLISH_FUNC=create_json_response_for_htt_stats_tx_hwq */ HTT_STATS_TX_TQM_GEN_MPDU_TAG = 11, /* htt_tx_tqm_gen_mpdu_stats_tlv_v */ HTT_STATS_TX_TQM_LIST_MPDU_TAG = 12, /* htt_tx_tqm_list_mpdu_stats_tlv_v */ HTT_STATS_TX_TQM_LIST_MPDU_CNT_TAG = 13, /* htt_tx_tqm_list_mpdu_cnt_tlv_v */ - HTT_STATS_TX_TQM_CMN_TAG = 14, /* htt_tx_tqm_cmn_stats_tlv */ + HTT_STATS_TX_TQM_CMN_TAG = 14, /* htt_tx_tqm_cmn_stats_tlv */ HTT_STATS_TX_TQM_PDEV_TAG = 15, /* htt_tx_tqm_pdev_stats_tlv_v */ HTT_STATS_TX_TQM_CMDQ_STATUS_TAG = 16, /* htt_tx_tqm_cmdq_status_tlv */ HTT_STATS_TX_DE_EAPOL_PACKETS_TAG = 17, /* htt_tx_de_eapol_packets_stats_tlv */ @@ -644,11 +644,11 @@ typedef enum { HTT_STATS_TX_DE_CLASSIFY_STATUS_TAG = 20, /* htt_tx_de_classify_status_stats_tlv */ HTT_STATS_TX_DE_ENQUEUE_PACKETS_TAG = 21, /* htt_tx_de_enqueue_packets_stats_tlv */ HTT_STATS_TX_DE_ENQUEUE_DISCARD_TAG = 22, /* htt_tx_de_enqueue_discard_stats_tlv */ - HTT_STATS_TX_DE_CMN_TAG = 23, /* htt_tx_de_cmn_stats_tlv */ - HTT_STATS_RING_IF_TAG = 24, /* htt_ring_if_stats_tlv */ + HTT_STATS_TX_DE_CMN_TAG = 23, /* htt_tx_de_cmn_stats_tlv */ + HTT_STATS_RING_IF_TAG = 24, /* htt_ring_if_stats_tlv */ HTT_STATS_TX_PDEV_MU_MIMO_STATS_TAG = 25, /* htt_tx_pdev_mu_mimo_sch_stats_tlv */ - HTT_STATS_SFM_CMN_TAG = 26, /* htt_sfm_cmn_tlv */ - HTT_STATS_SRING_STATS_TAG = 27, /* htt_sring_stats_tlv */ + HTT_STATS_SFM_CMN_TAG = 26, /* htt_sfm_cmn_tlv */ + HTT_STATS_SRING_STATS_TAG = 27, /* htt_sring_stats_tlv, PUBLISH_FUNC=create_json_response_for_sring_stats */ HTT_STATS_RX_PDEV_FW_STATS_TAG = 28, /* htt_rx_pdev_fw_stats_tlv */ HTT_STATS_RX_PDEV_FW_RING_MPDU_ERR_TAG = 29, /* htt_rx_pdev_fw_ring_mpdu_err_tlv_v */ HTT_STATS_RX_PDEV_FW_MPDU_DROP_TAG = 30, /* htt_rx_pdev_fw_mpdu_drop_tlv_v */ @@ -657,16 +657,16 @@ typedef enum { HTT_STATS_RX_SOC_FW_REFILL_RING_NUM_REFILL_TAG = 33, /* htt_rx_soc_fw_refill_ring_num_refill_tlv_v */ HTT_STATS_TX_PDEV_RATE_STATS_TAG = 34, /* htt_tx_pdev_rate_stats_tlv */ HTT_STATS_RX_PDEV_RATE_STATS_TAG = 35, /* htt_rx_pdev_rate_stats_tlv */ - HTT_STATS_TX_PDEV_SCHEDULER_TXQ_STATS_TAG = 36, /* htt_tx_pdev_stats_sched_per_txq_tlv */ - HTT_STATS_TX_SCHED_CMN_TAG = 37, /* htt_stats_tx_sched_cmn_tlv */ + HTT_STATS_TX_PDEV_SCHEDULER_TXQ_STATS_TAG = 36, /* htt_tx_pdev_stats_sched_per_txq_tlv, PUBLISH_CODE=#inbound_req->tx_sched_txq_id_mac_id_word = ((htt_tx_pdev_stats_sched_per_txq_tlv *)tag_buf)->mac_id__txq_id__word;#, PUBLISH_FUNC=create_json_response_for_htt_stats_sched_txq */ + HTT_STATS_TX_SCHED_CMN_TAG = 37, /* htt_stats_tx_sched_cmn_tlv, PUBLISH_SKIP */ HTT_STATS_TX_PDEV_MUMIMO_MPDU_STATS_TAG = 38, /* htt_tx_pdev_mu_mimo_mpdu_stats_tlv */ - HTT_STATS_SCHED_TXQ_CMD_POSTED_TAG = 39, /* htt_sched_txq_cmd_posted_tlv_v */ + HTT_STATS_SCHED_TXQ_CMD_POSTED_TAG = 39, /* htt_sched_txq_cmd_posted_tlv_v, PUBLISH_FUNC=create_json_response_for_htt_stats_sched_txq */ HTT_STATS_RING_IF_CMN_TAG = 40, /* htt_ring_if_cmn_tlv */ - HTT_STATS_SFM_CLIENT_USER_TAG = 41, /* htt_sfm_client_user_tlv_v */ - HTT_STATS_SFM_CLIENT_TAG = 42, /* htt_sfm_client_tlv */ + HTT_STATS_SFM_CLIENT_USER_TAG = 41, /* htt_sfm_client_user_tlv_v, PUBLISH_FUNC=create_json_response_for_sfm_client */ + HTT_STATS_SFM_CLIENT_TAG = 42, /* htt_sfm_client_tlv, PUBLISH_FUNC=create_json_response_for_sfm_client */ HTT_STATS_TX_TQM_ERROR_STATS_TAG = 43, /* htt_tx_tqm_error_stats_tlv */ - HTT_STATS_SCHED_TXQ_CMD_REAPED_TAG = 44, /* htt_sched_txq_cmd_reaped_tlv_v */ - HTT_STATS_SRING_CMN_TAG = 45, /* htt_sring_cmn_tlv */ + HTT_STATS_SCHED_TXQ_CMD_REAPED_TAG = 44, /* htt_sched_txq_cmd_reaped_tlv_v, PUBLISH_FUNC=create_json_response_for_htt_stats_sched_txq */ + HTT_STATS_SRING_CMN_TAG = 45, /* htt_sring_cmn_tlv */ HTT_STATS_TX_SELFGEN_AC_ERR_STATS_TAG = 46, /* htt_tx_selfgen_ac_err_stats_tlv */ HTT_STATS_TX_SELFGEN_CMN_STATS_TAG = 47, /* htt_tx_selfgen_cmn_stats_tlv */ HTT_STATS_TX_SELFGEN_AC_STATS_TAG = 48, /* htt_tx_selfgen_ac_stats_tlv */ @@ -675,7 +675,7 @@ typedef enum { HTT_STATS_TX_HWQ_MUMIMO_SCH_STATS_TAG = 51, /* htt_tx_hwq_mu_mimo_sch_stats_tlv */ HTT_STATS_TX_HWQ_MUMIMO_MPDU_STATS_TAG = 52, /* htt_tx_hwq_mu_mimo_mpdu_stats_tlv */ HTT_STATS_TX_HWQ_MUMIMO_CMN_STATS_TAG = 53, /* htt_tx_hwq_mu_mimo_cmn_stats_tlv */ - HTT_STATS_HW_INTR_MISC_TAG = 54, /* htt_hw_stats_intr_misc_tlv */ + HTT_STATS_HW_INTR_MISC_TAG = 54, /* htt_hw_stats_intr_misc_tlv, PUBLISH_FUNC=create_json_response_for_hwstats_intr_misc */ HTT_STATS_HW_WD_TIMEOUT_TAG = 55, /* htt_hw_stats_wd_timeout_tlv */ HTT_STATS_HW_PDEV_ERRS_TAG = 56, /* htt_hw_stats_pdev_errs_tlv */ HTT_STATS_COUNTER_NAME_TAG = 57, /* htt_counter_tlv */ @@ -684,18 +684,18 @@ typedef enum { HTT_STATS_PEER_STATS_CMN_TAG = 60, /* htt_peer_stats_cmn_tlv */ HTT_STATS_PEER_DETAILS_TAG = 61, /* htt_peer_details_tlv */ HTT_STATS_PEER_TX_RATE_STATS_TAG = 62, /* htt_tx_peer_rate_stats_tlv */ - HTT_STATS_PEER_RX_RATE_STATS_TAG = 63, /* htt_rx_peer_rate_stats_tlv */ + HTT_STATS_PEER_RX_RATE_STATS_TAG = 63, /* htt_rx_peer_rate_stats_tlv, TOPIC=advanced */ HTT_STATS_PEER_MSDU_FLOWQ_TAG = 64, /* htt_msdu_flow_stats_tlv */ HTT_STATS_TX_DE_COMPL_STATS_TAG = 65, /* htt_tx_de_compl_stats_tlv */ - HTT_STATS_WHAL_TX_TAG = 66, /* htt_hw_stats_whal_tx_tlv */ + HTT_STATS_WHAL_TX_TAG = 66, /* htt_hw_stats_whal_tx_tlv */ HTT_STATS_TX_PDEV_SIFS_HIST_TAG = 67, /* htt_tx_pdev_stats_sifs_hist_tlv_v */ HTT_STATS_RX_PDEV_FW_STATS_PHY_ERR_TAG = 68, /* htt_rx_pdev_fw_stats_phy_err_tlv */ HTT_STATS_TX_TID_DETAILS_V1_TAG = 69, /* htt_tx_tid_stats_v1_tlv */ - HTT_STATS_PDEV_CCA_1SEC_HIST_TAG = 70, /* htt_pdev_cca_stats_hist_tlv (for 1 sec interval stats) */ - HTT_STATS_PDEV_CCA_100MSEC_HIST_TAG = 71, /* htt_pdev_cca_stats_hist_tlv (for 100 msec interval stats) */ - HTT_STATS_PDEV_CCA_STAT_CUMULATIVE_TAG = 72, /* htt_pdev_stats_cca_stats_tlv */ - HTT_STATS_PDEV_CCA_COUNTERS_TAG = 73, /* htt_pdev_stats_cca_counters_tlv */ - HTT_STATS_TX_PDEV_MPDU_STATS_TAG = 74, /* htt_tx_pdev_mpdu_stats_tlv */ + HTT_STATS_PDEV_CCA_1SEC_HIST_TAG = 70, /* htt_pdev_cca_stats_hist_tlv (for 1 sec interval stats), PUBLISH_FUNC=update_htt_pdev_cca_stat_context */ + HTT_STATS_PDEV_CCA_100MSEC_HIST_TAG = 71, /* htt_pdev_cca_stats_hist_tlv (for 100 msec interval stats), PUBLISH_FUNC=update_htt_pdev_cca_stat_context */ + HTT_STATS_PDEV_CCA_STAT_CUMULATIVE_TAG = 72, /* htt_pdev_stats_cca_stats_tlv, PUBLISH_FUNC=update_htt_pdev_cca_stat_context */ + HTT_STATS_PDEV_CCA_COUNTERS_TAG = 73, /* htt_pdev_stats_cca_counters_tlv, PUBLISH_FUNC=create_json_response_for_htt_pdev_cca_stat */ + HTT_STATS_TX_PDEV_MPDU_STATS_TAG = 74, /* htt_tx_pdev_mpdu_stats_tlv, PUBLISH_FUNC=create_json_response_for_htt_tx_pdev_mpdu_stat */ HTT_STATS_PDEV_TWT_SESSIONS_TAG = 75, /* htt_pdev_stats_twt_sessions_tlv */ HTT_STATS_PDEV_TWT_SESSION_TAG = 76, /* htt_pdev_stats_twt_session_tlv */ HTT_STATS_RX_REFILL_RXDMA_ERR_TAG = 77, /* htt_rx_soc_fw_refill_ring_num_rxdma_err_tlv_v */ @@ -707,24 +707,24 @@ typedef enum { HTT_STATS_TX_HWQ_TRIED_MPDU_CNT_HIST_TAG = 83, /* htt_tx_hwq_tried_mpdu_cnt_hist_tlv_v */ HTT_STATS_TX_HWQ_TXOP_USED_CNT_HIST_TAG = 84, /* htt_tx_hwq_txop_used_cnt_hist_tlv_v */ HTT_STATS_TX_DE_FW2WBM_RING_FULL_HIST_TAG = 85, /* htt_tx_de_fw2wbm_ring_full_hist_tlv */ - HTT_STATS_SCHED_TXQ_SCHED_ORDER_SU_TAG = 86, /* htt_sched_txq_sched_order_su_tlv */ - HTT_STATS_SCHED_TXQ_SCHED_INELIGIBILITY_TAG = 87, /* htt_sched_txq_sched_eligibility_tlv */ + HTT_STATS_SCHED_TXQ_SCHED_ORDER_SU_TAG = 86, /* htt_sched_txq_sched_order_su_tlv, PUBLISH_FUNC=create_json_response_for_htt_stats_sched_txq */ + HTT_STATS_SCHED_TXQ_SCHED_INELIGIBILITY_TAG = 87, /* htt_sched_txq_sched_eligibility_tlv, PUBLISH_FUNC=create_json_response_for_htt_stats_sched_txq */ HTT_STATS_PDEV_OBSS_PD_TAG = 88, /* htt_pdev_obss_pd_stats_tlv */ HTT_STATS_HW_WAR_TAG = 89, /* htt_hw_war_stats_tlv */ - HTT_STATS_RING_BACKPRESSURE_STATS_TAG = 90, /* htt_ring_backpressure_stats_tlv */ - HTT_STATS_LATENCY_PROF_STATS_TAG = 91, /* htt_latency_prof_stats_tlv */ + HTT_STATS_RING_BACKPRESSURE_STATS_TAG = 90, /* htt_ring_backpressure_stats_tlv, PUBLISH_FUNC=create_json_response_for_ring_bkp_pressure_stats */ + HTT_STATS_LATENCY_PROF_STATS_TAG = 91, /* htt_latency_prof_stats_tlv, PUBLISH_FUNC=create_json_response_for_latency_prof_stats */ HTT_STATS_LATENCY_CTX_TAG = 92, /* htt_latency_prof_ctx_tlv */ HTT_STATS_LATENCY_CNT_TAG = 93, /* htt_latency_prof_cnt_tlv */ HTT_STATS_RX_PDEV_UL_TRIG_STATS_TAG = 94, /* htt_rx_pdev_ul_trigger_stats_tlv */ - HTT_STATS_RX_PDEV_UL_OFDMA_USER_STATS_TAG = 95, /* htt_rx_pdev_ul_ofdma_user_stats_tlv */ + HTT_STATS_RX_PDEV_UL_OFDMA_USER_STATS_TAG = 95, /* htt_rx_pdev_ul_ofdma_user_stats_tlv, PUBLISH_FUNC=create_json_response_for_htt_rx_pdev_ul_ofdma_user_stat */ HTT_STATS_RX_PDEV_UL_MIMO_USER_STATS_TAG = 96, /* htt_rx_pdev_ul_mimo_user_stats_tlv */ HTT_STATS_RX_PDEV_UL_MUMIMO_TRIG_STATS_TAG = 97, /* htt_rx_pdev_ul_mumimo_trig_stats_tlv */ HTT_STATS_RX_FSE_STATS_TAG = 98, /* htt_rx_fse_stats_tlv */ - HTT_STATS_PEER_SCHED_STATS_TAG = 99, /* htt_peer_sched_stats_tlv */ - HTT_STATS_SCHED_TXQ_SUPERCYCLE_TRIGGER_TAG = 100, /* htt_sched_txq_supercycle_triggers_tlv_v */ + HTT_STATS_PEER_SCHED_STATS_TAG = 99, /* htt_peer_sched_stats_tlv, TOPIC=peer */ + HTT_STATS_SCHED_TXQ_SUPERCYCLE_TRIGGER_TAG = 100, /* htt_sched_txq_supercycle_triggers_tlv_v, PUBLISH_FUNC=create_json_response_for_htt_stats_sched_txq */ HTT_STATS_PEER_CTRL_PATH_TXRX_STATS_TAG = 101, /* htt_peer_ctrl_path_txrx_stats_tlv */ HTT_STATS_PDEV_CTRL_PATH_TX_STATS_TAG = 102, /* htt_pdev_ctrl_path_tx_stats_tlv */ - HTT_STATS_RX_PDEV_RATE_EXT_STATS_TAG = 103, /* htt_rx_pdev_rate_ext_stats_tlv */ + HTT_STATS_RX_PDEV_RATE_EXT_STATS_TAG = 103, /* htt_rx_pdev_rate_ext_stats_tlv, PUBLISH_FUNC=create_json_response_for_rx_pdev_rate_ext */ HTT_STATS_TX_PDEV_DL_MU_MIMO_STATS_TAG = 104, /* htt_tx_pdev_dl_mu_mimo_sch_stats_tlv */ HTT_STATS_TX_PDEV_UL_MU_MIMO_STATS_TAG = 105, /* htt_tx_pdev_ul_mu_mimo_sch_stats_tlv */ HTT_STATS_TX_PDEV_DL_MU_OFDMA_STATS_TAG = 106, /* htt_tx_pdev_dl_mu_ofdma_sch_stats_tlv */ @@ -749,54 +749,54 @@ typedef enum { HTT_STATS_SOC_TXRX_STATS_COMMON_TAG = 125, /* htt_t2h_soc_txrx_stats_common_tlv */ HTT_STATS_VDEV_TXRX_STATS_HW_STATS_TAG = 126, /* htt_t2h_vdev_txrx_stats_hw_stats_tlv */ HTT_STATS_VDEV_RTT_INIT_STATS_TAG = 127, /* htt_vdev_rtt_init_stats_tlv */ - HTT_STATS_PER_RATE_STATS_TAG = 128, /* htt_tx_rate_stats_per_tlv */ - HTT_STATS_MU_PPDU_DIST_TAG = 129, /* htt_pdev_mu_ppdu_dist_tlv */ + HTT_STATS_PER_RATE_STATS_TAG = 128, /* htt_tx_rate_stats_per_tlv, PUBLISH_FUNC=create_json_response_for_htt_tx_rate_stats_per */ + HTT_STATS_MU_PPDU_DIST_TAG = 129, /* htt_pdev_mu_ppdu_dist_tlv, PUBLISH_FUNC=create_json_response_for_htt_stats_mu_ppdu */ HTT_STATS_TX_PDEV_MUMIMO_GRP_STATS_TAG = 130, /* htt_tx_pdev_mumimo_grp_stats_tlv */ - HTT_STATS_TX_PDEV_BE_RATE_STATS_TAG = 131, /* htt_tx_pdev_rate_stats_be_tlv */ + HTT_STATS_TX_PDEV_BE_RATE_STATS_TAG = 131, /* htt_tx_pdev_rate_stats_be_tlv, TOPIC=advanced */ HTT_STATS_AST_ENTRY_TAG = 132, /* htt_ast_entry_tlv */ - HTT_STATS_TX_PDEV_BE_DL_MU_OFDMA_STATS_TAG = 133, /* htt_tx_pdev_dl_be_mu_ofdma_sch_stats_tlv */ - HTT_STATS_TX_PDEV_BE_UL_MU_OFDMA_STATS_TAG = 134, /* htt_tx_pdev_ul_be_mu_ofdma_sch_stats_tlv */ + HTT_STATS_TX_PDEV_BE_DL_MU_OFDMA_STATS_TAG = 133, /* htt_tx_pdev_dl_be_mu_ofdma_sch_stats_tlv, TOPIC=advanced */ + HTT_STATS_TX_PDEV_BE_UL_MU_OFDMA_STATS_TAG = 134, /* htt_tx_pdev_ul_be_mu_ofdma_sch_stats_tlv, TOPIC=advanced */ HTT_STATS_TX_PDEV_RATE_STATS_BE_OFDMA_TAG = 135, /* htt_tx_pdev_rate_stats_be_ofdma_tlv */ - HTT_STATS_RX_PDEV_UL_MUMIMO_TRIG_BE_STATS_TAG = 136, /* htt_rx_pdev_ul_mumimo_trig_be_stats_tlv */ - HTT_STATS_TX_SELFGEN_BE_ERR_STATS_TAG = 137, /* htt_tx_selfgen_be_err_stats_tlv */ - HTT_STATS_TX_SELFGEN_BE_STATS_TAG = 138, /* htt_tx_selfgen_be_stats_tlv */ - HTT_STATS_TX_SELFGEN_BE_SCHED_STATUS_STATS_TAG = 139, /* htt_tx_selfgen_be_sched_status_stats_tlv */ + HTT_STATS_RX_PDEV_UL_MUMIMO_TRIG_BE_STATS_TAG = 136, /* htt_rx_pdev_ul_mumimo_trig_be_stats_tlv, TOPIC=advanced */ + HTT_STATS_TX_SELFGEN_BE_ERR_STATS_TAG = 137, /* htt_tx_selfgen_be_err_stats_tlv, TOPIC=advanced */ + HTT_STATS_TX_SELFGEN_BE_STATS_TAG = 138, /* htt_tx_selfgen_be_stats_tlv, TOPIC=advanced */ + HTT_STATS_TX_SELFGEN_BE_SCHED_STATUS_STATS_TAG = 139, /* htt_tx_selfgen_be_sched_status_stats_tlv, TOPIC=advanced */ HTT_STATS_TX_PDEV_BE_UL_MU_MIMO_STATS_TAG = 140, /* htt_tx_pdev_be_ul_mu_mimo_sch_stats_tlv */ HTT_STATS_RX_PDEV_BE_UL_MIMO_USER_STATS_TAG = 141, /* htt_rx_pdev_be_ul_mimo_user_stats_tlv */ HTT_STATS_RX_RING_STATS_TAG = 142, /* htt_rx_fw_ring_stats_tlv_v */ - HTT_STATS_RX_PDEV_BE_UL_TRIG_STATS_TAG = 143, /* htt_rx_pdev_be_ul_trigger_stats_tlv */ - HTT_STATS_TX_PDEV_SAWF_RATE_STATS_TAG = 144, /* htt_tx_pdev_rate_stats_sawf_tlv */ + HTT_STATS_RX_PDEV_BE_UL_TRIG_STATS_TAG = 143, /* htt_rx_pdev_be_ul_trigger_stats_tlv, TOPIC=advanced */ + HTT_STATS_TX_PDEV_SAWF_RATE_STATS_TAG = 144, /* htt_tx_pdev_rate_stats_sawf_tlv, TOPIC=advanced */ HTT_STATS_STRM_GEN_MPDUS_TAG = 145, /* htt_stats_strm_gen_mpdus_tlv_t */ HTT_STATS_STRM_GEN_MPDUS_DETAILS_TAG = 146, /* htt_stats_strm_gen_mpdus_details_tlv_t */ - HTT_STATS_TXBF_OFDMA_AX_NDPA_STATS_TAG = 147, /* htt_txbf_ofdma_ax_ndpa_stats_tlv */ - HTT_STATS_TXBF_OFDMA_AX_NDP_STATS_TAG = 148, /* htt_txbf_ofdma_ax_ndp_stats_tlv */ - HTT_STATS_TXBF_OFDMA_AX_BRP_STATS_TAG = 149, /* htt_txbf_ofdma_ax_brp_stats_tlv */ - HTT_STATS_TXBF_OFDMA_AX_STEER_STATS_TAG = 150, /* htt_txbf_ofdma_ax_steer_stats_tlv */ - HTT_STATS_TXBF_OFDMA_BE_NDPA_STATS_TAG = 151, /* htt_txbf_ofdma_be_ndpa_stats_tlv */ - HTT_STATS_TXBF_OFDMA_BE_NDP_STATS_TAG = 152, /* htt_txbf_ofdma_be_ndp_stats_tlv */ - HTT_STATS_TXBF_OFDMA_BE_BRP_STATS_TAG = 153, /* htt_txbf_ofdma_be_brp_stats_tlv */ - HTT_STATS_TXBF_OFDMA_BE_STEER_STATS_TAG = 154, /* htt_txbf_ofdma_be_steer_stats_tlv */ + HTT_STATS_TXBF_OFDMA_AX_NDPA_STATS_TAG = 147, /* htt_txbf_ofdma_ax_ndpa_stats_tlv, PUBLISH_FUNC_FILE=create_json_response_for_txbf_ofdma_wrapper */ + HTT_STATS_TXBF_OFDMA_AX_NDP_STATS_TAG = 148, /* htt_txbf_ofdma_ax_ndp_stats_tlv, PUBLISH_FUNC_FILE=create_json_response_for_txbf_ofdma_wrapper */ + HTT_STATS_TXBF_OFDMA_AX_BRP_STATS_TAG = 149, /* htt_txbf_ofdma_ax_brp_stats_tlv, PUBLISH_FUNC_FILE=create_json_response_for_txbf_ofdma_wrapper */ + HTT_STATS_TXBF_OFDMA_AX_STEER_STATS_TAG = 150, /* htt_txbf_ofdma_ax_steer_stats_tlv, PUBLISH_FUNC_FILE=create_json_response_for_txbf_ofdma_wrapper */ + HTT_STATS_TXBF_OFDMA_BE_NDPA_STATS_TAG = 151, /* htt_txbf_ofdma_be_ndpa_stats_tlv, PUBLISH_FUNC_FILE=create_json_response_for_txbf_ofdma_wrapper */ + HTT_STATS_TXBF_OFDMA_BE_NDP_STATS_TAG = 152, /* htt_txbf_ofdma_be_ndp_stats_tlv, PUBLISH_FUNC_FILE=create_json_response_for_txbf_ofdma_wrapper */ + HTT_STATS_TXBF_OFDMA_BE_BRP_STATS_TAG = 153, /* htt_txbf_ofdma_be_brp_stats_tlv, PUBLISH_FUNC_FILE=create_json_response_for_txbf_ofdma_wrapper */ + HTT_STATS_TXBF_OFDMA_BE_STEER_STATS_TAG = 154, /* htt_txbf_ofdma_be_steer_stats_tlv, PUBLISH_FUNC_FILE=create_json_response_for_txbf_ofdma_wrapper */ HTT_STATS_DMAC_RESET_STATS_TAG = 155, /* htt_dmac_reset_stats_tlv */ - HTT_STATS_RX_PDEV_BE_UL_OFDMA_USER_STATS_TAG = 156, /* htt_rx_pdev_be_ul_ofdma_user_stats_tlv */ + HTT_STATS_RX_PDEV_BE_UL_OFDMA_USER_STATS_TAG = 156, /* htt_rx_pdev_be_ul_ofdma_user_stats_tlv, TOPIC=advanced */ HTT_STATS_PHY_TPC_STATS_TAG = 157, /* htt_phy_tpc_stats_tlv */ HTT_STATS_PDEV_PUNCTURE_STATS_TAG = 158, /* htt_pdev_puncture_stats_tlv */ HTT_STATS_ML_PEER_DETAILS_TAG = 159, /* htt_ml_peer_details_tlv */ HTT_STATS_ML_PEER_EXT_DETAILS_TAG = 160, /* htt_ml_peer_ext_details_tlv */ HTT_STATS_ML_LINK_INFO_DETAILS_TAG = 161, /* htt_ml_link_info_tlv */ - HTT_STATS_TX_PDEV_PPDU_DUR_TAG = 162, /* htt_tx_pdev_ppdu_dur_stats_tlv */ - HTT_STATS_RX_PDEV_PPDU_DUR_TAG = 163, /* htt_rx_pdev_ppdu_dur_stats_tlv */ + HTT_STATS_TX_PDEV_PPDU_DUR_TAG = 162, /* htt_tx_pdev_ppdu_dur_stats_tlv, TOPIC=advanced */ + HTT_STATS_RX_PDEV_PPDU_DUR_TAG = 163, /* htt_rx_pdev_ppdu_dur_stats_tlv, TOPIC=advanced */ HTT_STATS_ODD_PDEV_MANDATORY_TAG = 164, /* htt_odd_mandatory_pdev_stats_tlv */ - HTT_STATS_PDEV_SCHED_ALGO_OFDMA_STATS_TAG = 165, /* htt_pdev_sched_algo_ofdma_stats_tlv */ + HTT_STATS_PDEV_SCHED_ALGO_OFDMA_STATS_TAG = 165, /* htt_pdev_sched_algo_ofdma_stats_tlv, PUBLISH_FUNC=create_json_response_for_htt_pdev_sched_algo_ofdma_stats */ HTT_DBG_ODD_MANDATORY_MUMIMO_TAG = 166, /* htt_odd_mandatory_mumimo_pdev_stats_tlv */ HTT_DBG_ODD_MANDATORY_MUOFDMA_TAG = 167, /* htt_odd_mandatory_muofdma_pdev_stats_tlv */ HTT_STATS_LATENCY_PROF_CAL_STATS_TAG = 168, /* htt_latency_prof_cal_stats_tlv */ HTT_STATS_TX_PDEV_MUEDCA_PARAMS_STATS_TAG = 169, /* htt_tx_pdev_muedca_params_stats_tlv_v - DEPRECATED */ HTT_STATS_PDEV_BW_MGR_STATS_TAG = 170, /* htt_pdev_bw_mgr_stats_tlv */ - HTT_STATS_TX_PDEV_AP_EDCA_PARAMS_STATS_TAG = 171, /* htt_tx_pdev_ap_edca_params_stats_tlv_v */ - HTT_STATS_TXBF_OFDMA_AX_STEER_MPDU_STATS_TAG = 172, /* htt_txbf_ofdma_ax_steer_mpdu_stats_tlv */ - HTT_STATS_TXBF_OFDMA_BE_STEER_MPDU_STATS_TAG = 173, /* htt_txbf_ofdma_be_steer_mpdu_stats_tlv */ + HTT_STATS_TX_PDEV_AP_EDCA_PARAMS_STATS_TAG = 171, /* htt_tx_pdev_ap_edca_params_stats_tlv_v, TOPIC=advanced */ + HTT_STATS_TXBF_OFDMA_AX_STEER_MPDU_STATS_TAG = 172, /* htt_txbf_ofdma_ax_steer_mpdu_stats_tlv, TOPIC=advanced */ + HTT_STATS_TXBF_OFDMA_BE_STEER_MPDU_STATS_TAG = 173, /* htt_txbf_ofdma_be_steer_mpdu_stats_tlv, TOPIC=advanced */ HTT_STATS_PEER_AX_OFDMA_STATS_TAG = 174, /* htt_peer_ax_ofdma_stats_tlv */ - HTT_STATS_TX_PDEV_MU_EDCA_PARAMS_STATS_TAG = 175, /* htt_tx_pdev_mu_edca_params_stats_tlv_v */ + HTT_STATS_TX_PDEV_MU_EDCA_PARAMS_STATS_TAG = 175, /* htt_tx_pdev_mu_edca_params_stats_tlv_v, TOPIC=advanced */ HTT_STATS_PDEV_MBSSID_CTRL_FRAME_STATS_TAG = 176, /* htt_pdev_mbssid_ctrl_frame_stats_tlv */ HTT_STATS_TX_PDEV_MLO_ABORT_TAG = 177, /* htt_tx_pdev_stats_mlo_abort_tlv_v */ HTT_STATS_TX_PDEV_MLO_TXOP_ABORT_TAG = 178, /* htt_tx_pdev_stats_mlo_txop_abort_tlv_v */ @@ -20601,7 +20601,9 @@ typedef struct { * */ A_UINT32 inv_peers_msdu_drop_count_lo; A_UINT32 inv_peers_msdu_drop_count_hi; -} htt_t2h_soc_txrx_stats_common_tlv; +} htt_stats_soc_txrx_stats_common_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_soc_txrx_stats_common_tlv htt_t2h_soc_txrx_stats_common_tlv; /* VDEV HW Tx/Rx stats */ typedef struct { @@ -20655,7 +20657,10 @@ typedef struct { /* TQM bypass byte cnt */ A_UINT32 tqm_bypass_byte_cnt_lo; A_UINT32 tqm_bypass_byte_cnt_hi; -} htt_t2h_vdev_txrx_stats_hw_stats_tlv; +} htt_stats_vdev_txrx_stats_hw_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_vdev_txrx_stats_hw_stats_tlv + htt_t2h_vdev_txrx_stats_hw_stats_tlv; /* * MSG_TYPE => HTT_T2H_SAWF_DEF_QUEUES_MAP_REPORT_CONF diff --git a/fw/htt_stats.h b/fw/htt_stats.h index c779f6fd16e8..bc870a81f8c5 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -992,49 +992,64 @@ typedef struct { /** pdev uptime in microseconds **/ A_UINT32 pdev_up_time_us_low; A_UINT32 pdev_up_time_us_high; -} htt_tx_pdev_stats_cmn_tlv; +} htt_stats_tx_pdev_cmn_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_cmn_tlv htt_tx_pdev_stats_cmn_tlv; #define HTT_TX_PDEV_STATS_URRN_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) /* NOTE: Variable length TLV, use length spec to infer array size */ typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 urrn_stats[1]; /* HTT_TX_PDEV_MAX_URRN_STATS */ -} htt_tx_pdev_stats_urrn_tlv_v; +} htt_stats_tx_pdev_underrun_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_underrun_tlv htt_tx_pdev_stats_urrn_tlv_v; #define HTT_TX_PDEV_STATS_FLUSH_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) /* NOTE: Variable length TLV, use length spec to infer array size */ typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 flush_errs[1]; /* HTT_TX_PDEV_MAX_FLUSH_REASON_STATS */ -} htt_tx_pdev_stats_flush_tlv_v; +} htt_stats_tx_pdev_flush_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_flush_tlv htt_tx_pdev_stats_flush_tlv_v; #define HTT_TX_PDEV_STATS_MLO_ABORT_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) /* NOTE: Variable length TLV, use length spec to infer array size */ typedef struct { htt_tlv_hdr_t tlv_hdr; - A_UINT32 mlo_abort_cnt[]; /* HTT_TX_PDEV_MAX_MLO_ABORT_REASON_STATS */ -} htt_tx_pdev_stats_mlo_abort_tlv_v; + A_UINT32 mlo_abort_cnt[1]; /* HTT_TX_PDEV_MAX_MLO_ABORT_REASON_STATS */ +} htt_stats_tx_pdev_mlo_abort_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_mlo_abort_tlv htt_tx_pdev_stats_mlo_abort_tlv_v; #define HTT_TX_PDEV_STATS_MLO_TXOP_ABORT_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) /* NOTE: Variable length TLV, use length spec to infer array size */ typedef struct { htt_tlv_hdr_t tlv_hdr; - A_UINT32 mlo_txop_abort_cnt[]; /* HTT_TX_PDEV_MAX_MLO_ABORT_REASON_STATS */ -} htt_tx_pdev_stats_mlo_txop_abort_tlv_v; + A_UINT32 mlo_txop_abort_cnt[1]; /* HTT_TX_PDEV_MAX_MLO_ABORT_REASON_STATS */ +} htt_stats_tx_pdev_mlo_txop_abort_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_mlo_txop_abort_tlv + htt_tx_pdev_stats_mlo_txop_abort_tlv_v; #define HTT_TX_PDEV_STATS_SIFS_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) /* NOTE: Variable length TLV, use length spec to infer array size */ typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 sifs_status[1]; /* HTT_TX_PDEV_MAX_SIFS_BURST_STATS */ -} htt_tx_pdev_stats_sifs_tlv_v; +} htt_stats_tx_pdev_sifs_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_sifs_tlv htt_tx_pdev_stats_sifs_tlv_v; #define HTT_TX_PDEV_STATS_PHY_ERR_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) /* NOTE: Variable length TLV, use length spec to infer array size */ typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 phy_errs[1]; /* HTT_TX_PDEV_MAX_PHY_ERR_STATS */ -} htt_tx_pdev_stats_phy_err_tlv_v; +} htt_stats_tx_pdev_phy_err_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_phy_err_tlv htt_tx_pdev_stats_phy_err_tlv_v; /* * Each array in the below struct has 16 elements, to cover the 16 possible @@ -1048,7 +1063,10 @@ typedef struct { /* DEPRECATED */ A_UINT32 aifs[HTT_NUM_AC_WMM][HTT_STATS_MUEDCA_VALUE_MAX]; A_UINT32 cw_min[HTT_NUM_AC_WMM][HTT_STATS_MUEDCA_VALUE_MAX]; A_UINT32 cw_max[HTT_NUM_AC_WMM][HTT_STATS_MUEDCA_VALUE_MAX]; -} htt_tx_pdev_muedca_params_stats_tlv_v; +} htt_stats_tx_pdev_muedca_params_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_muedca_params_stats_tlv + htt_tx_pdev_muedca_params_stats_tlv_v; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -1059,7 +1077,10 @@ typedef struct { A_UINT32 muofdma_relaxed_mu_edca[HTT_NUM_AC_WMM]; A_UINT32 latency_mu_edca[HTT_NUM_AC_WMM]; A_UINT32 psd_boost_mu_edca[HTT_NUM_AC_WMM]; -} htt_tx_pdev_mu_edca_params_stats_tlv_v; +} htt_stats_tx_pdev_mu_edca_params_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_mu_edca_params_stats_tlv + htt_tx_pdev_mu_edca_params_stats_tlv_v; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -1071,7 +1092,10 @@ typedef struct { A_UINT32 ul_muofdma_medium_aggressive[HTT_NUM_AC_WMM]; A_UINT32 ul_muofdma_highly_aggressive[HTT_NUM_AC_WMM]; A_UINT32 ul_muofdma_default_relaxed[HTT_NUM_AC_WMM]; -} htt_tx_pdev_ap_edca_params_stats_tlv_v; +} htt_stats_tx_pdev_ap_edca_params_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_ap_edca_params_stats_tlv + htt_tx_pdev_ap_edca_params_stats_tlv_v; #define HTT_TX_PDEV_SIFS_BURST_HIST_STATS 10 #define HTT_TX_PDEV_STATS_SIFS_HIST_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) @@ -1079,7 +1103,9 @@ typedef struct { typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 sifs_hist_status[1]; /* HTT_TX_PDEV_SIFS_BURST_HIST_STATS */ -} htt_tx_pdev_stats_sifs_hist_tlv_v; +} htt_stats_tx_pdev_sifs_hist_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_sifs_hist_tlv htt_tx_pdev_stats_sifs_hist_tlv_v; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -1088,7 +1114,10 @@ typedef struct { A_UINT32 num_data_ppdus_ax_su; A_UINT32 num_data_ppdus_ac_su_txbf; A_UINT32 num_data_ppdus_ax_su_txbf; -} htt_tx_pdev_stats_tx_ppdu_stats_tlv_v; +} htt_stats_tx_pdev_tx_ppdu_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_tx_ppdu_stats_tlv + htt_tx_pdev_stats_tx_ppdu_stats_tlv_v; typedef enum { HTT_TX_WAL_ISR_SCHED_SUCCESS, @@ -1130,8 +1159,9 @@ typedef struct { A_UINT32 mu_mimo_num_seq_posted[HTT_STATS_NUM_NR_BINS]; A_UINT32 mu_mimo_num_ppdu_posted_per_burst[HTT_STATS_MAX_NUM_MU_PPDU_PER_BURST_WORDS]; - -} htt_pdev_mu_ppdu_dist_tlv_v; +} htt_stats_mu_ppdu_dist_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_mu_ppdu_dist_tlv htt_pdev_mu_ppdu_dist_tlv_v; #define HTT_TX_PDEV_STATS_TRIED_MPDU_CNT_HIST_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) /* NOTE: Variable length TLV, use length spec to infer array size . @@ -1151,13 +1181,18 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 hist_bin_size; A_UINT32 tried_mpdu_cnt_hist[1]; /* HTT_TX_PDEV_TRIED_MPDU_CNT_HIST */ -} htt_tx_pdev_stats_tried_mpdu_cnt_hist_tlv_v; +} htt_stats_tx_pdev_tried_mpdu_cnt_hist_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_tried_mpdu_cnt_hist_tlv + htt_tx_pdev_stats_tried_mpdu_cnt_hist_tlv_v; typedef struct { htt_tlv_hdr_t tlv_hdr; /* Num MGMT MPDU transmitted by the target */ A_UINT32 fw_tx_mgmt_subtype[HTT_STATS_SUBTYPE_MAX]; -} htt_pdev_ctrl_path_tx_stats_tlv_v; +} htt_stats_pdev_ctrl_path_tx_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pdev_ctrl_path_tx_stats_tlv htt_pdev_ctrl_path_tx_stats_tlv_v; /* STATS_TYPE: HTT_DBG_EXT_STATS_PDEV_TX * TLV_TAGS: @@ -1177,16 +1212,16 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct _htt_tx_pdev_stats { - htt_tx_pdev_stats_cmn_tlv cmn_tlv; - htt_tx_pdev_stats_urrn_tlv_v underrun_tlv; - htt_tx_pdev_stats_sifs_tlv_v sifs_tlv; - htt_tx_pdev_stats_flush_tlv_v flush_tlv; - htt_tx_pdev_stats_phy_err_tlv_v phy_err_tlv; - htt_tx_pdev_stats_sifs_hist_tlv_v sifs_hist_tlv; - htt_tx_pdev_stats_tx_ppdu_stats_tlv_v tx_su_tlv; - htt_tx_pdev_stats_tried_mpdu_cnt_hist_tlv_v tried_mpdu_cnt_hist_tlv; - htt_pdev_ctrl_path_tx_stats_tlv_v ctrl_path_tx_tlv; - htt_pdev_mu_ppdu_dist_tlv_v mu_ppdu_dist_tlv; + htt_stats_tx_pdev_cmn_tlv cmn_tlv; + htt_stats_tx_pdev_underrun_tlv underrun_tlv; + htt_stats_tx_pdev_sifs_tlv sifs_tlv; + htt_stats_tx_pdev_flush_tlv flush_tlv; + htt_stats_tx_pdev_phy_err_tlv phy_err_tlv; + htt_stats_tx_pdev_sifs_hist_tlv sifs_hist_tlv; + htt_stats_tx_pdev_tx_ppdu_stats_tlv tx_su_tlv; + htt_stats_tx_pdev_tried_mpdu_cnt_hist_tlv tried_mpdu_cnt_hist_tlv; + htt_stats_pdev_ctrl_path_tx_stats_tlv ctrl_path_tx_tlv; + htt_stats_mu_ppdu_dist_tlv mu_ppdu_dist_tlv; } htt_tx_pdev_stats_t; /* == SOC ERROR STATS == */ @@ -1199,7 +1234,9 @@ typedef struct { A_UINT8 hw_intr_name[HTT_STATS_MAX_HW_INTR_NAME_LEN]; A_UINT32 mask; A_UINT32 count; -} htt_hw_stats_intr_misc_tlv; +} htt_stats_hw_intr_misc_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_hw_intr_misc_tlv htt_hw_stats_intr_misc_tlv; #define HTT_STATS_MAX_HW_MODULE_NAME_LEN 8 typedef struct { @@ -1207,7 +1244,9 @@ typedef struct { /* Stored as little endian */ A_UINT8 hw_module_name[HTT_STATS_MAX_HW_MODULE_NAME_LEN]; A_UINT32 count; -} htt_hw_stats_wd_timeout_tlv; +} htt_stats_hw_wd_timeout_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_hw_wd_timeout_tlv htt_hw_stats_wd_timeout_tlv; #define HTT_HW_STATS_PDEV_ERRS_MAC_ID_M 0x000000ff #define HTT_HW_STATS_PDEV_ERRS_MAC_ID_S 0 @@ -1288,7 +1327,9 @@ typedef struct { A_UINT32 rx_dest_drain_prerequisite_invld; A_UINT32 rx_dest_drain_skip_for_non_lmac_reset; A_UINT32 rx_dest_drain_hw_fifo_not_empty_post_drain_wait; -} htt_hw_stats_pdev_errs_tlv; +} htt_stats_hw_pdev_errs_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_hw_pdev_errs_tlv htt_hw_stats_pdev_errs_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -1308,7 +1349,9 @@ typedef struct { A_UINT32 sch_rx_ppdu_no_response; A_UINT32 sch_selfgen_response; A_UINT32 sch_rx_sifs_resp_trigger; -} htt_hw_stats_whal_tx_tlv; +} htt_stats_whal_tx_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_whal_tx_tlv htt_hw_stats_whal_tx_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -1333,7 +1376,9 @@ typedef struct { * track of which HW WAR is WAR 0, which HW WAR is WAR 1, etc. */ A_UINT32 hw_wars[1/*or more*/]; -} htt_hw_war_stats_tlv; +} htt_stats_hw_war_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_hw_war_tlv htt_hw_war_stats_tlv; /* STATS_TYPE: HTT_DBG_EXT_STATS_PDEV_ERROR * TLV_TAGS: @@ -1348,11 +1393,11 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct _htt_pdev_err_stats { - htt_hw_stats_pdev_errs_tlv pdev_errs; - htt_hw_stats_intr_misc_tlv misc_stats[1]; - htt_hw_stats_wd_timeout_tlv wd_timeout[1]; - htt_hw_stats_whal_tx_tlv whal_tx_stats; - htt_hw_war_stats_tlv hw_war; + htt_stats_hw_pdev_errs_tlv pdev_errs; + htt_stats_hw_intr_misc_tlv misc_stats[1]; + htt_stats_hw_wd_timeout_tlv wd_timeout[1]; + htt_stats_whal_tx_tlv whal_tx_stats; + htt_stats_hw_war_tlv hw_war; } htt_hw_err_stats_t; /* ============ PEER STATS ============ */ @@ -1419,7 +1464,9 @@ typedef struct _htt_msdu_flow_stats_tlv { * BIT [31 : 16] :- reserved */ A_UINT32 current_drop_th; -} htt_msdu_flow_stats_tlv; +} htt_stats_peer_msdu_flowq_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_peer_msdu_flowq_tlv htt_msdu_flow_stats_tlv; #define MAX_HTT_TID_NAME 8 @@ -1508,7 +1555,9 @@ typedef struct _htt_tx_tid_stats_tlv { A_UINT32 block_module_id; /** tid tx airtime in sec */ A_UINT32 tid_tx_airtime; -} htt_tx_tid_stats_tlv; +} htt_stats_tx_tid_details_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_tid_details_tlv htt_tx_tid_stats_tlv; /* Tidq stats */ typedef struct _htt_tx_tid_stats_v1_tlv { @@ -1572,7 +1621,9 @@ typedef struct _htt_tx_tid_stats_v1_tlv { */ A_UINT32 head_msdu_tqm_timestamp_us; A_UINT32 head_msdu_tqm_latency_us; -} htt_tx_tid_stats_v1_tlv; +} htt_stats_tx_tid_details_v1_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_tid_details_v1_tlv htt_tx_tid_stats_v1_tlv; #define HTT_RX_TID_STATS_SW_PEER_ID_M 0x0000ffff #define HTT_RX_TID_STATS_SW_PEER_ID_S 0 @@ -1620,7 +1671,9 @@ typedef struct _htt_rx_tid_stats_tlv { A_UINT32 rxdesc_err_decrypt; /** tid rx airtime in sec */ A_UINT32 tid_rx_airtime; -} htt_rx_tid_stats_tlv; +} htt_stats_rx_tid_details_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_tid_details_tlv htt_rx_tid_stats_tlv; #define HTT_MAX_COUNTER_NAME 8 typedef struct { @@ -1628,7 +1681,9 @@ typedef struct { /** Stored as little endian */ A_UINT8 counter_name[HTT_MAX_COUNTER_NAME]; A_UINT32 count; -} htt_counter_tlv; +} htt_stats_counter_name_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_counter_name_tlv htt_counter_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -1670,7 +1725,9 @@ typedef struct { A_UINT32 inactive_time; /** Number of MPDUs dropped after max retries */ A_UINT32 remove_mpdus_max_retries; -} htt_peer_stats_cmn_tlv; +} htt_stats_peer_stats_cmn_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_peer_stats_cmn_tlv htt_peer_stats_cmn_tlv; #define HTT_PEER_DETAILS_ML_PEER_OFFSET_BYTES 32 #define HTT_PEER_DETAILS_ML_PEER_OFFSET_DWORD 8 @@ -1720,7 +1777,9 @@ typedef struct { /* Dword 9 */ A_UINT32 src_info : 12, /* [11:0] */ rsvd1 : 20; /* [31:12] */ -} htt_peer_details_tlv; +} htt_stats_peer_details_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_peer_details_tlv htt_peer_details_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -1743,7 +1802,9 @@ typedef struct { tx_monitor_override_sta : 1, rx_monitor_override_sta : 1, reserved1 : 30; -} htt_ast_entry_tlv; +} htt_stats_ast_entry_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_ast_entry_tlv htt_ast_entry_tlv; typedef enum { HTT_STATS_DIRECTION_TX, @@ -1853,7 +1914,9 @@ typedef struct _htt_tx_peer_rate_stats_tlv { A_UINT32 tx_gi_ext[HTT_TX_PEER_STATS_NUM_GI_COUNTERS][HTT_TX_PEER_STATS_NUM_EXTRA_MCS_COUNTERS]; A_UINT32 reduced_tx_bw[HTT_TX_PEER_STATS_NUM_REDUCED_CHAN_TYPES][HTT_TX_PEER_STATS_NUM_BW_COUNTERS]; A_UINT32 tx_bw_320mhz; -} htt_tx_peer_rate_stats_tlv; +} htt_stats_peer_tx_rate_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_peer_tx_rate_stats_tlv htt_tx_peer_rate_stats_tlv; #define HTT_RX_PEER_STATS_NUM_MCS_COUNTERS 12 /* 0-11 */ #define HTT_RX_PEER_STATS_NUM_EXTRA_MCS_COUNTERS 2 /* 12, 13 */ @@ -1931,7 +1994,9 @@ typedef struct _htt_rx_peer_rate_stats_tlv { A_UINT32 rx_gi_ext[HTT_RX_PEER_STATS_NUM_GI_COUNTERS][HTT_RX_PEER_STATS_NUM_EXTRA_MCS_COUNTERS]; A_UINT32 reduced_rx_bw[HTT_RX_PEER_STATS_NUM_REDUCED_CHAN_TYPES][HTT_RX_PEER_STATS_NUM_BW_COUNTERS]; A_INT8 rx_per_chain_rssi_in_dbm_ext[HTT_RX_PEER_STATS_NUM_SPATIAL_STREAMS][HTT_RX_PEER_STATS_NUM_BW_EXT_COUNTERS]; -} htt_rx_peer_rate_stats_tlv; +} htt_stats_peer_rx_rate_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_peer_rx_rate_stats_tlv htt_rx_peer_rate_stats_tlv; typedef enum { HTT_PEER_STATS_REQ_MODE_NO_QUERY, @@ -1968,7 +2033,9 @@ typedef struct { A_UINT32 peer_rx_active_dur_us_low; A_UINT32 peer_rx_active_dur_us_high; A_UINT32 peer_curr_rate_kbps; -} htt_peer_sched_stats_tlv; +} htt_stats_peer_sched_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_peer_sched_stats_tlv htt_peer_sched_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -1996,7 +2063,9 @@ typedef struct { /* Per peer Manual 11ax UL OFDMA trigger and trigger error counts */ A_UINT32 ax_manual_ulofdma_trig_count; A_UINT32 ax_manual_ulofdma_trig_err_count; -} htt_peer_ax_ofdma_stats_tlv; +} htt_stats_peer_ax_ofdma_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_peer_ax_ofdma_stats_tlv htt_peer_ax_ofdma_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -2004,7 +2073,9 @@ typedef struct { /* Per peer Manual 11be UL OFDMA trigger and trigger error counts */ A_UINT32 be_manual_ulofdma_trig_count; A_UINT32 be_manual_ulofdma_trig_err_count; -} htt_peer_be_ofdma_stats_tlv; +} htt_stats_peer_be_ofdma_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_peer_be_ofdma_stats_tlv htt_peer_be_ofdma_stats_tlv; /* config_param0 */ @@ -2084,19 +2155,19 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct _htt_peer_stats { - htt_peer_stats_cmn_tlv cmn_tlv; + htt_stats_peer_stats_cmn_tlv cmn_tlv; - htt_peer_details_tlv peer_details; + htt_stats_peer_details_tlv peer_details; /* from g_rate_info_stats */ - htt_tx_peer_rate_stats_tlv tx_rate; - htt_rx_peer_rate_stats_tlv rx_rate; - htt_tx_tid_stats_tlv tx_tid_stats[1]; - htt_rx_tid_stats_tlv rx_tid_stats[1]; - htt_msdu_flow_stats_tlv msdu_flowq[1]; - htt_tx_tid_stats_v1_tlv tx_tid_stats_v1[1]; - htt_peer_sched_stats_tlv peer_sched_stats; - htt_peer_ax_ofdma_stats_tlv ax_ofdma_stats; - htt_peer_be_ofdma_stats_tlv be_ofdma_stats; + htt_stats_peer_tx_rate_stats_tlv tx_rate; + htt_stats_peer_rx_rate_stats_tlv rx_rate; + htt_stats_tx_tid_details_tlv tx_tid_stats[1]; + htt_stats_rx_tid_details_tlv rx_tid_stats[1]; + htt_stats_peer_msdu_flowq_tlv msdu_flowq[1]; + htt_stats_tx_tid_details_v1_tlv tx_tid_stats_v1[1]; + htt_stats_peer_sched_stats_tlv peer_sched_stats; + htt_stats_peer_ax_ofdma_stats_tlv ax_ofdma_stats; + htt_stats_peer_be_ofdma_stats_tlv be_ofdma_stats; } htt_peer_stats_t; /* =========== ACTIVE PEER LIST ========== */ @@ -2110,7 +2181,7 @@ typedef struct _htt_peer_stats { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_peer_details_tlv peer_details[1]; + htt_stats_peer_details_tlv peer_details[1]; } htt_active_peer_details_list_t; /* =========== MUMIMO HWQ stats =========== */ @@ -2124,7 +2195,9 @@ typedef struct { A_UINT32 mu_mimo_sch_failed; /** number of MU MIMO PPDUs posted to HW */ A_UINT32 mu_mimo_ppdu_posted; -} htt_tx_hwq_mu_mimo_sch_stats_tlv; +} htt_stats_tx_hwq_mumimo_sch_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_hwq_mumimo_sch_stats_tlv htt_tx_hwq_mu_mimo_sch_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -2142,7 +2215,10 @@ typedef struct { A_UINT32 mu_mimo_mpdu_underrun_usr; /** 11AC DL MU MIMO ampdu underrun encountered, per user */ A_UINT32 mu_mimo_ampdu_underrun_usr; -} htt_tx_hwq_mu_mimo_mpdu_stats_tlv; +} htt_stats_tx_hwq_mumimo_mpdu_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_hwq_mumimo_mpdu_stats_tlv + htt_tx_hwq_mu_mimo_mpdu_stats_tlv; #define HTT_TX_HWQ_MU_MIMO_CMN_STATS_MAC_ID_M 0x000000ff #define HTT_TX_HWQ_MU_MIMO_CMN_STATS_MAC_ID_S 0 @@ -2179,19 +2255,21 @@ typedef struct { * BIT [31 : 16] :- reserved */ A_UINT32 mac_id__hwq_id__word; -} htt_tx_hwq_mu_mimo_cmn_stats_tlv; +} htt_stats_tx_hwq_mumimo_cmn_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_hwq_mumimo_cmn_stats_tlv htt_tx_hwq_mu_mimo_cmn_stats_tlv; /* NOTE: * This structure is for documentation, and cannot be safely used directly. * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - struct _hwq_mu_mimo_stats { - htt_tx_hwq_mu_mimo_cmn_stats_tlv cmn_tlv; + struct { + htt_stats_tx_hwq_mumimo_cmn_stats_tlv cmn_tlv; /** WAL_TX_STATS_MAX_GROUP_SIZE */ - htt_tx_hwq_mu_mimo_sch_stats_tlv mu_mimo_sch_stats_tlv[1]; + htt_stats_tx_hwq_mumimo_sch_stats_tlv mu_mimo_sch_stats_tlv[1]; /** WAL_TX_STATS_TX_MAX_NUM_USERS */ - htt_tx_hwq_mu_mimo_mpdu_stats_tlv mu_mimo_mpdu_stats_tlv[1]; + htt_stats_tx_hwq_mumimo_mpdu_stats_tlv mu_mimo_mpdu_stats_tlv[1]; } hwq[1]; } htt_tx_hwq_mu_mimo_stats_t; @@ -2284,7 +2362,9 @@ typedef struct { /** Number of times txq timeout happened */ A_UINT32 txq_timeout; -} htt_tx_hwq_stats_cmn_tlv; +} htt_stats_tx_hwq_cmn_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_hwq_cmn_tlv htt_tx_hwq_stats_cmn_tlv; #define HTT_TX_HWQ_DIFS_LATENCY_STATS_TLV_SZ(_num_elems) (sizeof(A_UINT32) + /* hist_intvl */ \ (sizeof(A_UINT32) * (_num_elems))) @@ -2294,7 +2374,9 @@ typedef struct { A_UINT32 hist_intvl; /** histogram of ppdu post to hwsch - > cmd status received */ A_UINT32 difs_latency_hist[1]; /* HTT_TX_HWQ_MAX_DIFS_LATENCY_BINS */ -} htt_tx_hwq_difs_latency_stats_tlv_v; +} htt_stats_tx_hwq_difs_latency_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_hwq_difs_latency_tlv htt_tx_hwq_difs_latency_stats_tlv_v; #define HTT_TX_HWQ_CMD_RESULT_STATS_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) @@ -2303,7 +2385,9 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; /** Histogram of sched cmd result */ A_UINT32 cmd_result[1]; /* HTT_TX_HWQ_MAX_CMD_RESULT_STATS */ -} htt_tx_hwq_cmd_result_stats_tlv_v; +} htt_stats_tx_hwq_cmd_result_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_hwq_cmd_result_tlv htt_tx_hwq_cmd_result_stats_tlv_v; #define HTT_TX_HWQ_CMD_STALL_STATS_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) @@ -2312,7 +2396,9 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; /** Histogram of various pause conitions */ A_UINT32 cmd_stall_status[1]; /* HTT_TX_HWQ_MAX_CMD_STALL_STATS */ -} htt_tx_hwq_cmd_stall_stats_tlv_v; +} htt_stats_tx_hwq_cmd_stall_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_hwq_cmd_stall_tlv htt_tx_hwq_cmd_stall_stats_tlv_v; #define HTT_TX_HWQ_FES_RESULT_STATS_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) @@ -2321,7 +2407,9 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; /** Histogram of number of user fes result */ A_UINT32 fes_result[1]; /* HTT_TX_HWQ_MAX_FES_RESULT_STATS */ -} htt_tx_hwq_fes_result_stats_tlv_v; +} htt_stats_tx_hwq_fes_status_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_hwq_fes_status_tlv htt_tx_hwq_fes_result_stats_tlv_v; #define HTT_TX_HWQ_TRIED_MPDU_CNT_HIST_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) /* NOTE: Variable length TLV, use length spec to infer array size @@ -2342,7 +2430,10 @@ typedef struct { A_UINT32 hist_bin_size; /** Histogram of number of mpdus on tried mpdu */ A_UINT32 tried_mpdu_cnt_hist[1]; /* HTT_TX_HWQ_TRIED_MPDU_CNT_HIST */ -} htt_tx_hwq_tried_mpdu_cnt_hist_tlv_v; +} htt_stats_tx_hwq_tried_mpdu_cnt_hist_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_hwq_tried_mpdu_cnt_hist_tlv + htt_tx_hwq_tried_mpdu_cnt_hist_tlv_v; #define HTT_TX_HWQ_TXOP_USED_CNT_HIST_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) /* NOTE: Variable length TLV, use length spec to infer array size @@ -2360,7 +2451,10 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; /** Histogram of txop used cnt */ A_UINT32 txop_used_cnt_hist[1]; /* HTT_TX_HWQ_TXOP_USED_CNT_HIST */ -} htt_tx_hwq_txop_used_cnt_hist_tlv_v; +} htt_stats_tx_hwq_txop_used_cnt_hist_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_hwq_txop_used_cnt_hist_tlv + htt_tx_hwq_txop_used_cnt_hist_tlv_v; /* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_TX_HWQ * TLV_TAGS: @@ -2383,14 +2477,14 @@ typedef struct { * HWQ distinctly. */ typedef struct _htt_tx_hwq_stats { - htt_stats_string_tlv hwq_str_tlv; - htt_tx_hwq_stats_cmn_tlv cmn_tlv; - htt_tx_hwq_difs_latency_stats_tlv_v difs_tlv; - htt_tx_hwq_cmd_result_stats_tlv_v cmd_result_tlv; - htt_tx_hwq_cmd_stall_stats_tlv_v cmd_stall_tlv; - htt_tx_hwq_fes_result_stats_tlv_v fes_stats_tlv; - htt_tx_hwq_tried_mpdu_cnt_hist_tlv_v tried_mpdu_tlv; - htt_tx_hwq_txop_used_cnt_hist_tlv_v txop_used_tlv; + htt_stats_string_tlv hwq_str_tlv; + htt_stats_tx_hwq_cmn_tlv cmn_tlv; + htt_stats_tx_hwq_difs_latency_tlv difs_tlv; + htt_stats_tx_hwq_cmd_result_tlv cmd_result_tlv; + htt_stats_tx_hwq_cmd_stall_tlv cmd_stall_tlv; + htt_stats_tx_hwq_fes_status_tlv fes_stats_tlv; + htt_stats_tx_hwq_tried_mpdu_cnt_hist_tlv tried_mpdu_tlv; + htt_stats_tx_hwq_txop_used_cnt_hist_tlv txop_used_tlv; } htt_tx_hwq_stats_t; /* == TX SELFGEN STATS == */ @@ -2539,7 +2633,9 @@ typedef struct { * (Smart basic triggers are only used with intervals <= 40 ms.) */ A_UINT32 smart_basic_trig_sch_histogram[HTT_MAX_NUM_SBT_INTR]; -} htt_tx_selfgen_cmn_stats_tlv; +} htt_stats_tx_selfgen_cmn_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_selfgen_cmn_stats_tlv htt_tx_selfgen_cmn_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -2571,7 +2667,9 @@ typedef struct { A_UINT32 ac_mu_mimo_brpoll_2_queued; /** 11AC VHT MU MIMO BR-POLL for user 3 frame queued to the HW */ A_UINT32 ac_mu_mimo_brpoll_3_queued; -} htt_tx_selfgen_ac_stats_tlv; +} htt_stats_tx_selfgen_ac_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_selfgen_ac_stats_tlv htt_tx_selfgen_ac_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -2646,7 +2744,9 @@ typedef struct { A_UINT32 ax_mu_bar_trigger_per_ac[HTT_NUM_AC_WMM]; /** 11AX HE MU-BAR Trigger frames per AC completed with error(s) */ A_UINT32 ax_mu_bar_trigger_errors_per_ac[HTT_NUM_AC_WMM]; -} htt_tx_selfgen_ax_stats_tlv; +} htt_stats_tx_selfgen_ax_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_selfgen_ax_stats_tlv htt_tx_selfgen_ax_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -2709,7 +2809,9 @@ typedef struct { A_UINT32 be_mu_bar_trigger_per_ac[HTT_NUM_AC_WMM]; /** 11BE EHT MU-BAR Trigger frames per AC completed with error(s) */ A_UINT32 be_mu_bar_trigger_errors_per_ac[HTT_NUM_AC_WMM]; -} htt_tx_selfgen_be_stats_tlv; +} htt_stats_tx_selfgen_be_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_selfgen_be_stats_tlv htt_tx_selfgen_be_stats_tlv; typedef struct { /* DEPRECATED */ htt_tlv_hdr_t tlv_hdr; @@ -2721,7 +2823,9 @@ typedef struct { /* DEPRECATED */ A_UINT32 ax_ofdma_ndpa_flushed[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS]; /** 11AX HE OFDMA NDPA frame completed with error(s) */ A_UINT32 ax_ofdma_ndpa_err[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS]; -} htt_txbf_ofdma_ndpa_stats_tlv; +} htt_stats_txbf_ofdma_ndpa_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_ndpa_stats_tlv htt_txbf_ofdma_ndpa_stats_tlv; typedef struct { /* DEPRECATED */ htt_tlv_hdr_t tlv_hdr; @@ -2733,7 +2837,9 @@ typedef struct { /* DEPRECATED */ A_UINT32 ax_ofdma_ndp_flushed[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS]; /** 11AX HE OFDMA NDPA frame completed with error(s) */ A_UINT32 ax_ofdma_ndp_err[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS]; -} htt_txbf_ofdma_ndp_stats_tlv; +} htt_stats_txbf_ofdma_ndp_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_ndp_stats_tlv htt_txbf_ofdma_ndp_stats_tlv; typedef struct { /* DEPRECATED */ htt_tlv_hdr_t tlv_hdr; @@ -2750,7 +2856,9 @@ typedef struct { /* DEPRECATED */ * completed with error(s) */ A_UINT32 ax_ofdma_brp_err_num_cbf_rcvd[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS+1]; -} htt_txbf_ofdma_brp_stats_tlv; +} htt_stats_txbf_ofdma_brp_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_brp_stats_tlv htt_txbf_ofdma_brp_stats_tlv; typedef struct { /* DEPRECATED */ htt_tlv_hdr_t tlv_hdr; @@ -2773,7 +2881,9 @@ typedef struct { /* DEPRECATED */ A_UINT32 ax_ofdma_num_usrs_sound[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS]; /** 11AX HE OFDMA number of users for which sounding was forced during TX */ A_UINT32 ax_ofdma_num_usrs_force_sound[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS]; -} htt_txbf_ofdma_steer_stats_tlv; +} htt_stats_txbf_ofdma_steer_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_steer_stats_tlv htt_txbf_ofdma_steer_stats_tlv; /* Note: * This struct htt_tx_pdev_txbf_ofdma_stats_t and all its constituent @@ -2781,10 +2891,10 @@ typedef struct { /* DEPRECATED */ * stats into a variable length array */ typedef struct { /* DEPRECATED */ - htt_txbf_ofdma_ndpa_stats_tlv ofdma_ndpa_tlv; - htt_txbf_ofdma_ndp_stats_tlv ofdma_ndp_tlv; - htt_txbf_ofdma_brp_stats_tlv ofdma_brp_tlv; - htt_txbf_ofdma_steer_stats_tlv ofdma_steer_tlv; + htt_stats_txbf_ofdma_ndpa_stats_tlv ofdma_ndpa_tlv; + htt_stats_txbf_ofdma_ndp_stats_tlv ofdma_ndp_tlv; + htt_stats_txbf_ofdma_brp_stats_tlv ofdma_brp_tlv; + htt_stats_txbf_ofdma_steer_stats_tlv ofdma_steer_tlv; } htt_tx_pdev_txbf_ofdma_stats_t; typedef struct { @@ -2814,7 +2924,9 @@ typedef struct { */ A_UINT32 arr_elem_size_ax_ndpa; htt_txbf_ofdma_ax_ndpa_stats_elem_t ax_ndpa[1]; /* variable length */ -} htt_txbf_ofdma_ax_ndpa_stats_tlv; +} htt_stats_txbf_ofdma_ax_ndpa_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_ax_ndpa_stats_tlv htt_txbf_ofdma_ax_ndpa_stats_tlv; typedef struct { /** 11AX HE OFDMA NDP frame queued to the HW */ @@ -2843,7 +2955,9 @@ typedef struct { */ A_UINT32 arr_elem_size_ax_ndp; htt_txbf_ofdma_ax_ndp_stats_elem_t ax_ndp[1]; /* variable length */ -} htt_txbf_ofdma_ax_ndp_stats_tlv; +} htt_stats_txbf_ofdma_ax_ndp_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_ax_ndp_stats_tlv htt_txbf_ofdma_ax_ndp_stats_tlv; typedef struct { /** 11AX HE OFDMA MU BRPOLL frame queued to the HW */ @@ -2877,7 +2991,9 @@ typedef struct { */ A_UINT32 arr_elem_size_ax_brp; htt_txbf_ofdma_ax_brp_stats_elem_t ax_brp[1]; /* variable length */ -} htt_txbf_ofdma_ax_brp_stats_tlv; +} htt_stats_txbf_ofdma_ax_brp_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_ax_brp_stats_tlv htt_txbf_ofdma_ax_brp_stats_tlv; typedef struct { /** @@ -2917,7 +3033,10 @@ typedef struct { */ A_UINT32 arr_elem_size_ax_steer; htt_txbf_ofdma_ax_steer_stats_elem_t ax_steer[1]; /* variable length */ -} htt_txbf_ofdma_ax_steer_stats_tlv; +} htt_stats_txbf_ofdma_ax_steer_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_ax_steer_stats_tlv + htt_txbf_ofdma_ax_steer_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -2929,7 +3048,10 @@ typedef struct { A_UINT32 ax_ofdma_sifs_steer_mpdus_tried; /* 11AX HE OFDMA MPDUs failed in sifs steering */ A_UINT32 ax_ofdma_sifs_steer_mpdus_failed; -} htt_txbf_ofdma_ax_steer_mpdu_stats_tlv; +} htt_stats_txbf_ofdma_ax_steer_mpdu_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_ax_steer_mpdu_stats_tlv + htt_txbf_ofdma_ax_steer_mpdu_stats_tlv; typedef struct { /** 11BE EHT OFDMA NDPA frame queued to the HW */ @@ -2958,7 +3080,9 @@ typedef struct { */ A_UINT32 arr_elem_size_be_ndpa; htt_txbf_ofdma_be_ndpa_stats_elem_t be_ndpa[1]; /* variable length */ -} htt_txbf_ofdma_be_ndpa_stats_tlv; +} htt_stats_txbf_ofdma_be_ndpa_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_be_ndpa_stats_tlv htt_txbf_ofdma_be_ndpa_stats_tlv; typedef struct { /** 11BE EHT OFDMA NDP frame queued to the HW */ @@ -2987,7 +3111,9 @@ typedef struct { */ A_UINT32 arr_elem_size_be_ndp; htt_txbf_ofdma_be_ndp_stats_elem_t be_ndp[1]; /* variable length */ -} htt_txbf_ofdma_be_ndp_stats_tlv; +} htt_stats_txbf_ofdma_be_ndp_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_be_ndp_stats_tlv htt_txbf_ofdma_be_ndp_stats_tlv; typedef struct { /** 11BE EHT OFDMA MU BRPOLL frame queued to the HW */ @@ -3021,7 +3147,9 @@ typedef struct { */ A_UINT32 arr_elem_size_be_brp; htt_txbf_ofdma_be_brp_stats_elem_t be_brp[1]; /* variable length */ -} htt_txbf_ofdma_be_brp_stats_tlv; +} htt_stats_txbf_ofdma_be_brp_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_be_brp_stats_tlv htt_txbf_ofdma_be_brp_stats_tlv; typedef struct { /** @@ -3063,7 +3191,10 @@ typedef struct { */ A_UINT32 arr_elem_size_be_steer; htt_txbf_ofdma_be_steer_stats_elem_t be_steer[1]; /* variable length */ -} htt_txbf_ofdma_be_steer_stats_tlv; +} htt_stats_txbf_ofdma_be_steer_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_be_steer_stats_tlv + htt_txbf_ofdma_be_steer_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3075,7 +3206,10 @@ typedef struct { A_UINT32 be_ofdma_sifs_steer_mpdus_tried; /* 11BE EHT OFDMA MPDUs failed in sifs steering */ A_UINT32 be_ofdma_sifs_steer_mpdus_failed; -} htt_txbf_ofdma_be_steer_mpdu_stats_tlv; +} htt_stats_txbf_ofdma_be_steer_mpdu_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_txbf_ofdma_be_steer_mpdu_stats_tlv + htt_txbf_ofdma_be_steer_mpdu_stats_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_TXBF_OFDMA * TLV_TAGS: @@ -3121,7 +3255,9 @@ typedef struct { A_UINT32 ac_mu_mimo_brpoll2_flushed; /** 11AC VHT MU MIMO BRPOLL for user 3 frame flushed by HW */ A_UINT32 ac_mu_mimo_brpoll3_flushed; -} htt_tx_selfgen_ac_err_stats_tlv; +} htt_stats_tx_selfgen_ac_err_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_selfgen_ac_err_stats_tlv htt_tx_selfgen_ac_err_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3183,7 +3319,9 @@ typedef struct { A_UINT32 ax_bsr_trigger_partial_resp; /** 11AX HE MU BAR Trigger frame completed with partial user response */ A_UINT32 ax_mu_bar_trigger_partial_resp; -} htt_tx_selfgen_ax_err_stats_tlv; +} htt_stats_tx_selfgen_ax_err_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_selfgen_ax_err_stats_tlv htt_tx_selfgen_ax_err_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3233,7 +3371,9 @@ typedef struct { A_UINT32 be_bsr_trigger_partial_resp; /** 11BE EHT MU BAR Trigger frame completed with partial user response */ A_UINT32 be_mu_bar_trigger_partial_resp; -} htt_tx_selfgen_be_err_stats_tlv; +} htt_stats_tx_selfgen_be_err_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_selfgen_be_err_stats_tlv htt_tx_selfgen_be_err_stats_tlv; /* * Scheduler completion status reason code. @@ -3283,7 +3423,10 @@ typedef struct { A_UINT32 ac_mu_mimo_brp_sch_status[HTT_TX_PDEV_STATS_NUM_TX_ERR_STATUS]; /** 11AC VHT MU MIMO BRPOLL scheduler error code */ A_UINT32 ac_mu_mimo_brp_sch_flag_err[HTT_TX_SELFGEN_NUM_SCH_TSFLAG_ERROR_STATS]; -} htt_tx_selfgen_ac_sched_status_stats_tlv; +} htt_stats_tx_selfgen_ac_sched_status_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_selfgen_ac_sched_status_stats_tlv + htt_tx_selfgen_ac_sched_status_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3319,7 +3462,10 @@ typedef struct { A_UINT32 ax_ulmumimo_trig_sch_status[HTT_TX_PDEV_STATS_NUM_TX_ERR_STATUS]; /** 11AX HE UL MUMIMO Basic Trigger scheduler error code */ A_UINT32 ax_ulmumimo_trig_sch_flag_err[HTT_TX_SELFGEN_NUM_SCH_TSFLAG_ERROR_STATS]; -} htt_tx_selfgen_ax_sched_status_stats_tlv; +} htt_stats_tx_selfgen_ax_sched_status_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_selfgen_ax_sched_status_stats_tlv + htt_tx_selfgen_ax_sched_status_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3355,7 +3501,10 @@ typedef struct { A_UINT32 be_ulmumimo_trig_sch_status[HTT_TX_PDEV_STATS_NUM_TX_ERR_STATUS]; /** 11BE EHT UL MUMIMO Basic Trigger scheduler error code */ A_UINT32 be_ulmumimo_trig_sch_flag_err[HTT_TX_SELFGEN_NUM_SCH_TSFLAG_ERROR_STATS]; -} htt_tx_selfgen_be_sched_status_stats_tlv; +} htt_stats_tx_selfgen_be_sched_status_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_selfgen_be_sched_status_stats_tlv + htt_tx_selfgen_be_sched_status_stats_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_TX_SELFGEN_INFO * TLV_TAGS: @@ -3375,16 +3524,16 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_tx_selfgen_cmn_stats_tlv cmn_tlv; - htt_tx_selfgen_ac_stats_tlv ac_tlv; - htt_tx_selfgen_ax_stats_tlv ax_tlv; - htt_tx_selfgen_ac_err_stats_tlv ac_err_tlv; - htt_tx_selfgen_ax_err_stats_tlv ax_err_tlv; - htt_tx_selfgen_ac_sched_status_stats_tlv ac_sched_status_tlv; - htt_tx_selfgen_ax_sched_status_stats_tlv ax_sched_status_tlv; - htt_tx_selfgen_be_stats_tlv be_tlv; - htt_tx_selfgen_be_err_stats_tlv be_err_tlv; - htt_tx_selfgen_be_sched_status_stats_tlv be_sched_status_tlv; + htt_stats_tx_selfgen_cmn_stats_tlv cmn_tlv; + htt_stats_tx_selfgen_ac_stats_tlv ac_tlv; + htt_stats_tx_selfgen_ax_stats_tlv ax_tlv; + htt_stats_tx_selfgen_ac_err_stats_tlv ac_err_tlv; + htt_stats_tx_selfgen_ax_err_stats_tlv ax_err_tlv; + htt_stats_tx_selfgen_ac_sched_status_stats_tlv ac_sched_status_tlv; + htt_stats_tx_selfgen_ax_sched_status_stats_tlv ax_sched_status_tlv; + htt_stats_tx_selfgen_be_stats_tlv be_tlv; + htt_stats_tx_selfgen_be_err_stats_tlv be_err_tlv; + htt_stats_tx_selfgen_be_sched_status_stats_tlv be_sched_status_tlv; } htt_tx_pdev_selfgen_stats_t; /* == TX MU STATS == */ @@ -3439,7 +3588,9 @@ typedef struct { A_UINT32 be_mu_mimo_sch_posted_per_grp_sz[HTT_TX_PDEV_STATS_NUM_BE_MUMIMO_USER_STATS]; /** Number of 11AC DL MU MIMO schedules posted per group size (4-7) */ A_UINT32 ac_mu_mimo_sch_posted_per_grp_sz_ext[HTT_TX_PDEV_STATS_NUM_AC_MUMIMO_USER_STATS]; -} htt_tx_pdev_mu_mimo_sch_stats_tlv; +} htt_stats_tx_pdev_mu_mimo_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_mu_mimo_stats_tlv htt_tx_pdev_mu_mimo_sch_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3460,8 +3611,9 @@ typedef struct { A_UINT32 ul_mumimo_grp_best_num_usrs[HTT_TX_PDEV_STATS_NUM_AX_MUMIMO_USER_STATS]; A_UINT32 ul_mumimo_grp_tputs[HTT_STATS_MUMIMO_TPUT_NUM_BINS]; - -} htt_tx_pdev_mumimo_grp_stats_tlv; +} htt_stats_tx_pdev_mumimo_grp_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_mumimo_grp_stats_tlv htt_tx_pdev_mumimo_grp_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3495,19 +3647,28 @@ typedef struct { A_UINT32 be_mu_mimo_sch_posted_per_grp_sz[HTT_TX_PDEV_STATS_NUM_BE_MUMIMO_USER_STATS]; /** Number of 11AC DL MU MIMO schedules posted per group size (4 - 7)*/ A_UINT32 ac_mu_mimo_sch_posted_per_grp_sz_ext[HTT_TX_PDEV_STATS_NUM_AC_MUMIMO_USER_STATS]; -} htt_tx_pdev_dl_mu_mimo_sch_stats_tlv; +} htt_stats_tx_pdev_dl_mu_mimo_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_dl_mu_mimo_stats_tlv + htt_tx_pdev_dl_mu_mimo_sch_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; /** Represents the count for 11AX DL MU OFDMA sequences */ A_UINT32 ax_mu_ofdma_sch_nusers[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS]; -} htt_tx_pdev_dl_mu_ofdma_sch_stats_tlv; +} htt_stats_tx_pdev_dl_mu_ofdma_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_dl_mu_ofdma_stats_tlv + htt_tx_pdev_dl_mu_ofdma_sch_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; /** Represents the count for 11BE DL MU OFDMA sequences */ A_UINT32 be_mu_ofdma_sch_nusers[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS]; -} htt_tx_pdev_be_dl_mu_ofdma_sch_stats_tlv; +} htt_stats_tx_pdev_be_dl_mu_ofdma_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_be_dl_mu_ofdma_stats_tlv + htt_tx_pdev_be_dl_mu_ofdma_sch_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3527,7 +3688,10 @@ typedef struct { * Represents the count for 11AX UL MU OFDMA sequences with BRP Triggers */ A_UINT32 ax_ul_mu_ofdma_brp_sch_nusers[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS]; -} htt_tx_pdev_ul_mu_ofdma_sch_stats_tlv; +} htt_stats_tx_pdev_ul_mu_ofdma_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_ul_mu_ofdma_stats_tlv + htt_tx_pdev_ul_mu_ofdma_sch_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3547,7 +3711,10 @@ typedef struct { * Represents the count for 11BE UL MU OFDMA sequences with BRP Triggers */ A_UINT32 be_ul_mu_ofdma_brp_sch_nusers[HTT_TX_PDEV_STATS_NUM_OFDMA_USER_STATS]; -} htt_tx_pdev_be_ul_mu_ofdma_sch_stats_tlv; +} htt_stats_tx_pdev_be_ul_mu_ofdma_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_be_ul_mu_ofdma_stats_tlv + htt_tx_pdev_be_ul_mu_ofdma_sch_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3559,7 +3726,10 @@ typedef struct { * Represents the count for 11AX UL MU MIMO sequences with BRP Triggers */ A_UINT32 ax_ul_mu_mimo_brp_sch_nusers[HTT_TX_PDEV_STATS_NUM_UL_MUMIMO_USER_STATS]; -} htt_tx_pdev_ul_mu_mimo_sch_stats_tlv; +} htt_stats_tx_pdev_ul_mu_mimo_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_ul_mu_mimo_stats_tlv + htt_tx_pdev_ul_mu_mimo_sch_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3571,7 +3741,10 @@ typedef struct { * Represents the count for 11BE UL MU MIMO sequences with BRP Triggers */ A_UINT32 be_ul_mu_mimo_brp_sch_nusers[HTT_TX_PDEV_STATS_NUM_UL_MUMIMO_USER_STATS]; -} htt_tx_pdev_be_ul_mu_mimo_sch_stats_tlv; +} htt_stats_tx_pdev_be_ul_mu_mimo_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_be_ul_mu_mimo_stats_tlv + htt_tx_pdev_be_ul_mu_mimo_sch_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3619,7 +3792,10 @@ typedef struct { A_UINT32 ax_ofdma_mpdu_underrun_usr; /** 11AX MU OFDMA ampdu underrun encountered, per user */ A_UINT32 ax_ofdma_ampdu_underrun_usr; -} htt_tx_pdev_mu_mimo_mpdu_stats_tlv; +} htt_stats_tx_pdev_mumimo_mpdu_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_mumimo_mpdu_stats_tlv + htt_tx_pdev_mu_mimo_mpdu_stats_tlv; #define HTT_STATS_TX_SCHED_MODE_MU_MIMO_AC 1 /* SCHED_TX_MODE_MU_MIMO_AC */ #define HTT_STATS_TX_SCHED_MODE_MU_MIMO_AX 2 /* SCHED_TX_MODE_MU_MIMO_AX */ @@ -3640,7 +3816,9 @@ typedef struct { A_UINT32 user_index; /** HTT_STATS_TX_SCHED_MODE_xxx */ A_UINT32 tx_sched_mode; -} htt_tx_pdev_mpdu_stats_tlv; +} htt_stats_tx_pdev_mpdu_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_mpdu_stats_tlv htt_tx_pdev_mpdu_stats_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_TX_MU * TLV_TAGS: @@ -3652,17 +3830,17 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_tx_pdev_mu_mimo_sch_stats_tlv mu_mimo_sch_stats_tlv[1]; /* WAL_TX_STATS_MAX_GROUP_SIZE */ - htt_tx_pdev_dl_mu_mimo_sch_stats_tlv dl_mu_mimo_sch_stats_tlv[1]; - htt_tx_pdev_ul_mu_mimo_sch_stats_tlv ul_mu_mimo_sch_stats_tlv[1]; - htt_tx_pdev_dl_mu_ofdma_sch_stats_tlv dl_mu_ofdma_sch_stats_tlv[1]; - htt_tx_pdev_ul_mu_ofdma_sch_stats_tlv ul_mu_ofdma_sch_stats_tlv[1]; + htt_stats_tx_pdev_mu_mimo_stats_tlv mu_mimo_sch_stats_tlv[1]; /* WAL_TX_STATS_MAX_GROUP_SIZE */ + htt_stats_tx_pdev_dl_mu_mimo_stats_tlv dl_mu_mimo_sch_stats_tlv[1]; + htt_stats_tx_pdev_ul_mu_mimo_stats_tlv ul_mu_mimo_sch_stats_tlv[1]; + htt_stats_tx_pdev_dl_mu_ofdma_stats_tlv dl_mu_ofdma_sch_stats_tlv[1]; + htt_stats_tx_pdev_ul_mu_ofdma_stats_tlv ul_mu_ofdma_sch_stats_tlv[1]; /* * Note that though mu_mimo_mpdu_stats_tlv is named MU-MIMO, * it can also hold MU-OFDMA stats. */ - htt_tx_pdev_mpdu_stats_tlv mu_mimo_mpdu_stats_tlv[1]; /* WAL_TX_STATS_MAX_NUM_USERS */ - htt_tx_pdev_mumimo_grp_stats_tlv mumimo_grp_stats_tlv; + htt_stats_tx_pdev_mpdu_stats_tlv mu_mimo_mpdu_stats_tlv[1]; /* WAL_TX_STATS_MAX_NUM_USERS */ + htt_stats_tx_pdev_mumimo_grp_stats_tlv mumimo_grp_stats_tlv; } htt_tx_pdev_mu_mimo_stats_t; /* == TX SCHED STATS == */ @@ -3674,7 +3852,9 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; /** Scheduler command posted per tx_mode */ A_UINT32 sched_cmd_posted[1/* length = num tx modes */]; -} htt_sched_txq_cmd_posted_tlv_v; +} htt_stats_sched_txq_cmd_posted_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_sched_txq_cmd_posted_tlv htt_sched_txq_cmd_posted_tlv_v; #define HTT_SCHED_TXQ_CMD_REAPED_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) @@ -3683,7 +3863,9 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; /** Scheduler command reaped per tx_mode */ A_UINT32 sched_cmd_reaped[1/* length = num tx modes */]; -} htt_sched_txq_cmd_reaped_tlv_v; +} htt_stats_sched_txq_cmd_reaped_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_sched_txq_cmd_reaped_tlv htt_sched_txq_cmd_reaped_tlv_v; #define HTT_SCHED_TXQ_SCHED_ORDER_SU_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) @@ -3698,7 +3880,9 @@ typedef struct { * the (NUM_SCHED_ORDER_LOG-1) most recent scheduler invocation. */ A_UINT32 sched_order_su[1]; /* HTT_TX_PDEV_NUM_SCHED_ORDER_LOG */ -} htt_sched_txq_sched_order_su_tlv_v; +} htt_stats_sched_txq_sched_order_su_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_sched_txq_sched_order_su_tlv htt_sched_txq_sched_order_su_tlv_v; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -3764,7 +3948,10 @@ typedef struct { * Indexed by htt_sched_txq_sched_ineligibility_tlv_enum. */ A_UINT32 sched_ineligibility[1]; -} htt_sched_txq_sched_ineligibility_tlv_v; +} htt_stats_sched_txq_sched_ineligibility_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_sched_txq_sched_ineligibility_tlv + htt_sched_txq_sched_ineligibility_tlv_v; typedef enum { HTT_SCHED_SUPERCYCLE_TRIGGER_NONE = 0, /* Supercycle not triggered */ @@ -3793,7 +3980,10 @@ typedef struct { * are reset upon request. */ A_UINT32 supercycle_triggers[1/*HTT_SCHED_SUPERCYCLE_TRIGGER_MAX*/]; -} htt_sched_txq_supercycle_triggers_tlv_v; +} htt_stats_sched_txq_supercycle_trigger_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_sched_txq_supercycle_trigger_tlv + htt_sched_txq_supercycle_triggers_tlv_v; #define HTT_TX_PDEV_STATS_SCHED_PER_TXQ_MAC_ID_M 0x000000ff #define HTT_TX_PDEV_STATS_SCHED_PER_TXQ_MAC_ID_S 0 @@ -3889,7 +4079,10 @@ typedef struct { A_UINT32 num_subcycles_with_sort; /** Num of subcycles without sort for this Txq */ A_UINT32 num_subcycles_no_sort; -} htt_tx_pdev_stats_sched_per_txq_tlv; +} htt_stats_tx_pdev_scheduler_txq_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_scheduler_txq_stats_tlv + htt_tx_pdev_stats_sched_per_txq_tlv; #define HTT_STATS_TX_SCHED_CMN_MAC_ID_M 0x000000ff #define HTT_STATS_TX_SCHED_CMN_MAC_ID_S 0 @@ -3932,13 +4125,13 @@ typedef struct { */ typedef struct { htt_stats_tx_sched_cmn_tlv cmn_tlv; - struct _txq_tx_sched_stats { - htt_tx_pdev_stats_sched_per_txq_tlv txq_tlv; - htt_sched_txq_cmd_posted_tlv_v cmd_posted_tlv; - htt_sched_txq_cmd_reaped_tlv_v cmd_reaped_tlv; - htt_sched_txq_sched_order_su_tlv_v sched_order_su_tlv; - htt_sched_txq_sched_ineligibility_tlv_v sched_ineligibility_tlv; - htt_sched_txq_supercycle_triggers_tlv_v sched_supercycle_trigger_tlv; + struct { + htt_stats_tx_pdev_scheduler_txq_stats_tlv txq_tlv; + htt_stats_sched_txq_cmd_posted_tlv cmd_posted_tlv; + htt_stats_sched_txq_cmd_reaped_tlv cmd_reaped_tlv; + htt_stats_sched_txq_sched_order_su_tlv sched_order_su_tlv; + htt_stats_sched_txq_sched_ineligibility_tlv sched_ineligibility_tlv; + htt_stats_sched_txq_supercycle_trigger_tlv htt_sched_txq_sched_ineligibility_tlv_esched_supercycle_trigger_tlv; } txq[1]; } htt_stats_tx_sched_t; @@ -3954,7 +4147,9 @@ typedef struct { typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 gen_mpdu_end_reason[1]; /* HTT_TX_TQM_MAX_GEN_MPDU_END_REASON */ -} htt_tx_tqm_gen_mpdu_stats_tlv_v; +} htt_stats_tx_tqm_gen_mpdu_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_tqm_gen_mpdu_tlv htt_tx_tqm_gen_mpdu_stats_tlv_v; #define HTT_TX_TQM_LIST_MPDU_STATS_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) @@ -3962,7 +4157,9 @@ typedef struct { typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 list_mpdu_end_reason[1]; /* HTT_TX_TQM_MAX_LIST_MPDU_END_REASON */ -} htt_tx_tqm_list_mpdu_stats_tlv_v; +} htt_stats_tx_tqm_list_mpdu_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_tqm_list_mpdu_tlv htt_tx_tqm_list_mpdu_stats_tlv_v; #define HTT_TX_TQM_LIST_MPDU_CNT_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) @@ -3970,7 +4167,9 @@ typedef struct { typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 list_mpdu_cnt_hist[1]; /* HTT_TX_TQM_MAX_LIST_MPDU_CNT_HISTOGRAM_BINS */ -} htt_tx_tqm_list_mpdu_cnt_tlv_v; +} htt_stats_tx_tqm_list_mpdu_cnt_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_tqm_list_mpdu_cnt_tlv htt_tx_tqm_list_mpdu_cnt_tlv_v; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -4017,7 +4216,9 @@ typedef struct { A_UINT32 sched_udp_notify2; A_UINT32 sched_nonudp_notify1; A_UINT32 sched_nonudp_notify2; -} htt_tx_tqm_pdev_stats_tlv_v; +} htt_stats_tx_tqm_pdev_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_tqm_pdev_tlv htt_tx_tqm_pdev_stats_tlv_v; #define HTT_TX_TQM_CMN_STATS_MAC_ID_M 0x000000ff #define HTT_TX_TQM_CMN_STATS_MAC_ID_S 0 @@ -4063,7 +4264,9 @@ typedef struct { A_UINT32 total_get_mpdu_head_info_cmds_by_tac; A_UINT32 total_gen_mpdu_cmds_by_sched_algo_la_query; A_UINT32 high_prio_q_not_empty; -} htt_tx_tqm_cmn_stats_tlv; +} htt_stats_tx_tqm_cmn_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_tqm_cmn_tlv htt_tx_tqm_cmn_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -4090,7 +4293,9 @@ typedef struct { A_UINT32 tqm_reset_flush_cache_cmd_trig_type; A_UINT32 tqm_reset_flush_cache_cmd_trig_cfg; A_UINT32 tqm_reset_flush_cache_cmd_skip_cmd_status_null; -} htt_tx_tqm_error_stats_tlv; +} htt_stats_tx_tqm_error_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_tqm_error_stats_tlv htt_tx_tqm_error_stats_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_TQM * TLV_TAGS: @@ -4106,12 +4311,12 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_tx_tqm_cmn_stats_tlv cmn_tlv; - htt_tx_tqm_error_stats_tlv err_tlv; - htt_tx_tqm_gen_mpdu_stats_tlv_v gen_mpdu_stats_tlv; - htt_tx_tqm_list_mpdu_stats_tlv_v list_mpdu_stats_tlv; - htt_tx_tqm_list_mpdu_cnt_tlv_v list_mpdu_cnt_tlv; - htt_tx_tqm_pdev_stats_tlv_v tqm_pdev_stats_tlv; + htt_stats_tx_tqm_cmn_tlv cmn_tlv; + htt_stats_tx_tqm_error_stats_tlv err_tlv; + htt_stats_tx_tqm_gen_mpdu_tlv gen_mpdu_stats_tlv; + htt_stats_tx_tqm_list_mpdu_tlv list_mpdu_stats_tlv; + htt_stats_tx_tqm_list_mpdu_cnt_tlv list_mpdu_cnt_tlv; + htt_stats_tx_tqm_pdev_tlv tqm_pdev_stats_tlv; } htt_tx_tqm_pdev_stats_t; /* == TQM CMDQ stats == */ @@ -4161,7 +4366,9 @@ typedef struct { A_UINT32 flush_cache_cmd; A_UINT32 update_mpduq_cmd; A_UINT32 update_msduq_cmd; -} htt_tx_tqm_cmdq_status_tlv; +} htt_stats_tx_tqm_cmdq_status_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_tqm_cmdq_status_tlv htt_tx_tqm_cmdq_status_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_TQM_CMDQ * TLV_TAGS: @@ -4173,9 +4380,9 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - struct _cmdq_stats { - htt_stats_string_tlv cmdq_str_tlv; - htt_tx_tqm_cmdq_status_tlv status_tlv; + struct { + htt_stats_string_tlv cmdq_str_tlv; + htt_stats_tx_tqm_cmdq_status_tlv status_tlv; } q[1]; } htt_tx_tqm_cmdq_stats_t; @@ -4195,7 +4402,9 @@ typedef struct { A_UINT32 eapol_start_packets; A_UINT32 eapol_logoff_packets; A_UINT32 eapol_encap_asf_packets; -} htt_tx_de_eapol_packets_stats_tlv; +} htt_stats_tx_de_eapol_packets_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_de_eapol_packets_tlv htt_tx_de_eapol_packets_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -4218,7 +4427,9 @@ typedef struct { A_UINT32 incomplete_llc; A_UINT32 eapol_duplicate_m3; A_UINT32 eapol_duplicate_m4; -} htt_tx_de_classify_failed_stats_tlv; +} htt_stats_tx_de_classify_failed_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_de_classify_failed_tlv htt_tx_de_classify_failed_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -4260,7 +4471,9 @@ typedef struct { * multicast/broadcast packets received on STA side. */ A_UINT32 mec_notify; -} htt_tx_de_classify_stats_tlv; +} htt_stats_tx_de_classify_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_de_classify_stats_tlv htt_tx_de_classify_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -4272,21 +4485,27 @@ typedef struct { A_UINT32 send_host_unknown_dest; A_UINT32 send_host; A_UINT32 status_invalid; -} htt_tx_de_classify_status_stats_tlv; +} htt_stats_tx_de_classify_status_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_de_classify_status_tlv htt_tx_de_classify_status_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 enqueued_pkts; A_UINT32 to_tqm; A_UINT32 to_tqm_bypass; -} htt_tx_de_enqueue_packets_stats_tlv; +} htt_stats_tx_de_enqueue_packets_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_de_enqueue_packets_tlv htt_tx_de_enqueue_packets_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 discarded_pkts; A_UINT32 local_frames; A_UINT32 is_ext_msdu; -} htt_tx_de_enqueue_discard_stats_tlv; +} htt_stats_tx_de_enqueue_discard_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_de_enqueue_discard_tlv htt_tx_de_enqueue_discard_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -4295,7 +4514,9 @@ typedef struct { A_UINT32 tqm_notify_frame; A_UINT32 fw2wbm_enq; A_UINT32 tqm_bypass_frame; -} htt_tx_de_compl_stats_tlv; +} htt_stats_tx_de_compl_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_de_compl_stats_tlv htt_tx_de_compl_stats_tlv; #define HTT_TX_DE_CMN_STATS_MAC_ID_M 0x000000ff #define HTT_TX_DE_CMN_STATS_MAC_ID_S 0 @@ -4325,7 +4546,10 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 fw2wbm_ring_full_hist[1]; -} htt_tx_de_fw2wbm_ring_full_hist_tlv; +} htt_stats_tx_de_fw2wbm_ring_full_hist_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_de_fw2wbm_ring_full_hist_tlv + htt_tx_de_fw2wbm_ring_full_hist_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -4346,7 +4570,9 @@ typedef struct { A_UINT32 invalid_vdev; A_UINT32 invalid_tcl_exp_frame_desc; A_UINT32 vdev_id_mismatch_cnt; -} htt_tx_de_cmn_stats_tlv; +} htt_stats_tx_de_cmn_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_de_cmn_tlv htt_tx_de_cmn_stats_tlv; #define HTT_STATS_RX_FW_RING_SIZE_NUM_ENTRIES(dword) ((dword >> 0) & 0xffff) #define HTT_STATS_RX_FW_RING_CURR_NUM_ENTRIES(dword) ((dword >> 16) & 0xffff) @@ -4382,7 +4608,9 @@ typedef struct { * element 2: above 500ms */ A_UINT32 reo2sw4ringipa_backpress_hist[3]; -} htt_rx_fw_ring_stats_tlv_v; +} htt_stats_rx_ring_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_ring_stats_tlv htt_rx_fw_ring_stats_tlv_v; /* STATS_TYPE : HTT_DBG_EXT_STATS_TX_DE_INFO * TLV_TAGS: @@ -4401,15 +4629,15 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_tx_de_cmn_stats_tlv cmn_tlv; - htt_tx_de_fw2wbm_ring_full_hist_tlv fw2wbm_hist_tlv; - htt_tx_de_eapol_packets_stats_tlv eapol_stats_tlv; - htt_tx_de_classify_stats_tlv classify_stats_tlv; - htt_tx_de_classify_failed_stats_tlv classify_failed_tlv; - htt_tx_de_classify_status_stats_tlv classify_status_rlv; - htt_tx_de_enqueue_packets_stats_tlv enqueue_packets_tlv; - htt_tx_de_enqueue_discard_stats_tlv enqueue_discard_tlv; - htt_tx_de_compl_stats_tlv comp_status_tlv; + htt_stats_tx_de_cmn_tlv cmn_tlv; + htt_stats_tx_de_fw2wbm_ring_full_hist_tlv fw2wbm_hist_tlv; + htt_stats_tx_de_eapol_packets_tlv eapol_stats_tlv; + htt_stats_tx_de_classify_stats_tlv classify_stats_tlv; + htt_stats_tx_de_classify_failed_tlv classify_failed_tlv; + htt_stats_tx_de_classify_status_tlv classify_status_rlv; + htt_stats_tx_de_enqueue_packets_tlv enqueue_packets_tlv; + htt_stats_tx_de_enqueue_discard_tlv enqueue_discard_tlv; + htt_stats_tx_de_compl_stats_tlv comp_status_tlv; } htt_tx_de_stats_t; /* == RING-IF STATS == */ @@ -4558,7 +4786,9 @@ typedef struct { A_UINT32 cons_blockwait_count; A_UINT32 low_wm_hit_count[HTT_STATS_LOW_WM_BINS]; A_UINT32 high_wm_hit_count[HTT_STATS_HIGH_WM_BINS]; -} htt_ring_if_stats_tlv; +} htt_stats_ring_if_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_ring_if_tlv htt_ring_if_stats_tlv; #define HTT_RING_IF_CMN_MAC_ID_M 0x000000ff #define HTT_RING_IF_CMN_MAC_ID_S 0 @@ -4582,7 +4812,9 @@ typedef struct { */ A_UINT32 mac_id__word; A_UINT32 num_records; -} htt_ring_if_cmn_tlv; +} htt_stats_ring_if_cmn_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_ring_if_cmn_tlv htt_ring_if_cmn_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_RING_IF_INFO * TLV_TAGS: @@ -4595,11 +4827,11 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_ring_if_cmn_tlv cmn_tlv; + htt_stats_ring_if_cmn_tlv cmn_tlv; /** Variable based on the Number of records. */ - struct _ring_if { + struct { htt_stats_string_tlv ring_str_tlv; - htt_ring_if_stats_tlv ring_tlv; + htt_stats_ring_if_tlv ring_tlv; } r[1]; } htt_ring_if_stats_t; @@ -4612,7 +4844,9 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; /** Number of DWORDS used per user and per client */ A_UINT32 dwords_used_by_user_n[1]; -} htt_sfm_client_user_tlv_v; +} htt_stats_sfm_client_user_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_sfm_client_user_tlv htt_sfm_client_user_tlv_v; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -4630,7 +4864,9 @@ typedef struct { A_UINT32 buf_avail; /** Number of users */ A_UINT32 num_users; -} htt_sfm_client_tlv; +} htt_stats_sfm_client_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_sfm_client_tlv htt_sfm_client_tlv; #define HTT_SFM_CMN_MAC_ID_M 0x000000ff #define HTT_SFM_CMN_MAC_ID_S 0 @@ -4667,7 +4903,9 @@ typedef struct { A_UINT32 deallocate_bufs; /** Number of Records */ A_UINT32 num_records; -} htt_sfm_cmn_tlv; +} htt_stats_sfm_cmn_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_sfm_cmn_tlv htt_sfm_cmn_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_RING_IF_INFO * TLV_TAGS: @@ -4681,12 +4919,12 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_sfm_cmn_tlv cmn_tlv; + htt_stats_sfm_cmn_tlv cmn_tlv; /** Variable based on the Number of records. */ - struct _sfm_client { - htt_stats_string_tlv client_str_tlv; - htt_sfm_client_tlv client_tlv; - htt_sfm_client_user_tlv_v user_tlv; + struct { + htt_stats_string_tlv client_str_tlv; + htt_stats_sfm_client_tlv client_tlv; + htt_stats_sfm_client_user_tlv user_tlv; } r[1]; } htt_sfm_stats_t; @@ -4895,12 +5133,16 @@ typedef struct { * BIT [31 : 16] :- internal_tail_ptr */ A_UINT32 prefetch_count__internal_tail_ptr; -} htt_sring_stats_tlv; +} htt_stats_sring_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_sring_stats_tlv htt_sring_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 num_records; -} htt_sring_cmn_tlv; +} htt_stats_sring_cmn_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_sring_cmn_tlv htt_sring_cmn_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_SRNG_INFO * TLV_TAGS: @@ -4913,11 +5155,11 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_sring_cmn_tlv cmn_tlv; + htt_stats_sring_cmn_tlv cmn_tlv; /** Variable based on the Number of records */ - struct _sring_stats { + struct { htt_stats_string_tlv sring_str_tlv; - htt_sring_stats_tlv sring_stats_tlv; + htt_stats_sring_stats_tlv sring_stats_tlv; } r[1]; } htt_sring_stats_t; @@ -5145,7 +5387,9 @@ typedef struct { A_UINT32 trigger_type_11be[HTT_TX_PDEV_STATS_NUM_11BE_TRIGGER_TYPES]; /** Stats for Extra EHT LTF */ A_UINT32 extra_eht_ltf; -} htt_tx_pdev_rate_stats_tlv; +} htt_stats_tx_pdev_rate_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_rate_stats_tlv htt_tx_pdev_rate_stats_tlv; typedef struct { /* 11be mode pdev rate stats; placed in a separate TLV to adhere to size restrictions */ @@ -5160,7 +5404,9 @@ typedef struct { A_UINT32 be_mu_mimo_tx_gi[HTT_TX_PDEV_STATS_NUM_GI_COUNTERS][HTT_TX_PDEV_STATS_NUM_BE_MCS_COUNTERS]; /** 11BE DL MU MIMO LDPC count */ A_UINT32 be_mu_mimo_tx_ldpc; -} htt_tx_pdev_rate_stats_be_tlv; +} htt_stats_tx_pdev_be_rate_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_be_rate_stats_tlv htt_tx_pdev_rate_stats_be_tlv; typedef struct { /* @@ -5200,7 +5446,9 @@ typedef struct { /** Indicates how many within SIFS burst failed to deliver any pkt */ A_UINT32 su_burst_rate_drop_fail_cnt; -} htt_tx_pdev_rate_stats_sawf_tlv; +} htt_stats_tx_pdev_sawf_rate_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_sawf_rate_stats_tlv htt_tx_pdev_rate_stats_sawf_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -5227,7 +5475,10 @@ typedef struct { A_UINT32 be_ofdma_tx_ru_size[HTT_TX_PDEV_STATS_NUM_BE_RU_SIZE_COUNTERS]; /** 11BE EHT DL MU OFDMA EHT-SIG MCS stats */ A_UINT32 be_ofdma_eht_sig_mcs[HTT_TX_PDEV_STATS_NUM_EHT_SIG_MCS_COUNTERS]; -} htt_tx_pdev_rate_stats_be_ofdma_tlv; +} htt_stats_tx_pdev_rate_stats_be_ofdma_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_rate_stats_be_ofdma_tlv + htt_tx_pdev_rate_stats_be_ofdma_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -5239,7 +5490,9 @@ typedef struct { A_UINT32 tx_fail_time_us_high; A_UINT32 pdev_up_time_us_low; A_UINT32 pdev_up_time_us_high; -} htt_tx_pdev_ppdu_dur_stats_tlv; +} htt_stats_tx_pdev_ppdu_dur_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_pdev_ppdu_dur_tlv htt_tx_pdev_ppdu_dur_stats_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_TX_RATE * TLV_TAGS: @@ -5250,10 +5503,10 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_tx_pdev_rate_stats_tlv rate_tlv; - htt_tx_pdev_rate_stats_be_tlv rate_be_tlv; - htt_tx_pdev_rate_stats_sawf_tlv rate_sawf_tlv; - htt_tx_pdev_ppdu_dur_stats_tlv tx_ppdu_dur_tlv; + htt_stats_tx_pdev_rate_stats_tlv rate_tlv; + htt_stats_tx_pdev_be_rate_stats_tlv rate_be_tlv; + htt_stats_tx_pdev_sawf_rate_stats_tlv rate_sawf_tlv; + htt_stats_tx_pdev_ppdu_dur_tlv tx_ppdu_dur_tlv; } htt_tx_pdev_rate_stats_t; /* == PDEV RX RATE CTRL STATS == */ @@ -5500,13 +5753,17 @@ typedef struct { * No further fields should be added to this TLV without very careful * review to ensure the size increase is acceptable. */ -} htt_rx_pdev_rate_stats_tlv; +} htt_stats_rx_pdev_rate_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_rate_stats_tlv htt_rx_pdev_rate_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; /** Tx PPDU duration histogram **/ A_UINT32 rx_ppdu_dur_hist[HTT_PDEV_STATS_PPDU_DUR_HIST_BINS]; -} htt_rx_pdev_ppdu_dur_stats_tlv; +} htt_stats_rx_pdev_ppdu_dur_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_ppdu_dur_tlv htt_rx_pdev_ppdu_dur_stats_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_RX_RATE * TLV_TAGS: @@ -5517,8 +5774,8 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_rx_pdev_rate_stats_tlv rate_tlv; - htt_rx_pdev_ppdu_dur_stats_tlv rx_ppdu_dur_tlv; + htt_stats_rx_pdev_rate_stats_tlv rate_tlv; + htt_stats_rx_pdev_ppdu_dur_tlv rx_ppdu_dur_tlv; } htt_rx_pdev_rate_stats_t; typedef struct { @@ -5550,7 +5807,9 @@ typedef struct { A_UINT32 reduced_rx_bw[HTT_RX_PDEV_STATS_NUM_REDUCED_CHAN_TYPES][HTT_RX_PDEV_STATS_NUM_BW_COUNTERS]; A_UINT8 rssi_chain_ext_2[HTT_RX_PDEV_STATS_NUM_SPATIAL_STREAMS][HTT_RX_PDEV_STATS_NUM_BW_EXT_2_COUNTERS]; /* units = dB above noise floor */ A_INT8 rx_per_chain_rssi_ext_2_in_dbm[HTT_RX_PDEV_STATS_NUM_SPATIAL_STREAMS][HTT_RX_PDEV_STATS_NUM_BW_EXT_2_COUNTERS]; -} htt_rx_pdev_rate_ext_stats_tlv; +} htt_stats_rx_pdev_rate_ext_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_rate_ext_stats_tlv htt_rx_pdev_rate_ext_stats_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_RX_RATE_EXT * TLV_TAGS: @@ -5561,7 +5820,7 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_rx_pdev_rate_ext_stats_tlv rate_tlv; + htt_stats_rx_pdev_rate_ext_stats_tlv rate_tlv; } htt_rx_pdev_rate_ext_stats_t; #define HTT_STATS_CMN_MAC_ID_M 0x000000ff @@ -5636,7 +5895,9 @@ typedef struct { * response to basic trigger. Typically a data response is expected. */ A_UINT32 ul_ofdma_basic_trigger_rx_qos_null_only; -} htt_rx_pdev_ul_trigger_stats_tlv; +} htt_stats_rx_pdev_ul_trig_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_ul_trig_stats_tlv htt_rx_pdev_ul_trigger_stats_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_UL_TRIG_STATS * TLV_TAGS: @@ -5646,7 +5907,7 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_rx_pdev_ul_trigger_stats_tlv ul_trigger_tlv; + htt_stats_rx_pdev_ul_trig_stats_tlv ul_trigger_tlv; } htt_rx_pdev_ul_trigger_stats_t; typedef struct { @@ -5713,7 +5974,10 @@ typedef struct { A_UINT32 ul_mlo_proc_qdepth_params_count; A_UINT32 ul_mlo_proc_accepted_qdepth_params_count; A_UINT32 ul_mlo_proc_discarded_qdepth_params_count; -} htt_rx_pdev_be_ul_trigger_stats_tlv; +} htt_stats_rx_pdev_be_ul_trig_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_be_ul_trig_stats_tlv + htt_rx_pdev_be_ul_trigger_stats_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_UL_TRIG_STATS * TLV_TAGS: @@ -5723,7 +5987,7 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_rx_pdev_be_ul_trigger_stats_tlv ul_trigger_tlv; + htt_stats_rx_pdev_be_ul_trig_stats_tlv ul_trigger_tlv; } htt_rx_pdev_be_ul_trigger_stats_t; typedef struct { @@ -5740,7 +6004,10 @@ typedef struct { A_UINT32 rx_ulofdma_mpdu_fail; A_UINT32 rx_ulofdma_non_data_nusers; A_UINT32 rx_ulofdma_data_nusers; -} htt_rx_pdev_ul_ofdma_user_stats_tlv; +} htt_stats_rx_pdev_ul_ofdma_user_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_ul_ofdma_user_stats_tlv + htt_rx_pdev_ul_ofdma_user_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -5756,7 +6023,10 @@ typedef struct { A_UINT32 be_rx_ulofdma_mpdu_fail; A_UINT32 be_rx_ulofdma_non_data_nusers; A_UINT32 be_rx_ulofdma_data_nusers; -} htt_rx_pdev_be_ul_ofdma_user_stats_tlv; +} htt_stats_rx_pdev_be_ul_ofdma_user_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_be_ul_ofdma_user_stats_tlv + htt_rx_pdev_be_ul_ofdma_user_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -5770,7 +6040,10 @@ typedef struct { A_UINT32 rx_ulmumimo_mpdu_ok; /** MPDU level */ A_UINT32 rx_ulmumimo_mpdu_fail; -} htt_rx_pdev_ul_mimo_user_stats_tlv; +} htt_stats_rx_pdev_ul_mimo_user_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_ul_mimo_user_stats_tlv + htt_rx_pdev_ul_mimo_user_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -5784,7 +6057,10 @@ typedef struct { A_UINT32 be_rx_ulmumimo_mpdu_ok; /** MPDU level */ A_UINT32 be_rx_ulmumimo_mpdu_fail; -} htt_rx_pdev_be_ul_mimo_user_stats_tlv; +} htt_stats_rx_pdev_be_ul_mimo_user_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_be_ul_mimo_user_stats_tlv + htt_rx_pdev_be_ul_mimo_user_stats_tlv; /* == RX PDEV/SOC STATS == */ @@ -5842,7 +6118,10 @@ typedef struct { * response to basic trigger. Typically a data response is expected. */ A_UINT32 ul_mumimo_basic_trigger_rx_qos_null_only; -} htt_rx_pdev_ul_mumimo_trig_stats_tlv; +} htt_stats_rx_pdev_ul_mumimo_trig_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_ul_mumimo_trig_stats_tlv + htt_rx_pdev_ul_mumimo_trig_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -5895,7 +6174,10 @@ typedef struct { * in response to basic trigger. Typically a data response is expected. */ A_UINT32 be_ul_mumimo_basic_trigger_rx_qos_null_only; -} htt_rx_pdev_ul_mumimo_trig_be_stats_tlv; +} htt_stats_rx_pdev_ul_mumimo_trig_be_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_ul_mumimo_trig_be_stats_tlv + htt_rx_pdev_ul_mumimo_trig_be_stats_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_UL_MUMIMO_TRIG_STATS * TLV_TAGS: @@ -5903,8 +6185,8 @@ typedef struct { * - HTT_STATS_RX_PDEV_UL_MUMIMO_TRIG_BE_STATS_TAG */ typedef struct { - htt_rx_pdev_ul_mumimo_trig_stats_tlv ul_mumimo_trig_tlv; - htt_rx_pdev_ul_mumimo_trig_be_stats_tlv ul_mumimo_trig_be_tlv; + htt_stats_rx_pdev_ul_mumimo_trig_stats_tlv ul_mumimo_trig_tlv; + htt_stats_rx_pdev_ul_mumimo_trig_be_stats_tlv ul_mumimo_trig_be_tlv; } htt_rx_pdev_ul_mumimo_trig_stats_t; typedef struct { @@ -5937,7 +6219,9 @@ typedef struct { * including packets from WBM and REO */ A_UINT32 target_refill_ring_recycle_cnt; -} htt_rx_soc_fw_stats_tlv; +} htt_stats_rx_soc_fw_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_soc_fw_stats_tlv htt_rx_soc_fw_stats_tlv; #define HTT_RX_SOC_FW_REFILL_RING_EMPTY_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) @@ -5946,7 +6230,10 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; /** Num ring empty encountered */ A_UINT32 refill_ring_empty_cnt[1]; /* HTT_RX_STATS_REFILL_MAX_RING */ -} htt_rx_soc_fw_refill_ring_empty_tlv_v; +} htt_stats_rx_soc_fw_refill_ring_empty_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_soc_fw_refill_ring_empty_tlv + htt_rx_soc_fw_refill_ring_empty_tlv_v; #define HTT_RX_SOC_FW_REFILL_RING_EMPTY_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) @@ -5955,7 +6242,10 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; /** Num total buf refilled from refill ring */ A_UINT32 refill_ring_num_refill[1]; /* HTT_RX_STATS_REFILL_MAX_RING */ -} htt_rx_soc_fw_refill_ring_num_refill_tlv_v; +} htt_stats_rx_soc_fw_refill_ring_num_refill_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_soc_fw_refill_ring_num_refill_tlv + htt_rx_soc_fw_refill_ring_num_refill_tlv_v; /* RXDMA error code from WBM released packets */ typedef enum { @@ -5997,7 +6287,10 @@ typedef struct { * indices are >= the MAX_ERR_CODE value the host was compiled with. */ A_UINT32 rxdma_err[1]; /* HTT_RX_RXDMA_MAX_ERR_CODE */ -} htt_rx_soc_fw_refill_ring_num_rxdma_err_tlv_v; +} htt_stats_rx_refill_rxdma_err_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_refill_rxdma_err_tlv + htt_rx_soc_fw_refill_ring_num_rxdma_err_tlv_v; /* REO error code from WBM released packets */ typedef enum { @@ -6039,18 +6332,22 @@ typedef struct { * indices are >= the MAX_ERR_CODE value the host was compiled with. */ A_UINT32 reo_err[1]; /* HTT_RX_REO_MAX_ERR_CODE */ -} htt_rx_soc_fw_refill_ring_num_reo_err_tlv_v; +} htt_stats_rx_refill_reo_err_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_refill_reo_err_tlv + htt_rx_soc_fw_refill_ring_num_reo_err_tlv_v; /* NOTE: * This structure is for documentation, and cannot be safely used directly. * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_rx_soc_fw_stats_tlv fw_tlv; - htt_rx_soc_fw_refill_ring_empty_tlv_v fw_refill_ring_empty_tlv; - htt_rx_soc_fw_refill_ring_num_refill_tlv_v fw_refill_ring_num_refill_tlv; - htt_rx_soc_fw_refill_ring_num_rxdma_err_tlv_v fw_refill_ring_num_rxdma_err_tlv; - htt_rx_soc_fw_refill_ring_num_reo_err_tlv_v fw_refill_ring_num_reo_err_tlv; + htt_stats_rx_soc_fw_stats_tlv fw_tlv; + htt_stats_rx_soc_fw_refill_ring_empty_tlv fw_refill_ring_empty_tlv; + htt_stats_rx_soc_fw_refill_ring_num_refill_tlv + fw_refill_ring_num_refill_tlv; + htt_stats_rx_refill_rxdma_err_tlv fw_refill_ring_num_rxdma_err_tlv; + htt_stats_rx_refill_reo_err_tlv fw_refill_ring_num_reo_err_tlv; } htt_rx_soc_stats_t; /* == RX PDEV STATS == */ @@ -6169,7 +6466,9 @@ typedef struct { A_UINT32 rx_flush_cnt; /** Num rx recovery */ A_UINT32 rx_recovery_reset_cnt; -} htt_rx_pdev_fw_stats_tlv; +} htt_stats_rx_pdev_fw_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_fw_stats_tlv htt_rx_pdev_fw_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -6179,7 +6478,10 @@ typedef struct { A_UINT32 peer_tx_mgmt_subtype[HTT_STATS_SUBTYPE_MAX]; /** Num of rx mgmt frames with subtype on peer level */ A_UINT32 peer_rx_mgmt_subtype[HTT_STATS_SUBTYPE_MAX]; -} htt_peer_ctrl_path_txrx_stats_tlv; +} htt_stats_peer_ctrl_path_txrx_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_peer_ctrl_path_txrx_stats_tlv + htt_peer_ctrl_path_txrx_stats_tlv; #define HTT_STATS_PHY_ERR_MAX 43 @@ -6242,7 +6544,9 @@ typedef struct { * 42 phyrx_err_other */ A_UINT32 phy_err[HTT_STATS_PHY_ERR_MAX]; -} htt_rx_pdev_fw_stats_phy_err_tlv; +} htt_stats_rx_pdev_fw_stats_phy_err_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_fw_stats_phy_err_tlv htt_rx_pdev_fw_stats_phy_err_tlv; #define HTT_RX_PDEV_FW_RING_MPDU_ERR_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) @@ -6251,7 +6555,10 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; /** Num error MPDU for each RxDMA error type */ A_UINT32 fw_ring_mpdu_err[1]; /* HTT_RX_STATS_RXDMA_MAX_ERR */ -} htt_rx_pdev_fw_ring_mpdu_err_tlv_v; +} htt_stats_rx_pdev_fw_ring_mpdu_err_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_fw_ring_mpdu_err_tlv + htt_rx_pdev_fw_ring_mpdu_err_tlv_v; #define HTT_RX_PDEV_FW_MPDU_DROP_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems)) @@ -6260,7 +6567,9 @@ typedef struct { htt_tlv_hdr_t tlv_hdr; /** Num MPDU dropped */ A_UINT32 fw_mpdu_drop[1]; /* HTT_RX_STATS_FW_DROP_REASON_MAX */ -} htt_rx_pdev_fw_mpdu_drop_tlv_v; +} htt_stats_rx_pdev_fw_mpdu_drop_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_pdev_fw_mpdu_drop_tlv htt_rx_pdev_fw_mpdu_drop_tlv_v; /* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_RX * TLV_TAGS: @@ -6277,10 +6586,10 @@ typedef struct { */ typedef struct { htt_rx_soc_stats_t soc_stats; - htt_rx_pdev_fw_stats_tlv fw_stats_tlv; - htt_rx_pdev_fw_ring_mpdu_err_tlv_v fw_ring_mpdu_err_tlv; - htt_rx_pdev_fw_mpdu_drop_tlv_v fw_ring_mpdu_drop; - htt_rx_pdev_fw_stats_phy_err_tlv fw_stats_phy_err_tlv; + htt_stats_rx_pdev_fw_stats_tlv fw_stats_tlv; + htt_stats_rx_pdev_fw_ring_mpdu_err_tlv fw_ring_mpdu_err_tlv; + htt_stats_rx_pdev_fw_mpdu_drop_tlv fw_ring_mpdu_drop; + htt_stats_rx_pdev_fw_stats_phy_err_tlv fw_stats_phy_err_tlv; } htt_rx_pdev_stats_t; /* STATS_TYPE : HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS @@ -6289,7 +6598,7 @@ typedef struct { * */ typedef struct { - htt_peer_ctrl_path_txrx_stats_tlv peer_ctrl_path_txrx_stats_tlv; + htt_stats_peer_ctrl_path_txrx_stats_tlv peer_ctrl_path_txrx_stats_tlv; } htt_ctrl_path_txrx_stats_t; #define HTT_PDEV_CCA_STATS_TX_FRAME_INFO_PRESENT (0x1) @@ -6314,7 +6623,9 @@ typedef struct { A_UINT32 med_tx_idle_global_usec; A_UINT32 cca_obss_usec; A_UINT32 pre_rx_frame_usec; -} htt_pdev_stats_cca_counters_tlv; +} htt_stats_pdev_cca_counters_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pdev_cca_counters_tlv htt_pdev_stats_cca_counters_tlv; /* NOTE: THIS htt_pdev_cca_stats_hist_tlv STRUCTURE IS DEPRECATED, * due to lack of support in some host stats infrastructures for @@ -6359,7 +6670,7 @@ typedef struct { * Then the pdev_cca_stats[0] element contains the oldest CCA stats * and pdev_cca_stats[N-1] will have the most recent CCA stats. */ - htt_pdev_stats_cca_counters_tlv cca_hist_tlv[1]; + htt_stats_pdev_cca_counters_tlv cca_hist_tlv[1]; } htt_pdev_cca_stats_hist_tlv; typedef struct { @@ -6485,7 +6796,9 @@ typedef struct { A_UINT32 wake_dura_us; A_UINT32 wake_intvl_us; A_UINT32 sp_offset_us; -} htt_pdev_stats_twt_session_tlv; +} htt_stats_pdev_twt_session_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pdev_twt_session_tlv htt_pdev_stats_twt_session_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -6493,8 +6806,10 @@ typedef struct { A_UINT32 pdev_id; A_UINT32 num_sessions; - htt_pdev_stats_twt_session_tlv twt_session[1]; -} htt_pdev_stats_twt_sessions_tlv; + htt_stats_pdev_twt_session_tlv twt_session[1]; +} htt_stats_pdev_twt_sessions_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pdev_twt_sessions_tlv htt_pdev_stats_twt_sessions_tlv; /* STATS_TYPE: HTT_DBG_EXT_STATS_TWT_SESSIONS * TLV_TAGS: @@ -6506,7 +6821,7 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_pdev_stats_twt_sessions_tlv twt_sessions[1]; + htt_stats_pdev_twt_session_tlv twt_sessions[1]; } htt_pdev_twt_sessions_stats_t; typedef enum { @@ -6551,7 +6866,9 @@ typedef struct { A_UINT32 last_non_zeros_avg; /** Num of last non zero samples */ A_UINT32 last_non_zeros_sample; -} htt_rx_reo_resource_stats_tlv_v; +} htt_stats_rx_reo_resource_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_reo_resource_stats_tlv htt_rx_reo_resource_stats_tlv_v; /* STATS_TYPE: HTT_DBG_EXT_STATS_REO_RESOURCE_STATS * TLV_TAGS: @@ -6562,7 +6879,7 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_rx_reo_resource_stats_tlv_v reo_resource_stats; + htt_stats_rx_reo_resource_stats_tlv reo_resource_stats; } htt_soc_reo_resource_stats_t; /* == TX SOUNDING STATS == */ @@ -6769,7 +7086,9 @@ typedef struct { A_UINT32 cv_corr_upload_total_num_users[HTT_TX_CV_CORR_MAX_NUM_COLUMNS]; /** number of streams present in uploaded CV Correlation results buffer */ A_UINT32 cv_corr_upload_total_num_streams[HTT_TX_CV_CORR_MAX_NUM_COLUMNS]; -} htt_tx_sounding_stats_tlv; +} htt_stats_tx_sounding_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_tx_sounding_stats_tlv htt_tx_sounding_stats_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_TX_SOUNDING_INFO * TLV_TAGS: @@ -6780,7 +7099,7 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_tx_sounding_stats_tlv sounding_tlv; + htt_stats_tx_sounding_stats_tlv sounding_tlv; } htt_tx_sounding_stats_t; typedef struct { @@ -6903,14 +7222,16 @@ typedef struct { * exceeding aborted OBSS frame duration */ A_UINT32 num_sr_ppdu_abort_flush_cnt; -} htt_pdev_obss_pd_stats_tlv; +} htt_stats_pdev_obss_pd_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pdev_obss_pd_tlv htt_pdev_obss_pd_stats_tlv; /* NOTE: * This structure is for documentation, and cannot be safely used directly. * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_pdev_obss_pd_stats_tlv obss_pd_stat; + htt_stats_pdev_obss_pd_tlv obss_pd_stat; } htt_pdev_obss_pd_stats_t; typedef struct { @@ -6939,7 +7260,9 @@ typedef struct { * continuously in backpressure state beyond 500ms. */ A_UINT32 backpressure_hist[5]; -} htt_ring_backpressure_stats_tlv; +} htt_stats_ring_backpressure_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_ring_backpressure_stats_tlv htt_ring_backpressure_stats_tlv; /* STATS_TYPE : HTT_STATS_RING_BACKPRESSURE_STATS_INFO * TLV_TAGS: @@ -6950,10 +7273,10 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_sring_cmn_tlv cmn_tlv; + htt_stats_sring_cmn_tlv cmn_tlv; struct { htt_stats_string_tlv sring_str_tlv; - htt_ring_backpressure_stats_tlv backpressure_stats_tlv; + htt_stats_ring_backpressure_stats_tlv backpressure_stats_tlv; } r[1]; /* variable-length array */ } htt_ring_backpressure_stats_t; @@ -7006,7 +7329,9 @@ typedef struct { * bin2 contains the number of sampling windows that had > 4 interrupts */ A_UINT32 interrupts_hist[HTT_INTERRUPTS_LATENCY_PROFILE_MAX_HIST]; -} htt_latency_prof_stats_tlv; +} htt_stats_latency_prof_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_latency_prof_stats_tlv htt_latency_prof_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -7019,13 +7344,17 @@ typedef struct { A_UINT32 tx_ppdu_cnt; A_UINT32 rx_msdu_cnt; A_UINT32 rx_mpdu_cnt; -} htt_latency_prof_ctx_tlv; +} htt_stats_latency_ctx_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_latency_ctx_tlv htt_latency_prof_ctx_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; /** count of enabled profiles */ A_UINT32 prof_enable_cnt; -} htt_latency_prof_cnt_tlv; +} htt_stats_latency_cnt_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_latency_cnt_tlv htt_latency_prof_cnt_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_LATENCY_PROF_STATS * TLV_TAGS: @@ -7038,9 +7367,9 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_latency_prof_stats_tlv latency_prof_stat; - htt_latency_prof_ctx_tlv latency_ctx_stat; - htt_latency_prof_cnt_tlv latency_cnt_stat; + htt_stats_latency_prof_stats_tlv latency_prof_stat; + htt_stats_latency_ctx_tlv latency_ctx_stat; + htt_stats_latency_cnt_tlv latency_cnt_stat; } htt_soc_latency_stats_t; #define HTT_RX_MAX_PEAK_OCCUPANCY_INDEX 10 @@ -7158,14 +7487,16 @@ typedef struct { */ A_UINT32 fse_search_stat_peak_cnt[HTT_RX_MAX_PEAK_SEARCH_INDEX]; A_UINT32 fse_search_stat_search_pending_cnt[HTT_RX_MAX_PENDING_SEARCH_INDEX]; -} htt_rx_fse_stats_tlv; +} htt_stats_rx_fse_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_rx_fse_stats_tlv htt_rx_fse_stats_tlv; /* NOTE: * This structure is for documentation, and cannot be safely used directly. * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_rx_fse_stats_tlv rx_fse_stats; + htt_stats_rx_fse_stats_tlv rx_fse_stats; } htt_rx_fse_stats_t; #define HTT_TX_TXBF_RATE_STATS_NUM_MCS_COUNTERS 14 @@ -7210,7 +7541,9 @@ typedef struct { A_UINT32 txbf_flag_not_set_disable_ul_dl_ofdma; A_UINT32 txbf_flag_not_set_mcs_threshold_value; A_UINT32 txbf_flag_not_set_final_status; -} htt_tx_pdev_txbf_rate_stats_tlv; +} htt_stats_pdev_tx_rate_txbf_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pdev_tx_rate_txbf_stats_tlv htt_tx_pdev_txbf_rate_stats_tlv; typedef enum { HTT_STATS_RC_MODE_DLSU = 0, @@ -7269,20 +7602,22 @@ typedef struct { A_UINT32 probe_cnt_per_rcmode[HTT_RC_MODE_2D_COUNT]; - htt_stats_ru_type ru_type; /* refer to htt_stats_ru_type */ + A_UINT32 ru_type; /* refer to htt_stats_ru_type enum */ htt_tx_rate_stats_t per_ru[HTT_TX_PDEV_STATS_NUM_BE_RU_SIZE_COUNTERS]; -} htt_tx_rate_stats_per_tlv; +} htt_stats_per_rate_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_per_rate_stats_tlv htt_tx_rate_stats_per_tlv; /* NOTE: * This structure is for documentation, and cannot be safely used directly. * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_tx_pdev_txbf_rate_stats_tlv txbf_rate_stats; + htt_stats_pdev_tx_rate_txbf_stats_tlv txbf_rate_stats; } htt_pdev_txbf_rate_stats_t; typedef struct { - htt_tx_rate_stats_per_tlv per_stats; + htt_stats_per_rate_stats_tlv per_stats; } htt_tx_pdev_per_stats_t; typedef enum { @@ -7392,14 +7727,16 @@ typedef struct { /** AIFS value - 0 -255 */ A_UINT32 current_aifs[HTT_NUM_AC_WMM]; A_UINT32 reduced_ul_ofdma_tx_bw[HTT_STA_UL_OFDMA_NUM_REDUCED_CHAN_TYPES][HTT_STA_UL_OFDMA_NUM_BW_COUNTERS]; -} htt_sta_ul_ofdma_stats_tlv; +} htt_stats_sta_ul_ofdma_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_sta_ul_ofdma_stats_tlv htt_sta_ul_ofdma_stats_tlv; /* NOTE: * This structure is for documentation, and cannot be safely used directly. * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_sta_ul_ofdma_stats_tlv ul_ofdma_sta_stats; + htt_stats_sta_ul_ofdma_stats_tlv ul_ofdma_sta_stats; } htt_sta_11ax_ul_stats_t; typedef struct { @@ -7434,10 +7771,12 @@ typedef struct { /** Responder terminate count */ A_UINT32 responder_terminate_cnt; A_UINT32 vdev_id; -} htt_vdev_rtt_resp_stats_tlv; +} htt_stats_vdev_rtt_resp_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_vdev_rtt_resp_stats_tlv htt_vdev_rtt_resp_stats_tlv; typedef struct { - htt_vdev_rtt_resp_stats_tlv vdev_rtt_resp_stats; + htt_stats_vdev_rtt_resp_stats_tlv vdev_rtt_resp_stats; } htt_vdev_rtt_resp_stats_t; typedef struct { @@ -7466,10 +7805,12 @@ typedef struct { A_UINT32 initiator_terminate_cnt; /** Debug count to check the Measurement request from host */ A_UINT32 tx_meas_req_count; -} htt_vdev_rtt_init_stats_tlv; +} htt_stats_vdev_rtt_init_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_vdev_rtt_init_stats_tlv htt_vdev_rtt_init_stats_tlv; typedef struct { - htt_vdev_rtt_init_stats_tlv vdev_rtt_init_stats; + htt_stats_vdev_rtt_init_stats_tlv vdev_rtt_init_stats; } htt_vdev_rtt_init_stats_t; /* STATS_TYPE : HTT_DBG_EXT_PKTLOG_AND_HTT_RING_STATS @@ -7493,7 +7834,10 @@ typedef struct { A_UINT32 pktlog_ppdu_ctrl_drop_cnt; /** No of pktlog sw events payloads that were dropped */ A_UINT32 pktlog_sw_events_drop_cnt; -} htt_pktlog_and_htt_ring_stats_tlv; +} htt_stats_pktlog_and_htt_ring_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pktlog_and_htt_ring_stats_tlv + htt_pktlog_and_htt_ring_stats_tlv; #define HTT_DLPAGER_STATS_MAX_HIST 10 #define HTT_DLPAGER_ASYNC_LOCKED_PAGE_COUNT_M 0x000000FF @@ -7620,7 +7964,9 @@ typedef struct{ typedef struct { htt_tlv_hdr_t tlv_hdr; htt_dl_pager_stats_tlv dl_pager_stats; -} htt_dlpager_stats_t; +} htt_stats_dlpager_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_dlpager_stats_tlv htt_dlpager_stats_t; /*======= PHY STATS ====================*/ /* @@ -7811,7 +8157,9 @@ typedef struct { * [6] = Service tlv; [7] = Tx Packet End tlv; [8-9]=RSVD; */ A_UINT32 phy_tx_abort_cnt[HTT_MAX_PHY_TX_ABORT_CNT]; -} htt_phy_counters_tlv; +} htt_stats_phy_counters_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_phy_counters_tlv htt_phy_counters_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -7831,7 +8179,9 @@ typedef struct { A_UINT32 fw_run_time; /** per chain runtime noise floor values in dBm */ A_INT32 runTime_nf_chain[HTT_STATS_MAX_CHAINS]; -} htt_phy_stats_tlv; +} htt_stats_phy_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -7942,7 +8292,9 @@ typedef struct { * values are specified by the HTT_WHAL_CONFIG enum type */ A_UINT32 whal_config_flag; -} htt_phy_reset_stats_tlv; +} htt_stats_phy_reset_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_phy_reset_stats_tlv htt_phy_reset_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -7964,7 +8316,9 @@ typedef struct { /** Temperature based recalibration count */ A_UINT32 temperature_recal_cnt; -} htt_phy_reset_counters_tlv; +} htt_stats_phy_reset_counters_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_phy_reset_counters_tlv htt_phy_reset_counters_tlv; /* Considering 320 MHz maximum 16 power levels */ #define HTT_MAX_CH_PWR_INFO_SIZE 16 @@ -8086,18 +8440,20 @@ typedef struct { }; A_UINT32 ctl_args; }; -} htt_phy_tpc_stats_tlv; +} htt_stats_phy_tpc_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_phy_tpc_stats_tlv htt_phy_tpc_stats_tlv; /* NOTE: * This structure is for documentation, and cannot be safely used directly. * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_phy_counters_tlv phy_counters; - htt_phy_stats_tlv phy_stats; - htt_phy_reset_counters_tlv phy_reset_counters; - htt_phy_reset_stats_tlv phy_reset_stats; - htt_phy_tpc_stats_tlv phy_tpc_stats; + htt_stats_phy_counters_tlv phy_counters; + htt_stats_phy_stats_tlv phy_stats; + htt_stats_phy_reset_counters_tlv phy_reset_counters; + htt_stats_phy_reset_stats_tlv phy_reset_stats; + htt_stats_phy_tpc_stats_tlv phy_tpc_stats; } htt_phy_counters_and_phy_stats_t; /* NOTE: @@ -8105,8 +8461,8 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_t2h_soc_txrx_stats_common_tlv soc_common_stats; - htt_t2h_vdev_txrx_stats_hw_stats_tlv vdev_hw_stats[1/*or more*/]; + htt_stats_soc_txrx_stats_common_tlv soc_common_stats; + htt_stats_vdev_txrx_stats_hw_stats_tlv vdev_hw_stats[1/*or more*/]; } htt_vdevs_txrx_stats_t; typedef struct { @@ -8129,7 +8485,9 @@ typedef struct { htt_stats_strm_msdu_queue_id queue_id; htt_stats_strm_gen_mpdus_cntr_t svc_interval; htt_stats_strm_gen_mpdus_cntr_t burst_size; -} htt_stats_strm_gen_mpdus_tlv_t; +} htt_stats_strm_gen_mpdus_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_strm_gen_mpdus_tlv htt_stats_strm_gen_mpdus_tlv_t; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -8168,7 +8526,10 @@ typedef struct { burst_size_spec: 16, margin_bytes: 16; } burst_size; -} htt_stats_strm_gen_mpdus_details_tlv_t; +} htt_stats_strm_gen_mpdus_details_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_strm_gen_mpdus_details_tlv + htt_stats_strm_gen_mpdus_details_tlv_t; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -8188,7 +8549,9 @@ typedef struct { A_UINT32 disengage_count; A_UINT32 engage_count; A_UINT32 drain_dest_ring_mask; -} htt_dmac_reset_stats_tlv; +} htt_stats_dmac_reset_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_dmac_reset_stats_tlv htt_dmac_reset_stats_tlv; /* Support up to 640 MHz mode for future expansion */ @@ -8276,7 +8639,9 @@ typedef struct { * The count is incremented once for each OTA PPDU transmitted / received. */ A_UINT32 num_subbands_used_cnt[HTT_PUNCTURE_STATS_MAX_SUBBAND_COUNT]; -} htt_pdev_puncture_stats_tlv; +} htt_stats_pdev_puncture_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pdev_puncture_stats_tlv htt_pdev_puncture_stats_tlv; enum { HTT_STATS_CAL_PROF_COLD_BOOT = 0, @@ -8343,7 +8708,9 @@ typedef struct { /** No of indices invoked per each cal profile */ A_UINT32 CalCnt[HTT_STATS_MAX_PROF_CAL]; -} htt_latency_prof_cal_stats_tlv; +} htt_stats_latency_prof_cal_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_latency_prof_cal_stats_tlv htt_latency_prof_cal_stats_tlv; #define HTT_ML_PEER_EXT_DETAILS_PEER_ASSOC_IPC_RECVD_M 0x0000003F #define HTT_ML_PEER_EXT_DETAILS_PEER_ASSOC_IPC_RECVD_S 0 @@ -8396,7 +8763,9 @@ typedef struct { }; A_UINT32 msg_dword_1; }; -} htt_ml_peer_ext_details_tlv; +} htt_stats_ml_peer_ext_details_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_ml_peer_ext_details_tlv htt_ml_peer_ext_details_tlv; #define HTT_ML_LINK_INFO_VALID_M 0x00000001 #define HTT_ML_LINK_INFO_VALID_S 0 @@ -8599,7 +8968,9 @@ typedef struct { }; A_UINT32 primary_tid_mask; -} htt_ml_link_info_tlv; +} htt_stats_ml_link_info_details_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_ml_link_info_details_tlv htt_ml_link_info_tlv; #define HTT_ML_PEER_DETAILS_NUM_LINKS_M 0x00000003 #define HTT_ML_PEER_DETAILS_NUM_LINKS_S 0 @@ -8778,7 +9149,9 @@ typedef struct { * the host; it is only for off-line debug. */ A_UINT32 ml_peer_flags; -} htt_ml_peer_details_tlv; +} htt_stats_ml_peer_details_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_ml_peer_details_tlv htt_ml_peer_details_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_ML_PEERS_INFO * TLV_TAGS: @@ -8791,9 +9164,9 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct _htt_ml_peer_stats { - htt_ml_peer_details_tlv ml_peer_details; - htt_ml_peer_ext_details_tlv ml_peer_ext_details; - htt_ml_link_info_tlv ml_link_info[]; + htt_stats_ml_peer_details_tlv ml_peer_details; + htt_stats_ml_peer_ext_details_tlv ml_peer_ext_details; + htt_stats_ml_link_info_details_tlv ml_link_info[1]; } htt_ml_peer_stats_t; /* @@ -8896,7 +9269,9 @@ typedef struct { A_UINT32 rx_stbc[HTT_RX_PDEV_STATS_NUM_MCS_COUNTERS + HTT_RX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS + HTT_RX_PDEV_STATS_NUM_EXTRA2_MCS_COUNTERS]; A_UINT32 rts_cnt; A_UINT32 rts_success; -} htt_odd_mandatory_pdev_stats_tlv; +} htt_stats_odd_pdev_mandatory_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_odd_pdev_mandatory_tlv htt_odd_mandatory_pdev_stats_tlv; typedef struct _htt_odd_mandatory_mumimo_pdev_stats_tlv { htt_tlv_hdr_t tlv_hdr; @@ -8912,7 +9287,10 @@ typedef struct _htt_odd_mandatory_mumimo_pdev_stats_tlv { A_UINT32 rx_ulmumimo_mpdu_fail[HTT_RX_PDEV_MAX_OFDMA_NUM_USER]; A_UINT32 rx_ulmumimo_mpdu_ok[HTT_RX_PDEV_MAX_OFDMA_NUM_USER]; A_UINT32 rx_ulmumimo_data_ppdu[HTT_RX_PDEV_MAX_OFDMA_NUM_USER]; -} htt_odd_mandatory_mumimo_pdev_stats_tlv; +} htt_dbg_odd_mandatory_mumimo_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_dbg_odd_mandatory_mumimo_tlv + htt_odd_mandatory_mumimo_pdev_stats_tlv; typedef struct _htt_odd_mandatory_muofdma_pdev_stats_tlv { htt_tlv_hdr_t tlv_hdr; @@ -8932,7 +9310,10 @@ typedef struct _htt_odd_mandatory_muofdma_pdev_stats_tlv { A_UINT32 ax_mu_brp_sch_status[HTT_TX_PDEV_STATS_NUM_TX_ERR_STATUS]; A_UINT32 be_mu_brp_sch_status[HTT_TX_PDEV_STATS_NUM_TX_ERR_STATUS]; A_UINT32 ofdma_tx_ru_size[HTT_TX_PDEV_STATS_NUM_AX_RU_SIZE_COUNTERS]; -} htt_odd_mandatory_muofdma_pdev_stats_tlv; +} htt_dbg_odd_mandatory_muofdma_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_dbg_odd_mandatory_muofdma_tlv + htt_odd_mandatory_muofdma_pdev_stats_tlv; #define HTT_PDEV_SCHED_ALGO_OFDMA_STATS_MAC_ID_M 0x000000ff @@ -9003,7 +9384,10 @@ typedef struct { /** Num of instances where dl ofdma is disabled because there are consecutive mpdu failure */ A_UINT32 dlofdma_disabled_consec_no_mpdus_success[HTT_NUM_AC_WMM]; A_UINT32 txbf_ofdma_ineligibility_stat[HTT_STATS_SCHED_OFDMA_TXBF_INELIGIBILITY_MAX]; -} htt_pdev_sched_algo_ofdma_stats_tlv; +} htt_stats_pdev_sched_algo_ofdma_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pdev_sched_algo_ofdma_stats_tlv + htt_pdev_sched_algo_ofdma_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -9022,7 +9406,10 @@ typedef struct { A_UINT32 mu_rts_within_bss; A_UINT32 ul_mumimo_trigger_across_bss; A_UINT32 ul_mumimo_trigger_within_bss; -} htt_pdev_mbssid_ctrl_frame_stats_tlv; +} htt_stats_pdev_mbssid_ctrl_frame_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pdev_mbssid_ctrl_frame_stats_tlv + htt_pdev_mbssid_ctrl_frame_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -9052,7 +9439,9 @@ typedef struct { A_UINT32 num_tdma_slot_switches; /** Num of TDMA EDCA switches */ A_UINT32 num_tdma_edca_switches; -} htt_pdev_tdma_stats_tlv; +} htt_stats_pdev_tdma_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pdev_tdma_tlv htt_pdev_tdma_stats_tlv; #define HTT_STATS_TDMA_MAC_ID_M 0x000000ff #define HTT_STATS_TDMA_MAC_ID_S 0 @@ -9180,8 +9569,9 @@ typedef struct { * BIT [ 23 : 8] :- static_pattern */ A_UINT32 phy_mode__static_pattern; - -} htt_pdev_bw_mgr_stats_tlv; +} htt_stats_pdev_bw_mgr_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pdev_bw_mgr_stats_tlv htt_pdev_bw_mgr_stats_tlv; /* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_BW_MGR @@ -9193,7 +9583,7 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct { - htt_pdev_bw_mgr_stats_tlv bw_mgr_tlv; + htt_stats_pdev_bw_mgr_stats_tlv bw_mgr_tlv; } htt_pdev_bw_mgr_stats_t; @@ -9276,7 +9666,9 @@ typedef struct { A_UINT32 reserved; A_UINT32 footprint; /* holds a HTT_MLO_UMAC_SSR_DBG_POINTS value */ A_UINT32 tqm_hw_tstamp; -} htt_mlo_umac_ssr_dbg_tlv; +} htt_stats_mlo_umac_ssr_dbg_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_mlo_umac_ssr_dbg_tlv htt_mlo_umac_ssr_dbg_tlv; typedef struct { A_UINT32 last_mlo_htt_handshake_delta_ms; @@ -9319,7 +9711,9 @@ typedef struct { typedef struct { htt_tlv_hdr_t tlv_hdr; htt_mlo_umac_ssr_mlo_stats_t mlo; -} htt_mlo_umac_ssr_mlo_stats_tlv; +} htt_stats_mlo_umac_ssr_mlo_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_mlo_umac_ssr_mlo_tlv htt_mlo_umac_ssr_mlo_stats_tlv; /* dword0 - b'0 - PRE_RESET_DISABLE_RXDMA_PREFETCH */ #define HTT_UMAC_RECOVERY_DONE_PRE_RESET_DISABLE_RXDMA_PREFETCH_M 0x1 @@ -9659,7 +10053,10 @@ typedef struct { A_UINT32 htt_sync_do_pre_reset_ms; A_UINT32 htt_sync_do_post_reset_start_ms; A_UINT32 htt_sync_do_post_reset_complete_ms; -} htt_mlo_umac_ssr_kpi_tstamp_stats_tlv; +} htt_stats_mlo_umac_ssr_kpi_tstmp_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_mlo_umac_ssr_kpi_tstmp_tlv + htt_mlo_umac_ssr_kpi_tstamp_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -9670,7 +10067,10 @@ typedef struct { A_UINT32 post_t2h_msg_read_shmem_ms; A_UINT32 post_t2h_msg_write_shmem_ms; A_UINT32 post_t2h_msg_send_msg_to_host_ms; -} htt_mlo_umac_htt_handshake_stats_tlv; +} htt_stats_mlo_umac_ssr_handshake_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_mlo_umac_ssr_handshake_tlv + htt_mlo_umac_htt_handshake_stats_tlv; typedef struct { /* @@ -9678,8 +10078,8 @@ typedef struct { * to use the TLV header within each element of each of the arrays in * this struct to determine where the subsequent item resides. */ - htt_mlo_umac_ssr_dbg_tlv dbg_point[HTT_MLO_UMAC_SSR_DBG_POINT_MAX]; - htt_mlo_umac_htt_handshake_stats_tlv htt_handshakes[HTT_MLO_UMAC_RECOVERY_HANDSHAKE_COUNT]; + htt_stats_mlo_umac_ssr_dbg_tlv dbg_point[HTT_MLO_UMAC_SSR_DBG_POINT_MAX]; + htt_stats_mlo_umac_ssr_handshake_tlv htt_handshakes[HTT_MLO_UMAC_RECOVERY_HANDSHAKE_COUNT]; } htt_mlo_umac_ssr_kpi_delta_stats_t; typedef struct { @@ -9715,7 +10115,9 @@ typedef struct { typedef struct { htt_tlv_hdr_t tlv_hdr; htt_mlo_umac_ssr_common_stats_t cmn; -} htt_mlo_umac_ssr_common_stats_tlv; +} htt_stats_mlo_umac_ssr_cmn_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_mlo_umac_ssr_cmn_tlv htt_mlo_umac_ssr_common_stats_tlv; typedef struct { A_UINT32 trigger_requests_count; @@ -9735,7 +10137,9 @@ typedef struct { typedef struct { htt_tlv_hdr_t tlv_hdr; htt_mlo_umac_ssr_trigger_stats_t trigger; -} htt_mlo_umac_ssr_trigger_stats_tlv; +} htt_stats_mlo_umac_ssr_trigger_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_mlo_umac_ssr_trigger_tlv htt_mlo_umac_ssr_trigger_stats_tlv; typedef struct { /* @@ -9743,8 +10147,8 @@ typedef struct { * to use the TLV header within each element to determine where the * subsequent element resides. */ - htt_mlo_umac_ssr_kpi_delta_stats_tlv kpi_delta_tlv; - htt_mlo_umac_ssr_kpi_tstamp_stats_tlv kpi_tstamp_tlv; + htt_mlo_umac_ssr_kpi_delta_stats_tlv kpi_delta_tlv; + htt_stats_mlo_umac_ssr_kpi_tstmp_tlv kpi_tstamp_tlv; } htt_mlo_umac_ssr_kpi_stats_t; typedef struct { @@ -9767,10 +10171,10 @@ typedef struct { * to use the TLV header within each element to determine where the * subsequent element resides. */ - htt_mlo_umac_ssr_trigger_stats_tlv trigger_tlv; + htt_stats_mlo_umac_ssr_trigger_tlv trigger_tlv; htt_mlo_umac_ssr_kpi_stats_tlv kpi_tlv; - htt_mlo_umac_ssr_mlo_stats_tlv mlo_tlv; - htt_mlo_umac_ssr_common_stats_tlv cmn_tlv; + htt_stats_mlo_umac_ssr_mlo_tlv mlo_tlv; + htt_stats_mlo_umac_ssr_cmn_tlv cmn_tlv; } htt_mlo_umac_ssr_stats_tlv; /*============= end MLO UMAC SSR stats ============= } */ @@ -9804,7 +10208,9 @@ typedef struct { typedef struct { htt_tlv_hdr_t tlv_hdr; htt_umac_ssr_stats_t stats; -} htt_umac_ssr_stats_tlv; +} htt_stats_umac_ssr_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_umac_ssr_tlv htt_umac_ssr_stats_tlv; typedef struct { htt_tlv_hdr_t tlv_hdr; @@ -9824,7 +10230,9 @@ typedef struct { * some point during the window. */ A_UINT32 codel_no_drops; -} htt_codel_svc_class_stats_tlv; +} htt_stats_codel_svc_class_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_codel_svc_class_tlv htt_codel_svc_class_stats_tlv; #define HTT_CODEL_MSDUQ_STATS_TX_FLOW_NUM_M 0x0000FFFF #define HTT_CODEL_MSDUQ_STATS_TX_FLOW_NUM_S 0 @@ -9892,7 +10300,9 @@ typedef struct { codel_no_drops: 16; }; }; -} htt_codel_msduq_stats_tlv; +} htt_stats_codel_msduq_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_codel_msduq_tlv htt_codel_msduq_stats_tlv; /*===================== start MLO stats ====================*/ @@ -9902,7 +10312,9 @@ typedef struct { A_UINT32 pref_link_num_pref_link_timeout; A_UINT32 pref_link_num_pref_link_sch_delay_ipc; A_UINT32 pref_link_num_pref_link_timeout_ipc; -} htt_mlo_sched_stats_tlv; +} htt_stats_mlo_sched_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_mlo_sched_stats_tlv htt_mlo_sched_stats_tlv; /* STATS_TYPE : HTT_DBG_MLO_SCHED_STATS * TLV_TAGS: @@ -9913,7 +10325,7 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct _htt_mlo_sched_stats { - htt_mlo_sched_stats_tlv preferred_link_stats; + htt_stats_mlo_sched_stats_tlv preferred_link_stats; } htt_mlo_sched_stats_t; #define HTT_STATS_HWMLO_MAX_LINKS 6 @@ -9922,7 +10334,9 @@ typedef struct _htt_mlo_sched_stats { typedef struct { htt_tlv_hdr_t tlv_hdr; A_UINT32 mlo_ipc_ring_full_cnt[HTT_STATS_HWMLO_MAX_LINKS][HTT_STATS_MLO_MAX_IPC_RINGS]; -} htt_pdev_mlo_ipc_stats_tlv; +} htt_stats_pdev_mlo_ipc_stats_tlv; +/* preserve old name alias for new name consistent with the tag name */ +typedef htt_stats_pdev_mlo_ipc_stats_tlv htt_pdev_mlo_ipc_stats_tlv; /* STATS_TYPE : HTT_DBG_MLO_IPC_STATS * TLV_TAGS: @@ -9933,7 +10347,7 @@ typedef struct { * Instead, use the constituent TLV structures to fill/parse. */ typedef struct _htt_mlo_ipc_stats { - htt_pdev_mlo_ipc_stats_tlv mlo_ipc_stats; + htt_stats_pdev_mlo_ipc_stats_tlv mlo_ipc_stats; } htt_pdev_mlo_ipc_stats_t; /*===================== end MLO stats ======================*/ From 6f2d9bc176a0833823c1d8d041fc5ed8d4da4ea8 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 13 Oct 2023 12:01:43 -0700 Subject: [PATCH 09/20] fw-api: CL 24927565 - update fw common interface files WMI: add mlo_params elem to VDEV_STOP_CMD; add mlo_flags to delete_mlo_params Change-Id: Ic233482455ba18bf6352067d62597e9cdcc8d32c CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 4 +++- fw/wmi_unified.h | 19 +++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 4c937410db16..ec536d2fc1a2 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1405,6 +1405,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_mlo_link_state_switch_trigger_reason_tlv_param, WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_req_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_resp_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_stop_mlo_params, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -3499,7 +3500,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_UP_CMDID); /* Vdev stop cmd */ #define WMITLV_TABLE_WMI_VDEV_STOP_CMDID(id,op,buf,len) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_stop_cmd_fixed_param, wmi_vdev_stop_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_stop_cmd_fixed_param, wmi_vdev_stop_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_stop_mlo_params, mlo_params, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_STOP_CMDID); diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index f114a20d467d..cea1e6eb972e 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -16087,6 +16087,12 @@ typedef struct { }; A_UINT32 mlo_flags; }; +/* NOTE: + * Since this struct is embedded inside WMI TLV structs, it cannot + * have any fields added, as expanding this struct would break + * backwards-compatibility by changing the offsets of the subsequent + * fields in the structs that contain this struct. + */ } wmi_mlo_flags; typedef struct { @@ -16110,6 +16116,12 @@ typedef struct { wmi_mlo_flags mlo_flags; /*only mlo enable and assoc link flag need by vdev start*/ } wmi_vdev_start_mlo_params; +/* this TLV structure used for passing mlo parameters on vdev stop */ +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; */ + wmi_mlo_flags mlo_flags; /* only mlo_link_switch flag needed by vdev stop */ +} wmi_vdev_stop_mlo_params; + typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_update_mac_addr_cmd_fixed_param */ /** Unique id identifying the VDEV to update mac addr */ @@ -16977,6 +16989,12 @@ typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_stop_cmd_fixed_param */ /** unique id identifying the VDEV, generated by the caller */ A_UINT32 vdev_id; + + /* The TLVs follows this structure: + * - wmi_vdev_stop_mlo_params mlo_params[0/1]; + * optional TLV, host may provide this TLV to indicate the vdev stop + * is done for link switch. + */ } wmi_vdev_stop_cmd_fixed_param; typedef struct { @@ -19808,6 +19826,7 @@ typedef struct { typedef struct { A_UINT32 tlv_header; /** TLV tag and len */ A_UINT32 mlo_hw_link_id_bitmap; /* Hardware link id of the link which has crashed or was not created in the first place */ + wmi_mlo_flags mlo_flags; /* to indicate whether peer delete is due to link switch */ } wmi_peer_delete_mlo_params; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 93dbc78861c9..43583493fa9f 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_ 1399 +#define __WMI_REVISION_ 1400 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From d8551ebf98913e736856ae355b3eebba53583b3a Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 13 Oct 2023 12:02:42 -0700 Subject: [PATCH 10/20] fw-api: CL 24942753 - update fw common interface files WMI: add WLM and HOST_FORCE_FOLLOWUP MLO_LINK_SWITCH_REASON enum consts Change-Id: Ic7d5d6999cdc8d54f6872d02f2c5cbe7e75d1c01 CRs-Fixed: 2262693 --- fw/wmi_unified.h | 14 ++++++++------ fw/wmi_version.h | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index cea1e6eb972e..421c0537ddd2 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -46677,12 +46677,14 @@ typedef struct { */ } wmi_mlo_set_link_bss_params_cmd_fixed_param; -typedef enum _WMI_LINK_SWITCH_REASON{ - WMI_MLO_LINK_SWITCH_REASON_RSSI_CHANGE = 1, - WMI_MLO_LINK_SWITCH_REASON_LOW_QUALITY = 2, - WMI_MLO_LINK_SWITCH_REASON_C2_CHANGE = 3, - WMI_MLO_LINK_SWITCH_REASON_HOST_FORCE = 4, - WMI_MLO_LINK_SWITCH_REASON_T2LM = 5, +typedef enum _WMI_LINK_SWITCH_REASON { + WMI_MLO_LINK_SWITCH_REASON_RSSI_CHANGE = 1, + WMI_MLO_LINK_SWITCH_REASON_LOW_QUALITY = 2, + WMI_MLO_LINK_SWITCH_REASON_C2_CHANGE = 3, + WMI_MLO_LINK_SWITCH_REASON_HOST_FORCE = 4, + WMI_MLO_LINK_SWITCH_REASON_T2LM = 5, + WMI_MLO_LINK_SWITCH_REASON_WLM = 6, + WMI_MLO_LINK_SWITCH_REASON_HOST_FORCE_FOLLOWUP = 7, WMI_MLO_LINK_SWITCH_REASON_MAX, } WMI_LINK_SWITCH_REASON; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 43583493fa9f..930098c54c75 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_ 1400 +#define __WMI_REVISION_ 1401 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 35d97a9cb1839ff342896dd78d38b6e055187d75 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sat, 14 Oct 2023 06:01:22 -0700 Subject: [PATCH 11/20] fw-api: CL 24952424 - update fw common interface files WMI: add optional PSD and EIRP info in VDEV_SET_TPC_POWER_CMD msg Change-Id: I9f7607a634d76959cb897ace4375cc4f4918b7aa CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 6 ++++- fw/wmi_unified.h | 57 +++++++++++++++++++++++++++++++++++++++++------ fw/wmi_version.h | 2 +- 4 files changed, 57 insertions(+), 9 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index d08474615b88..1bf50772a3f8 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -643,6 +643,7 @@ typedef enum { WMI_SERVICE_RADAR_FLAGS_SUPPORT = 390, /* Indicates FW supports radar flags, such as full bandwidth need put to NOL */ WMI_SERVICE_XPAN_SUPPORT = 391, /* Indicate FW support XPAN configuration */ WMI_SERVICE_5GHZ_HI_RSSI_ROAM_SUPPORT = 392, /* Indicate FW supports High RSSI Roam from 5 GHz Band to 6 GHz Band */ + WMI_SERVICE_BOTH_PSD_EIRP_FOR_AP_SP_CLIENT_SP_SUPPORT = 393, /* Support for CTL regeneration where both PSD and EIRP will be sent in 6GHZ SET_TPC WMI for SP and SP_CLIENT power modes */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index ec536d2fc1a2..7349a1e233cb 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1406,6 +1406,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_req_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_resp_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_stop_mlo_params, + WMITLV_TAG_STRUC_wmi_vdev_ch_power_psd_info, + WMITLV_TAG_STRUC_wmi_vdev_ch_power_eirp_info, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -5083,7 +5085,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_BIG_DATA_P2_CMDID); /* Vdev set TPC power */ #define WMITLV_TABLE_WMI_VDEV_SET_TPC_POWER_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_set_tpc_power_cmd_fixed_param, wmi_vdev_set_tpc_power_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_ch_power_info, ch_pwr_info, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_ch_power_info, ch_pwr_info, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_ch_power_psd_info, ch_pwr_psd_info, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_ch_power_eirp_info, ch_pwr_eirp_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_TPC_POWER_CMDID); /* Frame inject command */ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 421c0537ddd2..05adbe424c66 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -40576,14 +40576,45 @@ typedef struct { /* * This fixed_param TLV is followed by the below TLVs: - * num_pwr_levels of wmi_vdev_set_tpc_power_atomic_fixed_param - * For PSD power, it is the PSD/EIRP power of the frequency (20MHz chunks). - * For non-psd power, the power values are for 20, 40, and till - * BSS BW power levels. - * The num_pwr_levels will be checked by sw how many elements present - * in the variable-length array. * - * wmi_vdev_set_tpc_power_atomic_fixed_param; + * Based on power_type_6ghz sent in fixed param, the array TLVs + * will be interpreted as described below: + * + * For power_type_6ghz - LPI and VLP power mode: + * num_pwr_levels of wmi_vdev_ch_power_info + * This array TLV will be filled based on psd_power field in + * fixed param. + * If psd_power = 1, TLV carries 20MHz sub-channel center frequency + * and PSD-power values. + * If psd_power = 0, TLV carries Cfreq and EIRP for all BWs + * (<= current channel BSS BW). + * wmi_vdev_ch_power_psd_info & wmi_vdev_ch_power_eirp_info are not used + * for LPI and VLP power mode. + * + * For power_type_6ghz SP and SP_CLIENT power mode: + * num_pwr_levels of wmi_vdev_ch_power_psd_info is filled as below + * Holds BSS sub-channel center frequency and OOBE PSD-power values. + * OOBE PSD values for AP and STA are filled in below manner: + * AP case: + * For example, DUT is operating in 160 MHz and pri20 + * lies in first sub-channel, + * OOBE_PSD_20 | MIN_OOBE_PSD_40 | MIN_OOBE_PSD_80 | + * MIN_OOBE_PSD_80 | MIN_OOBE_PSD_160 | MIN_OOBE__PSD_160 | + * MIN_OOBE_PSD_160 | MIN_OOBE_PSD_160 + * STA case: + * For example,STA is operating in 160 MHz + * OOBE_PSD_20 | OOBE_PSD_20 | OOBE_PSD_20 | OOBE_PSD_20 | + * OOBE_PSD_20 | OOBE_PSD_20 | OOBE_PSD_20 | OOBE_PSD_20 + * + * num_pwr_levels of wmi_vdev_ch_power_eirp_info + * Carries Cfreq and EIRP for all BWs (<= current channel BSS BW). + * For both AP and STA, EIRP are filled in below manner: + * Example: If operating BW is 160 MHz + * EIRP_20 | EIRP_40 | EIRP_80 | EIRP_160 + * + * If the wmi_vdev_ch_power_psd_info or wmi_vdev_ch_power_eirp_info TLV + * arrays are not both present, check for older TLV + * (wmi_vdev_ch_power_info) as explained for LPI and VLP. */ } wmi_vdev_set_tpc_power_fixed_param; @@ -40593,6 +40624,18 @@ typedef struct { A_UINT32 tx_power; /* Unit: dBm, either PSD/EIRP power for this frequency or incremental for non-PSD BW */ } wmi_vdev_ch_power_info; +typedef struct { + A_UINT32 tlv_header; + A_UINT32 chan_cfreq; /* Channel center frequency (MHz) of all BSS Sub-channel */ + A_INT32 psd_power; /* Unit: dBm/MHz, OOBE PSD power of sub-channel */ +} wmi_vdev_ch_power_psd_info; + +typedef struct { + A_UINT32 tlv_header; + A_UINT32 chan_cfreq; /* Channel center frequency (MHz) for all BWs (<= current channel BSS BW) */ + A_INT32 eirp_power; /* Unit: dBm, EIRP power for all BWs (<= current channel BSS BW) */ + } wmi_vdev_ch_power_eirp_info; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals wmi_txpower_query_cmd_fixed_param */ A_UINT32 request_id; /* unique request ID to distinguish the command / event set */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 930098c54c75..246491efcfca 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_ 1401 +#define __WMI_REVISION_ 1402 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From f4c643e6f0e9c28965fcd455f9178690790a07a7 Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 17 Oct 2023 12:01:32 -0700 Subject: [PATCH 12/20] fw-api: CL 24972727 - update fw common interface files WMI: add pdev_id to PDEV_UTF_CMD,_EVENT msgs Change-Id: Ica4366be32b698c74a554e08a7eb2efe89ad8099 CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 8 ++++++-- fw/wmi_unified.h | 12 ++++++++++++ fw/wmi_version.h | 2 +- 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 1bf50772a3f8..d904a30ccf84 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -644,6 +644,7 @@ typedef enum { WMI_SERVICE_XPAN_SUPPORT = 391, /* Indicate FW support XPAN configuration */ WMI_SERVICE_5GHZ_HI_RSSI_ROAM_SUPPORT = 392, /* Indicate FW supports High RSSI Roam from 5 GHz Band to 6 GHz Band */ WMI_SERVICE_BOTH_PSD_EIRP_FOR_AP_SP_CLIENT_SP_SUPPORT = 393, /* Support for CTL regeneration where both PSD and EIRP will be sent in 6GHZ SET_TPC WMI for SP and SP_CLIENT power modes */ + WMI_SERVICE_PDEV_PARAM_IN_UTF_WMI = 394, /* FW supports receiving and sending pdev_id parameter in WMI_PDEV_UTF_(CMD/EVENT) */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 7349a1e233cb..cdbc701ff617 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1408,6 +1408,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_vdev_stop_mlo_params, WMITLV_TAG_STRUC_wmi_vdev_ch_power_psd_info, WMITLV_TAG_STRUC_wmi_vdev_ch_power_eirp_info, + WMITLV_TAG_STRUC_wmi_pdev_utf_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_utf_event_fixed_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -3019,7 +3021,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_CHATTER_SET_MODE_CMDID); /* PDEV UTF Cmd */ #define WMITLV_TABLE_WMI_PDEV_UTF_CMDID(id,op,buf,len)\ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_utf_cmd_fixed_param, wmi_pdev_utf_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_UTF_CMDID); /* PDEV QVIT Cmd */ @@ -5998,7 +6001,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_WLAN_PROFILE_DATA_EVENTID); /* PDEV UTF Event */ #define WMITLV_TABLE_WMI_PDEV_UTF_EVENTID(id,op,buf,len)\ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_utf_event_fixed_param, wmi_pdev_utf_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_UTF_EVENTID); /* Update SCPC calibrated data Event */ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 05adbe424c66..27de62229061 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -47014,6 +47014,18 @@ typedef struct { A_UINT32 status; /* accept: 1 reject : 0 */ } wmi_csa_event_status_ind_fixed_param; +typedef struct { + /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_utf_cmd_fixed_param */ + A_UINT32 tlv_header; + A_UINT32 pdev_id; +} wmi_pdev_utf_cmd_fixed_param; + +typedef struct { + /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_utf_event_fixed_param */ + A_UINT32 tlv_header; + A_UINT32 pdev_id; +} wmi_pdev_utf_event_fixed_param; + /* ADD NEW DEFS HERE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 246491efcfca..34514742f2aa 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_ 1402 +#define __WMI_REVISION_ 1403 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From d90c14acc435677e1aad1ffee2e5c15eb378f8ee Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 19 Oct 2023 06:02:17 -0700 Subject: [PATCH 13/20] fw-api: CL 25001184 - update fw common interface files WMI: add VDEV_OOB_CONNECTION_REQ_CMD,_RESP_EVENT msg defs Change-Id: I5f33ae6b3153b0d5e4f9b996597869d8b006d215 CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 13 ++++++++++++ fw/wmi_unified.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 67 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index cdbc701ff617..96aa4ce897c7 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1410,6 +1410,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_vdev_ch_power_eirp_info, WMITLV_TAG_STRUC_wmi_pdev_utf_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_utf_event_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_oob_connection_req_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_oob_connection_resp_event_fixed_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -1947,6 +1949,7 @@ typedef enum { OP(WMI_PDEV_WSI_STATS_INFO_CMDID) \ OP(WMI_CSA_EVENT_STATUS_INDICATION_CMDID) \ OP(WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID) \ + OP(WMI_VDEV_OOB_CONNECTION_REQ_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -2265,6 +2268,7 @@ typedef enum { OP(WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID) \ OP(WMI_MLO_LINK_STATE_SWITCH_EVENTID) \ OP(WMI_VDEV_SCHED_MODE_PROBE_RESP_EVENTID) \ + OP(WMI_VDEV_OOB_CONNECTION_RESP_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -5498,6 +5502,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_CSA_EVENT_STATUS_INDICATION_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_req_fixed_param, wmi_vdev_sched_mode_probe_req_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID); +#define WMITLV_TABLE_WMI_VDEV_OOB_CONNECTION_REQ_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_oob_connection_req_cmd_fixed_param, wmi_vdev_oob_connection_req_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_OOB_CONNECTION_REQ_CMDID); + /************************** TLV definitions of WMI events *******************************/ @@ -7506,6 +7514,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_STATE_SWITCH_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_resp_fixed_param, wmi_vdev_sched_mode_probe_resp_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SCHED_MODE_PROBE_RESP_EVENTID); +#define WMITLV_TABLE_WMI_VDEV_OOB_CONNECTION_RESP_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_oob_connection_resp_event_fixed_param, wmi_vdev_oob_connection_resp_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_OOB_CONNECTION_RESP_EVENTID); + + #ifdef __cplusplus } diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 27de62229061..924da7c71d72 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -633,6 +633,9 @@ typedef enum { /** Request to firmware to probe scheduler modes */ WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID, + /** Connect request on the vdev */ + WMI_VDEV_OOB_CONNECTION_REQ_CMDID, + /* peer specific commands */ @@ -1838,6 +1841,8 @@ typedef enum { WMI_VDEV_LATENCY_LEVEL_EVENTID, /** Result from firmware about completed scheduler probing */ WMI_VDEV_SCHED_MODE_PROBE_RESP_EVENTID, + /** Connect response */ + WMI_VDEV_OOB_CONNECTION_RESP_EVENTID, /* peer specific events */ /** FW reauet to kick out the station for reasons like inactivity,lack of response ..etc */ @@ -36975,6 +36980,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_PDEV_WSI_STATS_INFO_CMDID); WMI_RETURN_STRING(WMI_CSA_EVENT_STATUS_INDICATION_CMDID); WMI_RETURN_STRING(WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID); + WMI_RETURN_STRING(WMI_VDEV_OOB_CONNECTION_REQ_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; @@ -47026,6 +47032,53 @@ typedef struct { A_UINT32 pdev_id; } wmi_pdev_utf_event_fixed_param; +typedef enum { + /* Used when peer attempts connection with vdev */ + VDEV_OOB_CONNECT_REQUEST = 0, + + /* Used when upper layers wanted to cancel the connect request */ + VDEV_OOB_CONNECT_CANCEL = 1, + + /* Used as a response from FW that start request is accepted */ + VDEV_OOB_CONNECT_STARTED = 2, + + /* + * Used as a response when connection is complete, or as a response + * to cancel command. + */ + VDEV_OOB_CONNECT_COMPLETED = 3, + + /* Used as a response if connect request can not be honored in FW */ + VDEV_OOB_CONNECT_CANCELLED = 4, + + VDEV_OOB_CONNECT_INVALID = 255, +} VDEV_OOB_CONNECT_REQ_RESP_TYPE; + +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_vdev_oob_connection_req_cmd_fixed_param */ + A_UINT32 tlv_header; + /* VDEV identifier */ + A_UINT32 vdev_id; + /* OOB connection request type based on VDEV_OOB_CONNECT_REQ_RESP_TYPE */ + A_UINT32 connect_req_type; + /* vdev_available_duration: + * specifies duration in msecs for which device needs to be available + * on vdev chan + */ + A_UINT32 vdev_available_duration; +} wmi_vdev_oob_connection_req_cmd_fixed_param; + +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_vdev_oob_connection_resp_event_fixed_param */ + A_UINT32 tlv_header; + /* VDEV identifier */ + A_UINT32 vdev_id; + /* OOB connection response type based on VDEV_OOB_CONNECT_REQ_RESP_TYPE */ + A_UINT32 connect_resp_type; +} wmi_vdev_oob_connection_resp_event_fixed_param; + /* ADD NEW DEFS HERE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 34514742f2aa..c95e2b33f697 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_ 1403 +#define __WMI_REVISION_ 1404 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 8c8b4fe71e25b8a5689742424ae185c3cfbb2df2 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 20 Oct 2023 12:01:56 -0700 Subject: [PATCH 14/20] fw-api: CL 25012076 - update fw common interface files Add WLM_FLAGS_PS MLO_PROBE_SCAN_DISABLED flag Change-Id: Icf7d91c744a5fc3929b8fd4e5cd9bca583f5b4af CRs-Fixed: 2262693 --- fw/wmi_unified.h | 6 ++++++ fw/wmi_version.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 924da7c71d72..f466ba65db96 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -38186,6 +38186,10 @@ typedef struct { /* bit 17-31 of flags is reserved for powersave and WAL */ +/* bit 23: WLM_FLAGS_PS_DISABLE_MLO_PROBE_SCAN, + * disable MLO probe scan if bit is set + */ +#define WLM_FLAGS_PS_DISABLE_MLO_PROBE_SCAN 1 /* disable MLO probe scan */ #define WLM_FLAGS_SCAN_IS_SUPPRESS(flag) WMI_GET_BITS(flag, 0, 1) #define WLM_FLAGS_SCAN_SET_SUPPRESS(flag, val) WMI_SET_BITS(flag, 0, 1, val) @@ -38220,6 +38224,8 @@ typedef struct { #define WLM_FLAGS_SCAN_SET_SPLIT_PAS_CH_ENABLE(flag, val) WMI_SET_BITS(flag, 21, 1, val) #define WLM_FLAGS_SCAN_IS_ADAPT_SCAN_ENABLED(flag) WMI_GET_BITS(flag, 22, 1) #define WLM_FLAGS_SCAN_SET_ADAPT_SCAN_ENABLE(flag, val) WMI_SET_BITS(flag, 22, 1, val) +#define WLM_FLAGS_PS_IS_MLO_PROBE_SCAN_DISABLED(flag) WMI_GET_BITS(flag, 23, 1) +#define WLM_FLAGS_PS_SET_MLO_PROBE_SCAN_DISABLE(flag, val) WMI_SET_BITS(flag, 23, 1, val) #define WLM_FLAGS_SET_FORCE_DEFAULT_LATENCY(flag, val) WMI_SET_BITS(flag, 0, 1, val) #define WLM_FLAGS_GET_FORCE_DEFAULT_LATENCY(flag) WMI_GET_BITS(flag, 0, 1) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index c95e2b33f697..6a0636cb656c 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_ 1404 +#define __WMI_REVISION_ 1405 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From cd65453b051b203f3ff86b1fbfb48dbd635a57ed Mon Sep 17 00:00:00 2001 From: spuligil Date: Mon, 23 Oct 2023 12:01:21 -0700 Subject: [PATCH 15/20] fw-api: CL 25027860 - update fw common interface files WMI: add WOW_REASON_STX_WOW_HIGH_DUTY_CYCLE def Change-Id: I644f11b3a099ee4bfe797735efd2fe1c9440ccb0 CRs-Fixed: 2262693 --- fw/wmi_unified.h | 2 ++ fw/wmi_version.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index f466ba65db96..b4e979facbde 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -23366,6 +23366,8 @@ typedef enum wake_reason_e { WOW_REASON_COEX_CHAVD, /* vdev repurpose request event */ WOW_REASON_VDEV_REPURPOSE, + /* STX High duty cycle event */ + WOW_REASON_STX_WOW_HIGH_DUTY_CYCLE, /* add new WOW_REASON_ defs before this line */ WOW_REASON_MAX, diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 6a0636cb656c..fffc9fff8c9f 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_ 1405 +#define __WMI_REVISION_ 1406 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From b3f1f9bdca11f12c997ce69056744559de838ce4 Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 24 Oct 2023 12:01:13 -0700 Subject: [PATCH 16/20] fw-api: CL 25036225 - update fw common interface files WMI: add AUDIO_TRANSPORT_SWITCH RESP_STATUS_CMD,TYPE_EVENT msg defs Change-Id: I2dcdd9367b5d674b00d6daa1bb61ef31f1423137 CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 14 ++++++++++++++ fw/wmi_unified.h | 36 ++++++++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 51 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 96aa4ce897c7..4614204fa3a1 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1412,6 +1412,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_utf_event_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_oob_connection_req_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_oob_connection_resp_event_fixed_param, + WMITLV_TAG_STRUC_wmi_audio_transport_switch_resp_status_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_audio_transport_switch_type_event_fixed_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -1950,6 +1952,7 @@ typedef enum { OP(WMI_CSA_EVENT_STATUS_INDICATION_CMDID) \ OP(WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID) \ OP(WMI_VDEV_OOB_CONNECTION_REQ_CMDID) \ + OP(WMI_AUDIO_TRANSPORT_SWITCH_RESP_STATUS_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -2269,6 +2272,7 @@ typedef enum { OP(WMI_MLO_LINK_STATE_SWITCH_EVENTID) \ OP(WMI_VDEV_SCHED_MODE_PROBE_RESP_EVENTID) \ OP(WMI_VDEV_OOB_CONNECTION_RESP_EVENTID) \ + OP(WMI_AUDIO_TRANSPORT_SWITCH_TYPE_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -5402,6 +5406,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_PARAM_ENABLE_SR_PROHIBIT_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_xgap_enable_cmd_fixed_param, wmi_xgap_enable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_XGAP_ENABLE_CMDID); +/* WMI cmd to indicate bearer switch response status (succcess, fail or timeout) to the corresponding switch type request */ +#define WMITLV_TABLE_WMI_AUDIO_TRANSPORT_SWITCH_RESP_STATUS_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_transport_switch_resp_status_cmd_fixed_param, wmi_audio_transport_switch_resp_status_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_TRANSPORT_SWITCH_RESP_STATUS_CMDID); + #define WMITLV_TABLE_WMI_ODD_LIVEDUMP_REQUEST_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_livedump_request_cmd_fixed_param, wmi_livedump_request_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, odd_livedump_id_list, WMITLV_SIZE_VAR) @@ -7400,6 +7409,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_HEALTH_MON_INIT_DONE_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_xgap_enable_complete_event_fixed_param, wmi_xgap_enable_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_XGAP_ENABLE_COMPLETE_EVENTID); +/* Event to switch to xpan to ble or ble to xpan */ +#define WMITLV_TABLE_WMI_AUDIO_TRANSPORT_SWITCH_TYPE_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_transport_switch_type_event_fixed_param, wmi_audio_transport_switch_type_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_TRANSPORT_SWITCH_TYPE_EVENTID); + /* ODD Livedump */ #define WMITLV_TABLE_WMI_ODD_LIVEDUMP_RESPONSE_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_livedump_response_event_fixed_param, wmi_livedump_response_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index b4e979facbde..bf82a609d862 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1245,6 +1245,9 @@ typedef enum { /* WMI comamnd for standalone sounding */ WMI_VDEV_STANDALONE_SOUND_CMDID, + /* WMI cmd used by host to send the switch response status to FW */ + WMI_AUDIO_TRANSPORT_SWITCH_RESP_STATUS_CMDID, + /* Offload 11k related requests */ WMI_11K_OFFLOAD_REPORT_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_11K_OFFLOAD), /* invoke neighbor report from FW */ @@ -2248,6 +2251,9 @@ typedef enum { /* WMI standalone command complete Event */ WMI_VDEV_STANDALONE_SOUND_COMPLETE_EVENTID, + /* WMI evt to indicate switch type either to WLAN(XPAN) or non_WLAN(BLE) */ + WMI_AUDIO_TRANSPORT_SWITCH_TYPE_EVENTID, + /* GPIO Event */ WMI_GPIO_INPUT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_GPIO), @@ -36983,6 +36989,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_CSA_EVENT_STATUS_INDICATION_CMDID); WMI_RETURN_STRING(WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID); WMI_RETURN_STRING(WMI_VDEV_OOB_CONNECTION_REQ_CMDID); + WMI_RETURN_STRING(WMI_AUDIO_TRANSPORT_SWITCH_RESP_STATUS_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; @@ -47087,6 +47094,35 @@ typedef struct { A_UINT32 connect_resp_type; } wmi_vdev_oob_connection_resp_event_fixed_param; +typedef enum { + WMI_AUDIO_TRANSPORT_SWITCH_STATUS_FAIL = 0, + WMI_AUDIO_TRANSPORT_SWITCH_STATUS_SUCCESS, + WMI_AUDIO_TRANSPORT_SWITCH_STATUS_TIMEOUT, +} WMI_AUDIO_TRANSPORT_SWITCH_RESPONSE_STATUS; + +typedef enum { + WMI_AUDIO_TRANSPORT_SWITCH_TYPE_NON_WLAN = 0, + WMI_AUDIO_TRANSPORT_SWITCH_TYPE_WLAN = 1, +} WMI_AUDIO_TRANSPORT_SWITCH_TYPE; + +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_audio_transport_switch_type_event_fixed_param */ + A_UINT32 tlv_header; + /** This indicates whether FW is requesting for switch to WLAN(XPAN) or non-WLAN(BLE) */ + A_UINT32 switch_type; /*see definition of WMI_AUDIO_TRANSPORT_SWITCH_TYPE */ +} wmi_audio_transport_switch_type_event_fixed_param; + +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_audio_transport_switch_resp_status_cmd_fixed_param */ + A_UINT32 tlv_header; + /** This indicates whether switch response status is success, fail, timeout */ + A_UINT32 switch_response_status; /* see definition of WMI_AUDIO_TRANSPORT_SWITCH_RESPONSE_STATUS */ + /** This indicates for which switch type (WLAN(XPAN) or non-WLAN(BLE)) the switch response status is intended to */ + A_UINT32 switch_type; /* see definition of WMI_AUDIO_TRANSPORT_SWITCH_TYPE */ +} wmi_audio_transport_switch_resp_status_cmd_fixed_param; + /* ADD NEW DEFS HERE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index fffc9fff8c9f..f9df479ffd6b 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_ 1406 +#define __WMI_REVISION_ 1407 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From f26ad828af4b10208afdd1217f08c340d1ae16dd Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 25 Oct 2023 06:01:27 -0700 Subject: [PATCH 17/20] fw-api: CL 25039724 - update fw common interface files HTT stats: add nf_cal_iteration_counts to phy_reset_stats TLV Change-Id: Ief09fa7c2c923f00c4198735d39457cf208a0797 CRs-Fixed: 2262693 --- fw/htt_stats.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fw/htt_stats.h b/fw/htt_stats.h index bc870a81f8c5..3620fa21eba4 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -8292,6 +8292,13 @@ typedef struct { * values are specified by the HTT_WHAL_CONFIG enum type */ A_UINT32 whal_config_flag; + /** nfcal_iteration_counts: + * iteration count for Home/Scan/Periodic Noise Floor calibrations + * nfcal_iteration_counts[0] - home NF iteration counter + * nfcal_iteration_counts[1] - scan NF iteration counter + * nfcal_iteration_counts[2] - periodic NF iteration counter + */ + A_UINT32 nfcal_iteration_counts[3]; } htt_stats_phy_reset_stats_tlv; /* preserve old name alias for new name consistent with the tag name */ typedef htt_stats_phy_reset_stats_tlv htt_phy_reset_stats_tlv; From 097d89c8311493a5530f5a4bf7ecb917c5d5d220 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 25 Oct 2023 18:01:16 -0700 Subject: [PATCH 18/20] fw-api: CL 25039727 - update fw common interface files add WMI_PDEV_PARAM_TID_MAPPING_3LINK_MLO def Change-Id: I1aab1e38ce8331e75611b2b76cc0e65e1518e8af CRs-Fixed: 2262693 --- fw/wmi_unified.h | 3 +++ fw/wmi_version.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index bf82a609d862..1f631675da2d 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -9331,6 +9331,9 @@ typedef enum { /** Parameter to set PDEV level UL OFDMA RTD */ WMI_PDEV_PARAM_UL_OFDMA_RTD, + + /** Parameter to enable/disable tid0 and tid3 mapping to work 3 Link MLO */ + WMI_PDEV_PARAM_TID_MAPPING_3LINK_MLO, } WMI_PDEV_PARAM; #define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index f9df479ffd6b..8bea4d4d67e0 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_ 1407 +#define __WMI_REVISION_ 1408 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 70d2e993ca18d1ce07313a17e6272f19279c2882 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 25 Oct 2023 18:02:28 -0700 Subject: [PATCH 19/20] fw-api: CL 25043321 - update fw common interface files WMI: add band info bitfield to mgmt_tx_compl_event Change-Id: Ib69fd8fa9767f21956606b983344b422e1507f8e CRs-Fixed: 2262693 --- fw/htt_stats.h | 2 ++ fw/wmi_unified.h | 8 ++++++++ fw/wmi_version.h | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/fw/htt_stats.h b/fw/htt_stats.h index 3620fa21eba4..14e4cb17d2be 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -8297,6 +8297,8 @@ typedef struct { * nfcal_iteration_counts[0] - home NF iteration counter * nfcal_iteration_counts[1] - scan NF iteration counter * nfcal_iteration_counts[2] - periodic NF iteration counter + * These counters are not reset automatically; they are only reset + * when explicitly requested by the host. */ A_UINT32 nfcal_iteration_counts[3]; } htt_stats_phy_reset_stats_tlv; diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 1f631675da2d..cb0e6dd14d0a 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -9860,6 +9860,14 @@ typedef struct { /* current 64 bit TSF timestamp */ A_UINT32 tx_tsf_l32; A_UINT32 tx_tsf_u32; + /* info: + * Bit[0:2] - band on which frame is sent, band value will be + * one of the wmi_mlo_band_info_t enum constants. + * Macros WMI_ROAM_BTM_RESP_MLO_BAND_INFO_GET,SET + * can be reused for setting mlo band info. + * Bit[3:31] - reserved + */ + A_UINT32 info; } wmi_mgmt_tx_compl_event_fixed_param; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 8bea4d4d67e0..4e366e129b1c 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_ 1408 +#define __WMI_REVISION_ 1409 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 74b6f48d49feef95684a464d64227cc24c7c0b5c Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 25 Oct 2023 18:03:44 -0700 Subject: [PATCH 20/20] fw-api: CL 25045621 - update fw common interface files add WMI_VDEV_PARAM_MLO_MAX_RECOM_ACTIVE_LINKS def Change-Id: I7b509b2b327ec77a1b093dee6a4558db163f0610 CRs-Fixed: 2262693 --- fw/wmi_unified.h | 5 +++++ fw/wmi_version.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index cb0e6dd14d0a..de538c1c1b00 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -18227,6 +18227,11 @@ typedef enum { */ WMI_VDEV_PARAM_DISABLE_TWT_INFO_FRAME, /* 0xC0 */ + /* + * Set the Recommended Max allowed active links + */ + WMI_VDEV_PARAM_MLO_MAX_RECOM_ACTIVE_LINKS, /* 0xC1 */ + /*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE === * The below vdev param types are used for prototyping, and are diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 4e366e129b1c..0fc6335fba95 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_ 1409 +#define __WMI_REVISION_ 1410 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work