fw-api: CL 32290054 - update fw common interface files

Change-Id: I83ff29000fadbd95de529b1d203579b7fd05a844
CRs-Fixed: 3830439
This commit is contained in:
spuligil 2026-04-18 18:01:49 -07:00
commit 1c6d12855d
4 changed files with 135 additions and 4 deletions

View file

@ -781,6 +781,11 @@ typedef enum {
/* Indicates FW support to perform Master migration when master peer gets deleted */
WMI_SERVICE_ML_PEER_MASTER_MIGRATION_SUPPORT = 500,
WMI_SERVICE_NAN_AP_ASSISTED_DFS_OPERATION_SUPPORT = 501, /* Indicates FW supports NAN DFS operation */
/*
* Indicates FW supports TDLS Stats command/event,
* used for sending TDLS connect info and TDLS data stats
*/
WMI_SERVICE_TDLS_STATS_SUPPORT = 502,
WMI_MAX_EXT2_SERVICE

View file

@ -1617,6 +1617,10 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_peer_uhr_omp_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_peer_uhr_omp_npca_params,
WMITLV_TAG_STRUC_wmi_nan_dfs_channel_availability_ind_event_fixed_param,
WMITLV_TAG_STRUC_wmi_request_tdls_stats_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_tdls_stats_event_fixed_param,
WMITLV_TAG_STRUC_wmi_tdls_connect_info_stats,
WMITLV_TAG_STRUC_wmi_tdls_data_stats,
} WMITLV_TAG_ID;
/*
* IMPORTANT: Please add _ALL_ WMI Commands Here.
@ -2222,6 +2226,7 @@ typedef enum {
OP(WMI_COEX_GET_POLICY_STATS_CMDID) \
OP(WMI_PDEV_SET_CUMAC_CHIP_CMDID) \
OP(WMI_PEER_UHR_OMP_CMDID) \
OP(WMI_REQUEST_TDLS_STATS_CMDID) \
/* add new CMD_LIST elements above this line */
@ -2587,6 +2592,7 @@ typedef enum {
OP(WMI_PDEV_SET_CUMAC_CHIP_ID_CONFIRMATION_EVENTID) \
OP(WMI_NDP_CHANNEL_INFO_EVENTID) \
OP(WMI_NAN_DFS_CHANNEL_AVAILABILITY_IND_EVENTID) \
OP(WMI_TDLS_STATS_EVENTID) \
/* add new EVT_LIST elements above this line */
@ -5242,6 +5248,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_CTRL_PATH_STATS_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, mac_addr_list, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_HALPHY_CTRL_PATH_STATS_CMDID);
/* Request TDLS Stats cmd enabling the monitoring of TDLS stats */
#define WMITLV_TABLE_WMI_REQUEST_TDLS_STATS_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_tdls_stats_cmd_fixed_param, wmi_request_tdls_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_TDLS_STATS_CMDID);
/* Host sets the current country code */
#define WMITLV_TABLE_WMI_SET_CURRENT_COUNTRY_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_set_current_country_cmd_fixed_param, wmi_set_current_country_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
@ -8149,6 +8160,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_HALPHY_CTRL_PATH_STATS_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_radio_chan_stats, radio_chan_stats, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_RADIO_CHAN_STATS_EVENTID);
#define WMITLV_TABLE_WMI_TDLS_STATS_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_tdls_stats_event_fixed_param, wmi_tdls_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_tdls_connect_info_stats, tdls_connect_info_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_tdls_data_stats, tdls_data_stats, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_TDLS_STATS_EVENTID);
#define WMITLV_TABLE_WMI_PKGID_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pkgid_event_fixed_param, wmi_pkgid_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PKGID_EVENTID);

View file

@ -1269,6 +1269,8 @@ typedef enum {
/** request for HALPHY stats through ctrl path */
WMI_REQUEST_HALPHY_CTRL_PATH_STATS_CMDID,
/** request for TDLS connect info and TDLS data stats */
WMI_REQUEST_TDLS_STATS_CMDID,
/** ARP OFFLOAD REQUEST*/
WMI_SET_ARP_NS_OFFLOAD_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_ARP_NS_OFL),
@ -2439,6 +2441,9 @@ typedef enum {
/** FW IPA link stats Event */
WMI_IPA_LINK_STATS_EVENTID,
/* TDLS Stats event having TDLS connect info and data stats */
WMI_TDLS_STATS_EVENTID,
/* NLO specific events */
/** NLO match event after the first match */
@ -16135,6 +16140,102 @@ typedef struct {
*/
} wmi_radio_chan_stats_event_fixed_param;
typedef enum {
WMI_TDLS_CHANNEL_SWITCH_FRAME_TX_RX = 0x0,
WMI_TDLS_BT_COEX_INDICATION = 0x1,
} wmi_tdls_connect_info_stats_reason_code;
typedef enum {
WMI_TDLS_FRAME_SUBTYPE_REQUEST = 0x0,
WMI_TDLS_FRAME_SUBTYPE_RESPONSE = 0x1,
} wmi_tdls_connect_info_stats_subtype;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_tdls_connect_info_stats */
A_UINT32 tlv_header;
/* type:
* Type of frame sent to the Peer, will be having value 4,
* i.e TDLS State change
*/
A_UINT32 type;
/* subtype:
* SubType of frame sent to the Peer, eg. req/resp,
* Takes values from enum wmi_tdls_connect_info_stats_subtype.
*/
A_UINT32 subtype;
/* reason_code:
* Reason code for the reason of sending this TLV, eg. for TDLS
* channel switch req/resp or for BT running indication
* Takes values from enum wmi_tdls_connect_info_stats_reason_code.
*/
A_UINT32 reason_code;
/* tx_rx:
* Indicates whether we are sender or receiver of this frame,
* 1 value means Tx, 0 value means Rx.
*/
A_UINT32 tx_rx;
/* Current operating channel frequency */
A_UINT32 op_freq_mhz;
/* Peer MAC address for which this stats is being logged */
wmi_mac_addr peer_mac_addr;
/* The timestamp at which the WMI event is reported. */
A_UINT32 timestamp;
/* Last known RSSI */
A_INT32 rssi; /* dBm units */
/* Peer Dialog token */
A_UINT32 peer_dialog_token;
} wmi_tdls_connect_info_stats;
/* max MCS counters supported for enhance stats */
#define WMI_ENHANCE_STATS_MAX_MCS_COUNTERS 16
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_tdls_data_stats */
A_UINT32 tlv_header;
/* Current operating channel frequency */
A_UINT32 op_freq_mhz;
/* Peer MAC address for which this stats is being logged */
wmi_mac_addr peer_mac_addr;
/* The timestamp at which the WMI event is reported. */
A_UINT32 timestamp;
/* Last known RSSI */
A_INT32 rssi; /* dBm units */
/* Last Tx Data rate */
A_UINT32 data_rate;
/* tx_ppdus_cumulative:
* Total PPDUs Tx-ed combining all the MCS rates over the last 15 secs
*/
A_UINT32 tx_ppdus_cumulative;
/* tx_mcs_data_ppdu:
* PPDUs Txed over each MCS rate for all the supported MCS
* over the last 15 secs
*/
A_UINT32 tx_mcs_data_ppdu[WMI_ENHANCE_STATS_MAX_MCS_COUNTERS];
/* Total PPDU Tx failures seen over the last 15 secs */
A_UINT32 tx_ppdu_failures;
/* Total PPDUs Rx-ed combining all the MCS rates over the last 15 secs */
A_UINT32 rx_ppdus_cumulative;
/* rx_mcs_data_ppdu:
* PPDUs Rxed over each MCS rate for all the supported MCS
* over the last 15 secs
*/
A_UINT32 rx_mcs_data_ppdu[WMI_ENHANCE_STATS_MAX_MCS_COUNTERS];
/* Total Rx PPDU failures seen over the last 15 secs */
A_UINT32 rx_ppdu_failures;
} wmi_tdls_data_stats;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_tdls_stats_event_fixed_param */
A_UINT32 tlv_header;
/** VDEV identifier */
A_UINT32 vdev_id;
/* Total TDLS Peers this VDEV is connected to */
A_UINT32 peer_cnt;
} wmi_tdls_stats_event_fixed_param;
/**
* PDEV statistics
*
@ -39838,6 +39939,16 @@ typedef struct {
A_UINT32 reset_after_request;
} wmi_request_radio_chan_stats_cmd_fixed_param;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_request_tdls_stats_cmd_fixed_param */
A_UINT32 tlv_header;
/** VDEV identifier */
A_UINT32 vdev_id;
/* flag to enable or disable this feature of getting TDLS stats */
A_UINT32 enable;
} wmi_request_tdls_stats_cmd_fixed_param;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_rmc_set_leader_cmd_fixed_param */
@ -42556,6 +42667,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_TWT_ADD_CH_USAGE_CMDID);
WMI_RETURN_STRING(WMI_COEX_GET_POLICY_STATS_CMDID);
WMI_RETURN_STRING(WMI_PEER_UHR_OMP_CMDID);
WMI_RETURN_STRING(WMI_REQUEST_TDLS_STATS_CMDID);
}
return (A_UINT8 *) "Invalid WMI cmd";
@ -49354,9 +49466,6 @@ typedef struct {
/* max beacon bmiss bitmask array size, in 32-bit words */
#define WMI_MAX_BCN_BMISS_HISTORY_LENGTH 8
/* max MCS counters supported for enhance stats */
#define WMI_ENHANCE_STATS_MAX_MCS_COUNTERS 16
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_beacon_stats */
A_UINT32 vdev_id; /* ID of the vdev these beacon stats are from */

View file

@ -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_ 1745
#define __WMI_REVISION_ 1746
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work