Merge "fw-api: CL 31580442 - update fw common interface files"

This commit is contained in:
QCTECMDR Service 2026-02-05 13:11:12 -08:00 • committed by Gerrit - the friendly Code Review server
commit d6d7be3cdd
6 changed files with 223 additions and 9 deletions

View file

@ -916,7 +916,8 @@ typedef enum {
HTT_STATS_DPD_HALPHY_TAG = 253, /* htt_stats_dpd_halphy_tlv */
HTT_STATS_DPD_HW_CAL_PARAMS_TAG = 254, /* htt_stats_dpd_hw_cal_params_tlv */
HTT_STATS_DPD_HW_CAL_RESULTS_TAG = 255, /* htt_stats_dpd_hw_cal_results_tlv */
HTT_STATS_TX_PDEV_TXOP_DUR_TAG = 256, /* htt_stats_tx_pdev_txop_dur_tlv */
HTT_STATS_TXQ_COMBINED_SEQ_STATE_TAG = 257, /* htt_stats_sched_txq_combined_seq_state_tlv */
HTT_STATS_MAX_TAG,
} htt_stats_tlv_tag_t;

View file

@ -962,7 +962,16 @@ typedef struct {
* BIT [3 : 3] - is_combined_ul_bsrp_trigger - Flag to indicate if a
* given UL BSRP trigger is sent combined as part of
* an existing DL/UL data sequence
* BIT [31: 4] - reserved
* BIT [4 : 4] - is_sta_dps_seq - Flag to indicate if a TX is to a STA with
* active Dynamic Power Save state (DPS)
* BIT [5 : 5] - is_allow_comb_sched_cmd - Flag to indicate if a given TX
* is part of a allowed combined sched_cmd sequence
* BIT [6 : 6] - is_abort_comb_sched_cmd - Flag to indicate if a given TX
* is part of a aborted combined sched_cmd sequence
* BIT [7 : 7] - is_comb_sched_cmd_pending - Flag to indicate if a the
* first sched_cmd of a combined sched_cmd sequence is
* pending in the current ring.
* BIT [31: 8] - reserved
*/
union {
A_UINT32 reserved__htt_seq_type;
@ -972,7 +981,10 @@ typedef struct {
is_manual_ulofdma_trigger: 1,
is_combined_ul_bsrp_trigger: 1,
is_sta_dps_seq: 1,
reserved3: 27;
is_allow_comb_sched_cmd: 1,
is_abort_comb_sched_cmd: 1,
is_comb_sched_cmd_pending: 1,
reserved3: 24;
};
};
/* Flag to indicate if the channel chosen is 320_1 / 320_2 */

View file

@ -1154,6 +1154,8 @@ typedef enum {
#define HTT_PDEV_STATS_MAX_SEQ_CTRL_HIST 4
/* For BE max active seq_ctrl that can be in HWQ */
#define HTT_PDEV_STATS_MAX_ACTIVE_SEQ_IN_HWQ_HIST 2
#define HTT_PDEV_STATS_TXOP_DUR_HIST_BINS 12
#define HTT_PDEV_STATS_TXOP_DUR_HIST_INTERVAL_US 1000
typedef enum {
HTT_STATS_TX_PDEV_NO_DATA_UNDERRUN = 0,
@ -5410,6 +5412,60 @@ typedef struct {
typedef htt_stats_sched_txq_supercycle_trigger_tlv
htt_sched_txq_supercycle_triggers_tlv_v;
/* htt_tx_pdev_txq_stats_upload_t
* Enumerations for specifying which stats to upload in response to
* HTT_DBG_PDEV_TXQ_STATS.
*/
typedef enum {
/* upload all data TXQ stats */
HTT_UPLOAD_DATA_TXQ_STATS,
/* upload MGMT/TWT TXQ stats */
HTT_UPLOAD_MGMT_TWT_TXQ_STATS,
} htt_tx_pdev_txq_stats_upload_t;
typedef enum {
/* Sequence combine successful */
HTT_SCHED_COMBINED_SEQ_STATUS_SUCCESS = 0,
/* Seq combine abort due to no prev sequence */
HTT_SCHED_COMBINED_SEQ_STATUS_NO_ACTIVE_PREV_SEQ,
/* Seq combine abort due to back to back allow flag set */
HTT_SCHED_COMBINED_SEQ_STATUS_B2B_ALLOW_FLAG,
/* combining will be disabled if sounding sequence is to be combined */
HTT_SCHED_COMBINED_SEQ_STATUS_SOUNDING_SEQ_ABORT,
/* Seq combine abort due to seq not constructed */
HTT_SCHED_COMBINED_SEQ_STATUS_SEQ_NOT_CONSTRUCTED,
/* Seq combine abort and subring change */
HTT_SCHED_COMBINED_SEQ_STATUS_HW_PAUSED_SEQ_CONSRUCTED,
/* Seq combine abort and indicate TAC */
HTT_SCHED_COMBINED_SEQ_STATUS_HW_PAUSED_SEQ_NOT_CONSTRUCTED,
/* Seq combine abort and seq restart */
HTT_SCHED_COMBINED_SEQ_STATUS_HW_PAUSED_SEQ_POSTED,
HTT_SCHED_COMBINED_SEQ_STATUS_MAX
} htt_sched_txq_combined_seq_status_tlv_enum;
#define HTT_SCHED_TXQ_COMBINED_SEQ_STATE_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;
/**
* combined_seq_state counts the number of occurrences of different
* reasons for aborting combining two different sequence in TAC
* during posting
*
* Indexed by htt_sched_txq_combined_seq_status_tlv_enum.
*/
HTT_STATS_VAR_LEN_ARRAY1(A_UINT32, combined_seq_state);
} htt_stats_sched_txq_combined_seq_state_tlv;
typedef struct {
htt_tlv_hdr_t tlv_hdr;
union {
@ -5629,6 +5685,7 @@ typedef struct {
htt_stats_sched_txq_supercycle_trigger_tlv
htt_sched_txq_sched_ineligibility_tlv_esched_supercycle_trigger_tlv;
htt_stats_sched_txq_early_compl_tlv early_compl_tlv;
htt_stats_sched_txq_combined_seq_state_tlv combined_seq_state_tlv;
} txq[1];
} htt_stats_tx_sched_t;
#endif
@ -7287,6 +7344,17 @@ typedef struct {
/* 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;
typedef struct {
htt_tlv_hdr_t tlv_hdr;
/** tx_txop_dur_hist:
* Tx txop duration histogram, which holds the total txop used
* under histogram bins of interval 1ms
*/
A_UINT32 tx_su_mdsb_txop_dur_hist[HTT_PDEV_STATS_TXOP_DUR_HIST_BINS];
A_UINT32 tx_ofdma_txop_dur_hist[HTT_PDEV_STATS_TXOP_DUR_HIST_BINS];
A_UINT32 tx_mimo_txop_dur_hist[HTT_PDEV_STATS_TXOP_DUR_HIST_BINS];
A_UINT32 combined_sched_cmd_txop_dur_hist[HTT_PDEV_STATS_TXOP_DUR_HIST_BINS];
} htt_stats_tx_pdev_txop_dur_tlv;
#define HTT_TX_PDEV_BN_RATE_STATS_MAC_ID_M 0x000000ff
#define HTT_TX_PDEV_BN_RATE_STATS_MAC_ID_S 0
@ -7335,7 +7403,7 @@ typedef struct {
A_UINT32 tx_gi_ext_3[HTT_TX_PDEV_STATS_NUM_GI_COUNTERS][HTT_TX_PDEV_STATS_NUM_EXTRA3_MCS_COUNTERS];
A_UINT32 tx_stbc_ext_3[HTT_TX_PDEV_STATS_NUM_EXTRA3_MCS_COUNTERS];
/* Stats for UHR ELR */
A_UINT32 tx_11bn_su_elr;
A_UINT32 tx_11bn_su_elr;
} htt_stats_tx_pdev_bn_rate_tlv;
@ -7354,6 +7422,7 @@ typedef struct {
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_stats_tx_pdev_txop_dur_tlv tx_txop_dur_tlv;
} htt_tx_pdev_rate_stats_t;
#endif /* ATH_TARGET */
@ -7836,6 +7905,9 @@ typedef struct {
A_UINT32 ulofdma_implicit_trig_tried;
A_UINT32 ulofdma_implicit_trig_qos_null;
/* Txop duration history from 0 to 12 ms with interval of 1000us */
A_UINT32 ul_ofdma_txop_dur_hist[HTT_PDEV_STATS_TXOP_DUR_HIST_BINS];
} 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;
@ -8161,6 +8233,8 @@ typedef struct {
* response to basic trigger. Typically a data response is expected.
*/
A_UINT32 ul_mumimo_basic_trigger_rx_qos_null_only;
/* Txop duration history from 0 to 12 ms with interval of 1000us */
A_UINT32 ul_mimo_txop_dur_hist[HTT_PDEV_STATS_TXOP_DUR_HIST_BINS];
} 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

View file

@ -1574,6 +1574,12 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_smd_roam_peer_unified_setup_complete_event_fixed_param,
WMITLV_TAG_STRUC_wmi_smd_roam_peer_tid_info,
WMITLV_TAG_STRUC_wmi_uhr_ap_mode_tup_enable_disable_update_param,
WMITLV_TAG_STRUC_wmi_scan_suppress_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_get_scan_stats_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_get_conc_info_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_get_scan_stats_resp_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_get_conc_info_resp_fixed_param,
WMITLV_TAG_STRUC_wmi_conc_info,
} WMITLV_TAG_ID;
/*
* IMPORTANT: Please add _ALL_ WMI Commands Here.
@ -2167,6 +2173,9 @@ typedef enum {
OP(WMI_PDEV_POWER_DATAPATH_STATS_CMDID) \
OP(WMI_SMD_ROAM_CONFIG_CMDID) \
OP(WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID) \
OP(WMI_SCAN_SUPPRESS_CMDID) \
OP(WMI_GET_SCAN_STATS_CMDID) \
OP(WMI_PDEV_GET_CONC_INFO_CMDID) \
/* add new CMD_LIST elements above this line */
@ -2521,6 +2530,8 @@ typedef enum {
OP(WMI_PDEV_POWER_DATAPATH_STATS_EVENTID) \
OP(WMI_SMD_ROAM_CONFIG_EVENTID) \
OP(WMI_SMD_ROAM_PEER_UNIFIED_SETUP_COMPLETE_EVENTID) \
OP(WMI_GET_SCAN_STATS_RESP_EVENTID) \
OP(WMI_PDEV_GET_CONC_INFO_RESP_EVENTID) \
/* add new EVT_LIST elements above this line */
@ -3935,6 +3946,18 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_RESUME_CMDID);
WMITLV_CREATE_PARAM_STRUC(WMI_SCAN_UPDATE_REQUEST_CMDID);
/* suppress scan Cmd */
#define WMITLV_TABLE_WMI_SCAN_SUPPRESS_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_scan_suppress_cmd_fixed_param, wmi_scan_suppress_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_SCAN_SUPPRESS_CMDID);
/* get scan stats Cmd */
#define WMITLV_TABLE_WMI_GET_SCAN_STATS_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_get_scan_stats_cmd_fixed_param, wmi_get_scan_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_GET_SCAN_STATS_CMDID);
#define WMITLV_TABLE_WMI_SCAN_PROB_REQ_OUI_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_scan_prob_req_oui_cmd_fixed_param, wmi_scan_prob_req_oui_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vendor_oui, vendor_oui, WMITLV_SIZE_VAR)
@ -3947,6 +3970,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SCAN_PROB_REQ_OUI_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CONFIG_VENDOR_OUI_ACTION_CMDID);
/* get concurrency info Cmd */
#define WMITLV_TABLE_WMI_PDEV_GET_CONC_INFO_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_get_conc_info_cmd_fixed_param, wmi_pdev_get_conc_info_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_CONC_INFO_CMDID);
#define WMITLV_TABLE_WMI_CHATTER_ADD_COALESCING_FILTER_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len,WMITLV_TAG_STRUC_wmi_chatter_coalescing_add_filter_cmd_fixed_param, wmi_chatter_coalescing_add_filter_cmd_fixed_param, fixed_param,WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, chatter_pkt_coalescing_filter, coalescing_filter, WMITLV_SIZE_VAR)
@ -8212,6 +8240,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SSCAN_FW_PARAM_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_sscan_evt_message_fixed_param, wmi_sscan_evt_message_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_SSCAN_EVT_MESSAGE_EVENTID);
/* Send scan related stats to host */
#define WMITLV_TABLE_WMI_GET_SCAN_STATS_RESP_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_get_scan_stats_resp_fixed_param, wmi_get_scan_stats_resp_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_GET_SCAN_STATS_RESP_EVENTID);
/* Roam capability report event */
#define WMITLV_TABLE_WMI_ROAM_CAPABILITY_REPORT_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_capability_report_event_fixed_param, wmi_roam_capability_report_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
@ -8229,6 +8262,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_CAPABILITY_REPORT_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_INT8, ctl_buf, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_TPC_STATS_EVENTID);
/* Send concurrency info to host */
#define WMITLV_TABLE_WMI_PDEV_GET_CONC_INFO_RESP_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_get_conc_info_resp_fixed_param, wmi_pdev_get_conc_info_resp_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_conc_info, conc_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_CONC_INFO_RESP_EVENTID);
/* Send Bcn Latency ie related params to host */
#define WMITLV_TABLE_WMI_VDEV_BCN_LATENCY_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_bcn_latency_fixed_param, wmi_vdev_bcn_latency_fixed_param, fixed_param, WMITLV_SIZE_FIX)

View file

@ -410,6 +410,10 @@ typedef enum {
WMI_SCAN_ADAPTIVE_DWELL_CONFIG_CMDID,
/** Only applicable to DBS capable product */
WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID,
/** enable/disable any scan request **/
WMI_SCAN_SUPPRESS_CMDID,
/** get scan stats**/
WMI_GET_SCAN_STATS_CMDID,
/* PDEV(physical device) specific commands */
/** set regulatorty ctl id used by FW to determine the exact ctl power limits */
@ -626,6 +630,8 @@ typedef enum {
WMI_PDEV_UHR_CU_CMDID,
/** WMI cmd used to enable/disable and get power and data path stats */
WMI_PDEV_POWER_DATAPATH_STATS_CMDID,
/** WMI cmd to get the concurrency info for all vdevs within a pdev */
WMI_PDEV_GET_CONC_INFO_CMDID,
/* VDEV (virtual device) specific commands */
/** vdev create */
@ -1870,6 +1876,9 @@ typedef enum {
/** Spectral scan capabilities advertisement */
WMI_SPECTRAL_CAPABILITIES_EVENTID,
/** Send scan stats to HOST */
WMI_GET_SCAN_STATS_RESP_EVENTID,
/* PDEV specific events */
/** TPC config for the current operating channel */
@ -2039,6 +2048,8 @@ typedef enum {
*/
WMI_PDEV_POWER_DATAPATH_STATS_EVENTID, /* 54 */
/* Event to share the concurrency info to HOST */
WMI_PDEV_GET_CONC_INFO_RESP_EVENTID, /* 55 */
/***
@ -7075,6 +7086,37 @@ typedef struct {
A_UINT32 flags;
} wmi_scan_event_fixed_param;
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_scan_suppress_cmd_fixed_param */
/** suppress_scan:
* set to 0: to enable scan
* set to 1: to suppress scan
*/
A_UINT32 suppress_scan;
/** Scan client id, refer to enum WMI_SCAN_CLIENT_ID */
A_UINT32 scan_client_id;
} wmi_scan_suppress_cmd_fixed_param;
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_get_scan_stats_cmd_fixed_param */
/** Scan client id, refer to enum WMI_SCAN_CLIENT_ID */
A_UINT32 scan_client_id;
} wmi_get_scan_stats_cmd_fixed_param;
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_scan_stats_rsp_fixed_param */
/** Scan client id, refer to enum WMI_SCAN_CLIENT_ID */
A_UINT32 scan_client_id;
/** scan_count:
* Total number of scans triggered/started for a given scan_clnt_id
* which is requested by scan stats command
*/
A_UINT32 scan_count;
} wmi_get_scan_stats_resp_fixed_param;
/* WMI Diag event */
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag is WMITLV_TAG_STRUC_wmi_diag_event_fixed_param */
@ -8381,6 +8423,48 @@ typedef struct {
A_UINT32 scan_start;
} wmi_pdev_scan_cmd;
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_get_conc_info_cmd_fixed_param */
A_UINT32 pdev_id;
} wmi_pdev_get_conc_info_cmd_fixed_param;
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_conc_info */
A_UINT32 vdev_id;
A_UINT32 type; /* interface type : WMI_VDEV_MODE */
wmi_mac_addr bssid;
A_UINT32 freq; /* in MHz*/
/* rssi value (in dBm) valid for STA vdev, for other INVALID_RSSI */
A_INT32 rssi;
} wmi_conc_info;
typedef enum {
WMI_VDEV_MODE_STA = 0,
WMI_VDEV_MODE_SAP = 1,
WMI_VDEV_MODE_MLO_STA = 2,
WMI_VDEV_MODE_MLO_SAP = 3,
WMI_VDEV_MODE_P2P_CLI = 4,
WMI_VDEV_MODE_P2P_GO = 5,
WMI_VDEV_MODE_NAN = 6,
WMI_VDEV_MODE_NDI = 7,
WMI_VDEV_MODE_MAX
} WMI_VDEV_MODE;
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_get_conc_info_resp_fixed_param */
A_UINT32 pdev_id;
/*
* Following this fixed_param TLV is a variable-length TLV array:
* wmi_conc_info conc_info_list[];
*/
} wmi_pdev_get_conc_info_resp_fixed_param;
/* WMI support for setting ratemask in target */
typedef struct {
@ -29507,14 +29591,18 @@ typedef enum {
WMI_LPI_STATUS_MEDIUM_BUSY = 6,
/** Extscan is the scan client whose scan complete event is triggered */
WMI_LPI_STATUS_EXTSCAN_CYCLE_AND_SCAN_REQ_COMPLETED = 7,
} wmi_lpi_staus;
/** LPI scan is suspended*/
WMI_LPI_STATUS_SCAN_SUSPENDED = 8,
} wmi_lpi_status;
/* preserve old name (with typo) as alias for corrected name */
typedef wmi_lpi_status wmi_lpi_staus;
typedef struct
{
A_UINT32 tlv_header;
wmi_lpi_staus status;
A_UINT32 tlv_header;
wmi_lpi_status status;
/** Scan requestor ID */
A_UINT32 scan_req_id;
A_UINT32 scan_req_id;
} wmi_lpi_status_event_fixed_param;
typedef struct

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