From 7232c74e1fd2dec6d8e2e352c1e6fe92f2a541f4 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 1 Nov 2023 06:01:50 -0700 Subject: [PATCH 1/5] fw-api: CL 25104553 - update fw common interface files WMI: add dbw_chan info to vdev start msgs Change-Id: Ifa94cf66c0f1e7fd43917be108bd23fb84bfe1dc CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 13 ++++++++++--- fw/wmi_unified.h | 14 ++++++++++++++ fw/wmi_version.h | 2 +- 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index d904a30ccf84..8f098f38c7d9 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -645,6 +645,7 @@ typedef enum { 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_SERVICE_SW_PROG_DFS_SUPPORT = 395, /* Indicate FW support SW progressive DFS */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 4614204fa3a1..41e1e785f0c7 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1414,6 +1414,7 @@ typedef enum { 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_STRUC_wmi_dbw_chan_info, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -2656,7 +2657,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_WMM_PARAMS_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_channel, wmi_channel, chan, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_p2p_noa_descriptor, noa_descriptors, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_start_mlo_params, mlo_params, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_partner_link_params, partner_link_params, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_partner_link_params, partner_link_params, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_channel, dbw_chan, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dbw_chan_info, dbw_chan_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_START_REQUEST_CMDID); @@ -2664,7 +2667,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_START_REQUEST_CMDID); #define WMITLV_TABLE_WMI_VDEV_RESTART_REQUEST_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_start_request_cmd_fixed_param, wmi_vdev_start_request_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_channel, wmi_channel, chan, WMITLV_SIZE_FIX) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_p2p_noa_descriptor, noa_descriptors, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_p2p_noa_descriptor, noa_descriptors, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_channel, dbw_chan, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dbw_chan_info, dbw_chan_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_RESTART_REQUEST_CMDID); @@ -4720,7 +4725,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_MESH_RX_FILTER_ENABLE_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_channel, wmi_channel, chan, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, phymode_list, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, preferred_tx_stream_list, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, preferred_rx_stream_list, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, preferred_rx_stream_list, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_channel, dbw_chan, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dbw_chan_info, dbw_chan_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMDID); #define WMITLV_TABLE_WMI_PDEV_UPDATE_PKT_ROUTING_CMDID(id,op,buf,len) \ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index de538c1c1b00..6b12d1677f05 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -10080,6 +10080,12 @@ typedef struct { wmi_channel chan; } wmi_pdev_set_channel_cmd; +typedef struct { + A_UINT32 tlv_header; + /* DBW puncture bitmap */ + A_UINT32 dbw_puncture_20mhz_bitmap; +} wmi_dbw_chan_info; + typedef enum { WMI_PKTLOG_EVENT_RX = 0x00000001, WMI_PKTLOG_EVENT_TX = 0x00000002, @@ -16971,6 +16977,10 @@ typedef struct { * wmi_partner_link_info link_info[]; <-- partner link info * optional TLV, only present for MLO vdevs, * If the vdev is non-MLO the array length should be 0. + * wmi_channel dbw_chan; <-- WMI channel + * optional TLV for dbw_chan + * wmi_dbw_chan_info dbw_chan_info + * optional TLV used for dbw_chan_info */ } wmi_vdev_start_request_cmd_fixed_param; @@ -37901,6 +37911,10 @@ typedef struct { * with vdev ID as index. * A_UINT32 preferred_rx_streams[]; <-- Array of preferred_rx_streams * with vdev ID as index. + * wmi_channel dbw_chan; <-- WMI channel + * optional TLV for dbw_chan + * wmi_dbw_chan_info dbw_chan_info + * optional TLV used for dbw_chan_info */ } wmi_pdev_multiple_vdev_restart_request_cmd_fixed_param; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 0fc6335fba95..bc112bae515e 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_ 1410 +#define __WMI_REVISION_ 1411 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From b47a400650f6e77ef688c3dc52d9ac33da648564 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 2 Nov 2023 18:01:50 -0700 Subject: [PATCH 2/5] fw-api: CL 25104555 - update fw common interface files HTT: add TX_FW2WBM_REINJECT_REASON_SAWF_SVC_CLASS_ID_ABSENT def Change-Id: Ic32cc26aa152ab6952bdcdee1e66031f770fa9a5 CRs-Fixed: 2262693 --- fw/htt.h | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 67 insertions(+), 6 deletions(-) diff --git a/fw/htt.h b/fw/htt.h index 045efe9dd2a8..dc79499df4f6 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -255,9 +255,10 @@ * 3.127 Add transmit_count fields in htt_tx_wbm_completion_vX structs. * 3.128 Add H2T TX_LATENCY_STATS_CFG + T2H TX_LATENCY_STATS_PERIODIC_IND * msg defs + * 3.129 Add HTT_TX_FW2WBM_REINJECT_REASON_SAWF_SVC_CLASS_ID_ABSENT def. */ #define HTT_CURRENT_VERSION_MAJOR 3 -#define HTT_CURRENT_VERSION_MINOR 128 +#define HTT_CURRENT_VERSION_MINOR 129 #define HTT_NUM_TX_FRAG_DESC 1024 @@ -2767,6 +2768,7 @@ typedef enum { HTT_TX_FW2WBM_REINJECT_REASON_DHCP, HTT_TX_FW2WBM_REINJECT_REASON_FLOW_CONTROL, HTT_TX_FW2WBM_REINJECT_REASON_MLO_MCAST, + HTT_TX_FW2WBM_REINJECT_REASON_SAWF_SVC_CLASS_ID_ABSENT, HTT_TX_FW2WBM_REINJECT_REASON_MAX, } htt_tx_fw2wbm_reinject_reason_t; @@ -3224,14 +3226,73 @@ PREPACK struct htt_tx_wbm_transmit_status { * used only if tx_status is HTT_TX_FW2WBM_TX_STATUS_REINJECT. */ PREPACK struct htt_tx_wbm_reinject_status { + A_UINT32 + sw_peer_id : 16, + data_length : 16; + A_UINT32 + tid : 5, + msduq_idx : 4, + reserved1 : 23; A_UINT32 - reserved0: 32; - A_UINT32 - reserved1: 32; - A_UINT32 - reserved2: 32; + reserved2: 32; } POSTPACK; +#define HTT_TX_WBM_REINJECT_SW_PEER_ID_M 0x0000ffff +#define HTT_TX_WBM_REINJECT_SW_PEER_ID_S 0 +#define HTT_TX_WBM_REINJECT_DATA_LEN_M 0xffff0000 +#define HTT_TX_WBM_REINJECT_DATA_LEN_S 16 + +#define HTT_TX_WBM_REINJECT_TID_M 0x0000001f +#define HTT_TX_WBM_REINJECT_TID_S 0 +#define HTT_TX_WBM_REINJECT_MSDUQ_ID_M 0x000001e0 +#define HTT_TX_WBM_REINJECT_MSDUQ_ID_S 5 + +#define HTT_TX_WBM_REINJECT_SW_PEER_ID_GET(_var)\ + (((_var) & HTT_TX_WBM_REINJECT_SW_PEER_ID_M) >>\ + HTT_TX_WBM_REINJECT_SW_PEER_ID_S)\ + +#define HTT_TX_WBM_REINJECT_SW_PEER_ID_SET(_var, _val)\ + do {\ + HTT_CHECK_SET_VAL(HTT_TX_WBM_REINJECT_SW_PEER_ID, _val); \ + ((_var) |= ((_val) << HTT_TX_WBM_REINJECT_SW_PEER_ID_S));\ + } while(0) + +#define HTT_TX_WBM_REINJECT_DATA_LEN_GET(_var)\ + (((_var) & HTT_TX_WBM_REINJECT_DATA_LEN_M) >>\ + HTT_TX_WBM_REINJECT_DATA_LEN_S)\ + +#define HTT_TX_WBM_REINJECT_DATA_LEN_SET(_var, _val)\ + do {\ + HTT_CHECK_SET_VAL(HTT_TX_WBM_REINJECT_DATA_LEN, _val); \ + ((_var) |= ((_val) << HTT_TX_WBM_REINJECT_DATA_LEN_S));\ + } while(0) + +#define HTT_TX_WBM_REINJECT_TID_GET(_var)\ + (((_var) & HTT_TX_WBM_REINJECT_TID_M) >>\ + HTT_TX_WBM_REINJECT_TID_S)\ + +#define HTT_TX_WBM_REINJECT_TID_SET(_var, _val)\ + do {\ + HTT_CHECK_SET_VAL(HTT_TX_WBM_REINJECT_TID, _val); \ + ((_var) |= ((_val) << HTT_TX_WBM_REINJECT_TID_S));\ + } while(0) + +#define HTT_TX_WBM_REINJECT_MSDUQ_ID_GET(_var)\ + (((_var) & HTT_TX_WBM_REINJECT_MSDUQ_ID_M) >>\ + HTT_TX_WBM_REINJECT_MSDUQ_ID_S)\ + +#define HTT_TX_WBM_REINJECT_MSDUQ_ID_SET(_var, _val)\ + do {\ + HTT_CHECK_SET_VAL(HTT_TX_WBM_REINJECT_MSDUQ_ID, _val); \ + ((_var) |= ((_val) << HTT_TX_WBM_REINJECT_MSDUQ_ID_S));\ + } while(0) + + + + + + + /** * @brief HTT TX WBM multicast echo check notification from firmware to host * @details From 4f216dbafc8edd80378697376ad74401242cb0f5 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 3 Nov 2023 06:01:44 -0700 Subject: [PATCH 3/5] fw-api: CL 25134675 - update fw common interface files WMI: add PEER_MULTIPLE_REORDER_QUEUE_SETUP_CMD msg def Change-Id: I725cdbc45641b9c4536dc013c3b459063654b598 CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 9 +++++++++ fw/wmi_unified.h | 37 +++++++++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 4 files changed, 48 insertions(+), 1 deletion(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 8f098f38c7d9..bbeda80c7edc 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -646,6 +646,7 @@ typedef enum { 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_SERVICE_SW_PROG_DFS_SUPPORT = 395, /* Indicate FW support SW progressive DFS */ + WMI_SERVICE_MULTIPLE_REORDER_QUEUE_SETUP_SUPPORT = 396, /* Indicate FW supports multiple TID reorder queues setup in one cmd */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 41e1e785f0c7..58f8dc99ddbb 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1415,6 +1415,8 @@ typedef enum { 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_STRUC_wmi_dbw_chan_info, + WMITLV_TAG_STRUC_wmi_peer_multiple_reorder_queue_setup_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_peer_per_reorder_q_setup_params_t, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -1954,6 +1956,7 @@ typedef enum { OP(WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID) \ OP(WMI_VDEV_OOB_CONNECTION_REQ_CMDID) \ OP(WMI_AUDIO_TRANSPORT_SWITCH_RESP_STATUS_CMDID) \ + OP(WMI_PEER_MULTIPLE_REORDER_QUEUE_SETUP_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -4617,6 +4620,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_REORDER_QUEUE_SETUP_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_reorder_queue_remove_cmd_fixed_param, wmi_peer_reorder_queue_remove_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PEER_REORDER_QUEUE_REMOVE_CMDID); +/* peer multiple reorder queue setup cmd */ +#define WMITLV_TABLE_WMI_PEER_MULTIPLE_REORDER_QUEUE_SETUP_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_multiple_reorder_queue_setup_cmd_fixed_param, wmi_peer_multiple_reorder_queue_setup_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_per_reorder_q_setup_params_t, reorder_params_list, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_PEER_MULTIPLE_REORDER_QUEUE_SETUP_CMDID); + /* Filter in monitor mode parameters Cmd */ #define WMITLV_TABLE_WMI_MNT_FILTER_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mnt_filter_cmd_fixed_param, wmi_mnt_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 6b12d1677f05..76b5cc488a56 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -761,6 +761,9 @@ typedef enum { /* Group SET cmd for PEERS */ WMI_PEER_BULK_SET_CMDID, + /* WMI command to setup reorder queue for multiple TIDs */ + WMI_PEER_MULTIPLE_REORDER_QUEUE_SETUP_CMDID, + /* beacon/management specific commands */ /** transmit beacon by reference . used for transmitting beacon on low latency interface like pcie */ @@ -31748,6 +31751,39 @@ typedef struct { * established or terminated for the TID. */ } wmi_peer_reorder_queue_setup_cmd_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_per_reorder_q_setup_params_t */ + A_UINT32 tid; /* 0 to 15 = QoS TIDs, 16 = non-qos TID */ + A_UINT32 queue_ptr_lo; /* lower 32 bits of queue desc address */ + A_UINT32 queue_ptr_hi; /* upper 32 bits of queue desc address */ + A_UINT32 queue_no; /* 16-bit number assigned by host for queue, + * stored in bits 15:0 of queue_no field */ + A_UINT32 ba_window_size_valid; /* Is ba_window_size valid? + * 0 = Invalid, 1 = Valid */ + A_UINT32 ba_window_size; /* Valid values: 0 to 256 + * Host sends the message when BA session is + * established or terminated for the TID. */ +} wmi_peer_per_reorder_q_setup_params_t; + +/** + * This command is sent from WLAN host driver to firmware for + * plugging in reorder queue desc to hw for multiple TIDs in one shot. + * + * Example: plug-in queue desc + * host->target: WMI_PEER_MULTIPLE_REORDER_QUEUE_SETUP_CMDID, + * (vdev_id = PEER vdev id, + * peer_macaddr = PEER mac addr) + */ +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_multiple_reorder_queue_setup_cmd_fixed_param */ + A_UINT32 vdev_id; + wmi_mac_addr peer_macaddr; /* peer mac address */ +/* + * This struct is followed by other TLVs: + * wmi_peer_per_reorder_q_setup_params_t q_setup_params[num_queues]; + */ +} wmi_peer_multiple_reorder_queue_setup_cmd_fixed_param; + /** * This command is sent from WLAN host driver to firmware for * removing one or more reorder queue desc to lithium hw. @@ -37016,6 +37052,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) 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); + WMI_RETURN_STRING(WMI_PEER_MULTIPLE_REORDER_QUEUE_SETUP_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index bc112bae515e..fbd1334f8fff 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_ 1411 +#define __WMI_REVISION_ 1412 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From 3d19afdeb7b3b61b6b2f3320dffe09145d777741 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sat, 4 Nov 2023 12:01:43 -0700 Subject: [PATCH 4/5] fw-api: CL 25166743 - update fw common interface files add WMI_SCAN_FLAG_EXT_STOP_IF_BSSID_FOUND def Change-Id: Iddfe8f26cd238281b2ef5dcf07add56a6b5f0771 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 76b5cc488a56..aff144e02a14 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -5926,6 +5926,7 @@ typedef enum { #define WMI_SCAN_FLAG_EXT_RELIABLE_SCAN 0x00010000 #define WMI_SCAN_FLAG_EXT_FAST_SCAN 0x00020000 #define WMI_SCAN_FLAG_EXT_LOW_POWER_SCAN 0x00040000 +#define WMI_SCAN_FLAG_EXT_STOP_IF_BSSID_FOUND 0x00080000 /** diff --git a/fw/wmi_version.h b/fw/wmi_version.h index fbd1334f8fff..83ea47af2271 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_ 1412 +#define __WMI_REVISION_ 1413 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work From b1d6f5963fdfa25ac6a9794cedcb7c0451827513 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sat, 4 Nov 2023 18:01:26 -0700 Subject: [PATCH 5/5] fw-api: CL 25170657 - update fw common interface files HTT stats: add avg_chan_acc_lat_hist[] in pdev_sched_algo_ofdma_stats TLV Change-Id: I9ac0a5f18bf8588208dcdbedf785125da08dab0a CRs-Fixed: 2262693 --- fw/htt_stats.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/fw/htt_stats.h b/fw/htt_stats.h index 14e4cb17d2be..d1e1b94de749 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -9350,6 +9350,8 @@ typedef enum { HTT_STATS_SCHED_OFDMA_TXBF_INELIGIBILITY_MAX, } htt_stats_sched_ofdma_txbf_ineligibility_t; +#define HTT_MAX_NUM_CHAN_ACC_LAT_INTR 9 + typedef struct { htt_tlv_hdr_t tlv_hdr; /** @@ -9393,6 +9395,19 @@ 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]; + /** Average channel access latency histogram stats + * + * avg_chan_acc_lat_hist[0]: channel access latency is < 100 us + * avg_chan_acc_lat_hist[1]: 100 us <= channel access latency < 200 us + * avg_chan_acc_lat_hist[2]: 200 us <= channel access latency < 300 us + * avg_chan_acc_lat_hist[3]: 300 us <= channel access latency < 400 us + * avg_chan_acc_lat_hist[4]: 400 us <= channel access latency < 500 us + * avg_chan_acc_lat_hist[5]: 500 us <= channel access latency < 1000 us + * avg_chan_acc_lat_hist[6]: 1000 us <= channel access latency < 1500 us + * avg_chan_acc_lat_hist[7]: 1500 us <= channel access latency < 2000 us + * avg_chan_acc_lat_hist[8]: channel access latency is >= 2000 us + */ + A_UINT32 avg_chan_acc_lat_hist[HTT_MAX_NUM_CHAN_ACC_LAT_INTR]; } 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