From 5913a2bf78f43ca9e8b4666ac0d1b380be43b4cb Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 14 Nov 2024 06:02:11 -0800 Subject: [PATCH] fw-api: CL 28053398 - update fw common interface files Change-Id: I2db1f0561edcfb9f0cb0f61bb3cb7fe6ddb6015e CRs-Fixed: 3830439 --- fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 4 ++- fw/wmi_unified.h | 62 +++++++++++++++++++++++++++++++++++++---------- fw/wmi_version.h | 2 +- 4 files changed, 54 insertions(+), 15 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 7f8e6da34d89..ead31fb77426 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -690,6 +690,7 @@ typedef enum { WMI_SERVICE_SCAN_CACHE_REPORT_SUPPORT = 431, /* Indicates FW supports for sending scan cache report */ WMI_SERVICE_SCC_TPC_POWER_SUPPORT = 432, /* Indicates FW supports setting TPC power for SCC vdevs */ WMI_SERVICE_DYNAMIC_TWT_MODE_SUPPORT = 433, /* Indicates FW supports Dynamic TWT mode for vdevs */ + WMI_SERVICE_SPECTRAL_SPUR_BIN_INFO_SUPPORT = 434, /* Indicates FW supports indicating spur frequency and spectral bin that gets affected due to spur frequency */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 41267db6ef46..856c6ba0c2f5 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1469,6 +1469,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_wifi_radar_chain_capabilities, WMITLV_TAG_STRUC_wmi_sawf_ezmesh_hop_count_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_ctrl_path_pdev_conn_stats_struct, + WMITLV_TAG_STRUC_wmi_pdev_sscan_spur_chan_impacted_bin_info, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -7494,7 +7495,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_SCHED_METHOD_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_sscan_fw_cmd_fixed_param, wmi_pdev_sscan_fw_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_sscan_fft_bin_index, fft_bin_index, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_sscan_chan_info, wmi_pdev_sscan_chan_info,chan_info, WMITLV_SIZE_FIX) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_sscan_per_detector_info, det_info, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_sscan_per_detector_info, det_info, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_sscan_spur_chan_impacted_bin_info, spur_chan_impacted_bin_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SSCAN_FW_PARAM_EVENTID); /* Send sscan related event start/stop trigger to host */ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index b3e741df5086..344925a0f32b 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -124,7 +124,6 @@ extern "C" { #define WMI_MAX_CHAINS 8 #define WMI_MAX_CHAINS_FOR_AOA_RCC 2 #define WMI_MAX_ADDRESS_SPACE 10 -#define WMI_MAX_PEER_STA_KICKOUT_REASON 8 #define MAX_AOA_PHASEDELTA 31 /* 62 gain values */ @@ -8488,6 +8487,28 @@ typedef struct A_UINT32 end_freq; /* in MHz */ } wmi_pdev_sscan_per_detector_info; +typedef struct +{ + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_sscan_spur_chan_info */ + /* spur_freqx10: + * Spur frequency in MHz multiplied by 10 to align with hardware spur + * characterized value. + * For example, a value of 24224 indicates spur frequency as 2422.4 MHz + */ + A_UINT32 spur_freqx10; + /* spur_start_bin_idx: + * Indicates the start spur bin index at which spur frequency impacts + * the spectral capture. Impact is from start to end indices, + * including both. + */ + A_UINT32 spur_start_bin_idx; + /* spur_end_bin_idx: + * Indicates the end spur bin index in which spur frequency impacts + * the spectral capture. + */ + A_UINT32 spur_end_bin_idx; +} wmi_pdev_sscan_spur_chan_impacted_bin_info; + typedef enum { /** Enum to indicate bmsk of spectral scan stop evt on scan count max out */ WMI_SSCAN_EVT_BMSK_SCAN_STOP_SCOUNT = 0X00000001, @@ -16611,6 +16632,28 @@ typedef struct { A_UINT32 beacon_wait_prev_txdone; } wmi_ctrl_path_pdev_bcn_tx_stats_struct; +typedef enum wmi_peer_sta_kickout_reason { + WMI_PEER_STA_KICKOUT_REASON_UNSPECIFIED = 0, /* default value to preserve legacy behavior */ + WMI_PEER_STA_KICKOUT_REASON_XRETRY = 1, + WMI_PEER_STA_KICKOUT_REASON_INACTIVITY = 2, + WMI_PEER_STA_KICKOUT_REASON_IBSS_DISCONNECT = 3, + 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 */ + + WMI_PEER_STA_KICKOUT_REASON_RESERVED1 = 8, /* available for future use */ + WMI_PEER_STA_KICKOUT_REASON_RESERVED2 = 9, /* available for future use */ + WMI_PEER_STA_KICKOUT_REASON_RESERVED3 = 10, /* available for future use */ + WMI_PEER_STA_KICKOUT_REASON_RESERVED4 = 11, /* available for future use */ + + /* WMI_MAX_PEER_STA_KICKOUT_REASON: + * For the sake of backwards compatibility, the below value + * cannot be changed. + */ + WMI_MAX_PEER_STA_KICKOUT_REASON = 12 +} PEER_KICKOUT_REASON; + typedef struct { A_UINT32 tlv_header; A_UINT32 pdev_id; @@ -16619,7 +16662,11 @@ typedef struct { A_UINT32 tx_mgmt_subtype_tx_comp_fail[WMI_MGMT_FRAME_SUBTYPE_MAX]; A_UINT32 tx_mgmt_subtype_enq_fail[WMI_MGMT_FRAME_SUBTYPE_MAX]; A_UINT32 rx_mgmt_subtype[WMI_MGMT_FRAME_SUBTYPE_MAX]; - A_UINT16 peer_sta_kickout_reason_cnt[WMI_MAX_PEER_STA_KICKOUT_REASON]; + /* peer_sta_kickout_reason_cnt: + * Refer to wmi_peer_sta_kickout_reason for which array element + * corresponds to which STA kickout reason. + */ + A_UINT32 peer_sta_kickout_reason_cnt[WMI_MAX_PEER_STA_KICKOUT_REASON]; A_UINT32 wmi_scan_start_cnt; A_UINT32 wmi_scan_start_fail_cnt; A_UINT32 foreign_chan_entry_cnt; @@ -24170,17 +24217,6 @@ typedef struct { A_UINT32 time0; /* lower 32 bits of time stamp */ } A_TIME64; -typedef enum wmi_peer_sta_kickout_reason { - WMI_PEER_STA_KICKOUT_REASON_UNSPECIFIED = 0, /* default value to preserve legacy behavior */ - WMI_PEER_STA_KICKOUT_REASON_XRETRY = 1, - WMI_PEER_STA_KICKOUT_REASON_INACTIVITY = 2, - WMI_PEER_STA_KICKOUT_REASON_IBSS_DISCONNECT = 3, - 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 { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_sta_kickout_event_fixed_param */ /** peer mac address */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index e95312ef9ae7..0bef1f1c1347 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_ 1553 +#define __WMI_REVISION_ 1554 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work