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

This commit is contained in:
QCTECMDR Service 2026-03-18 19:28:47 -07:00 • committed by Gerrit - the friendly Code Review server
commit ff40605662
4 changed files with 90 additions and 26 deletions

View file

@ -281,9 +281,10 @@
* 3.151 Add HTT_H2T DAL_MODE_INFO def.
* 3.152 Add decap_type in htt_rx_peer_metadata_v1b.
* 3.153 Add passthru_pkt flag in rx_peer_metadata structs.
* 3.154 Add T2H PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP msg def.
*/
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 153
#define HTT_CURRENT_VERSION_MINOR 154
#define HTT_NUM_TX_FRAG_DESC 1024
@ -12577,6 +12578,7 @@ enum htt_t2h_msg_type {
HTT_T2H_MSG_TYPE_MLO_LATENCY_REQ = 0x3d,
HTT_T2H_MSG_TYPE_GLOBAL_PEER_ID_UNMAP = 0x3e,
HTT_T2H_MSG_TYPE_HAPS = 0x3f,
HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP = 0x40,
HTT_T2H_MSG_TYPE_TEST,
@ -24730,5 +24732,56 @@ PREPACK struct htt_t2h_power_state_info {
} while (0)
/* MSG_TYPE => HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP
*
* The following diagram shows the format of the peer delete all global vdev
* unmap message sent from the target to the host. This message is used to
* send unmap event to host after tid and msduq/mpduq cleanup of all peers
* associated to a vdev, in FW, host cleans up msduq/mpduq based on message.
*
* |31 20|19 16|15 8|7 0|
* |------------------------+----------+-----------------+-----------------|
* | reserved |hw_link_id| global_vdev_id | msg type |
* |-----------------------------------------------------------------------|
* @details
* struct htt_t2h_peer_del_all_global_vdev_id_unmap_t:
*
* The message is interpreted as follows:
* dword0 - b'7:0 - msg_type: This will be set to 0x40
* (HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP)
* b'15:8 - global_vdev_id : global vdev id assigned by host
* b'19:16 - hw_link_id : hw link id for which unmap is being sent
* b'31:20 - reserved
*/
/* HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP */
PREPACK struct htt_t2h_peer_del_all_global_vdev_id_unmap_t {
A_UINT32 msg_type: 8, /* bits 7:0 */
global_vdev_id: 8, /* bits 15:8 */
hw_link_id: 4, /* bits 19:16 */
reserved: 12; /* bits 31:20 */
} POSTPACK;
#define HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_GLOBAL_VDEV_ID_M 0x0000FF00
#define HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_GLOBAL_VDEV_ID_S 8
#define HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_GLOBAL_VDEV_ID_GET(_var) \
(((_var) & HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_GLOBAL_VDEV_ID_M) >> \
HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_GLOBAL_VDEV_ID_S)
#define HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_GLOBAL_VDEV_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_GLOBAL_VDEV_ID, _val); \
((_var) |= ((_val) << HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_GLOBAL_VDEV_ID_S)); \
} while (0)
#define HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_HW_LINK_ID_M 0x000F0000
#define HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_HW_LINK_ID_S 16
#define HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_HW_LINK_ID_GET(_var) \
(((_var) & HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_HW_LINK_ID_M) >> \
HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_HW_LINK_ID_S)
#define HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_HW_LINK_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_HW_LINK_ID, _val); \
((_var) |= ((_val) << HTT_T2H_MSG_TYPE_PEER_DEL_ALL_GLOBAL_VDEV_ID_UNMAP_HW_LINK_ID_S)); \
} while (0)
#endif

View file

@ -11956,7 +11956,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_CAL_DATA_COMPRESSED_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_CAL_DATA_COMPRESSED, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_CAL_DATA_COMPRESSED_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_CAL_DATA_COMPRESSED_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_CAL_DATA_SOURCE_M 0x00000006
#define HTT_STATS_PHY_RESET_CAL_DATA_SOURCE_S 1
@ -11966,7 +11966,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_CAL_DATA_SOURCE_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_CAL_DATA_SOURCE, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_CAL_DATA_SOURCE_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_CAL_DATA_SOURCE_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_XTALCAL_M 0x00000008
#define HTT_STATS_PHY_RESET_XTALCAL_S 3
@ -11976,7 +11976,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_XTALCAL_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_XTALCAL, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_XTALCAL_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_XTALCAL_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_TPCCAL2GOPC_M 0x00000010
#define HTT_STATS_PHY_RESET_TPCCAL2GOPC_S 4
@ -11986,7 +11986,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_TPCCAL2GOPC_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_TPCCAL2GOPC, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_TPCCAL2GOPC_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_TPCCAL2GOPC_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_TPCCAL2GFPC_M 0x00000020
#define HTT_STATS_PHY_RESET_TPCCAL2GFPC_S 5
@ -11996,7 +11996,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_TPCCAL2GFPC_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_TPCCAL2GFPC, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_TPCCAL2GFPC_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_TPCCAL2GFPC_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_TPCCAL5GOPC_M 0x00000040
#define HTT_STATS_PHY_RESET_TPCCAL5GOPC_S 6
@ -12006,7 +12006,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_TPCCAL5GOPC_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_TPCCAL5GOPC, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_TPCCAL5GOPC_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_TPCCAL5GOPC_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_TPCCAL5GFPC_M 0x00000080
#define HTT_STATS_PHY_RESET_TPCCAL5GFPC_S 7
@ -12016,7 +12016,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_TPCCAL5GFPC_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_TPCCAL5GFPC, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_TPCCAL5GFPC_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_TPCCAL5GFPC_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_TPCCAL6GOPC_M 0x00000100
#define HTT_STATS_PHY_RESET_TPCCAL6GOPC_S 8
@ -12026,7 +12026,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_TPCCAL6GOPC_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_TPCCAL6GOPC, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_TPCCAL6GOPC_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_TPCCAL6GOPC_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_TPCCAL6GFPC_M 0x00000200
#define HTT_STATS_PHY_RESET_TPCCAL6GFPC_S 9
@ -12036,7 +12036,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_TPCCAL6GFPC_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_TPCCAL6GFPC, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_TPCCAL6GFPC_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_TPCCAL6GFPC_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_RXGAINCAL2G_M 0x00000400
#define HTT_STATS_PHY_RESET_RXGAINCAL2G_S 10
@ -12046,7 +12046,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_RXGAINCAL2G_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_RXGAINCAL2G, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_RXGAINCAL2G_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_RXGAINCAL2G_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_RXGAINCAL5G_M 0x00000800
#define HTT_STATS_PHY_RESET_RXGAINCAL5G_S 11
@ -12056,7 +12056,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_RXGAINCAL5G_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_RXGAINCAL5G, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_RXGAINCAL5G_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_RXGAINCAL5G_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_RXGAINCAL6G_M 0x00001000
#define HTT_STATS_PHY_RESET_RXGAINCAL6G_S 12
@ -12066,7 +12066,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_RXGAINCAL6G_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_RXGAINCAL6G, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_RXGAINCAL6G_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_RXGAINCAL6G_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_AOACAL2G_M 0x00002000
#define HTT_STATS_PHY_RESET_AOACAL2G_S 13
@ -12076,7 +12076,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_AOACAL2G_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_AOACAL2G, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_AOACAL2G_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_AOACAL2G_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_AOACAL5G_M 0x00004000
#define HTT_STATS_PHY_RESET_AOACAL5G_S 14
@ -12086,7 +12086,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_AOACAL5G_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_AOACAL5G, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_AOACAL5G_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_AOACAL5G_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_AOACAL6G_M 0x00008000
#define HTT_STATS_PHY_RESET_AOACAL6G_S 15
@ -12096,7 +12096,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_AOACAL6G_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_AOACAL6G, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_AOACAL6G_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_AOACAL6G_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_XTAL_FROM_OTP_M 0x00010000
#define HTT_STATS_PHY_RESET_XTAL_FROM_OTP_S 16
@ -12106,7 +12106,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_XTAL_FROM_OTP_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_XTAL_FROM_OTP, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_XTAL_FROM_OTP_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_XTAL_FROM_OTP_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_GLUT_LINEARITY_M 0x000000FF
@ -12117,7 +12117,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_GLUT_LINEARITY_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_GLUT_LINEARITY, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_GLUT_LINEARITY_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_GLUT_LINEARITY_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_PLUT_LINEARITY_M 0x0000FF00
#define HTT_STATS_PHY_RESET_PLUT_LINEARITY_S 8
@ -12127,7 +12127,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_PLUT_LINEARITY_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_PLUT_LINEARITY, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_PLUT_LINEARITY_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_PLUT_LINEARITY_S)); \
} while (0)
#define HTT_STATS_PHY_RESET_WLANDRIVERMODE_M 0x00FF0000
#define HTT_STATS_PHY_RESET_WLANDRIVERMODE_S 16
@ -12137,7 +12137,7 @@ typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;
#define HTT_STATS_PHY_RESET_WLANDRIVERMODE_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_STATS_PHY_RESET_WLANDRIVERMODE, _val); \
((_var) |= ((_val) << STATS_PHY_RESET_WLANDRIVERMODE_S)); \
((_var) |= ((_val) << HTT_STATS_PHY_RESET_WLANDRIVERMODE_S)); \
} while (0)

View file

@ -6526,6 +6526,10 @@ typedef struct {
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tlv_buf_len_param */
A_UINT32 buf_len; /** Length of buf */
/* NOTE:
* This struct cannot be expanded, due to being used as
* WMITLV_TAG_ARRAY_FIXED_STRUC in WMI_ROAM_INVOKE_CMDID.
*/
/**
* Following this structure is the TLV byte stream of buf of length buf_len:
* A_UINT8 buf[];
@ -12519,7 +12523,7 @@ typedef struct {
#define WMI_IPI_STATS_SNR_NUM_BINS_SET(snr_config, value) \
WMI_SET_BITS(snr_config, 24, 8, value)
/*
/*
* Signal to Noise Ration(SNR) is measured during idle periods and reported
* as a distribution across multiple bins
*/
@ -18335,7 +18339,7 @@ typedef struct {
* mlo_ieee_link_id_valid bit set.
*/
A_UINT32 ieee_link_id;
A_UINT32 mlo_vdev_id;
A_UINT32 mlo_vdev_id; /* deprecated */
} wmi_vdev_start_mlo_params;
/* this TLV structure used for passing mlo parameters on vdev stop */
@ -19181,6 +19185,13 @@ typedef struct {
A_UINT32 vdev_op_ul_nss; /* vdev operating uplink nss. 1 ~ n: 1ss ~ nss */
A_UINT32 vdev_op_dl_nss; /* vdev operating downlink nss. 1 ~ n: 1ss ~ nss */
A_UINT32 uhr_ops; /* refer to WMI_UHR_OPS_XXX macros */
/*
* VDEV ID that will be assigned for both legacy and MLD VAPs.
* This will be configured to rx_meta_data in the AST entry.
* This information will then be used by host to achieve intra-bss
* forwarding for the Rx packets.
*/
A_UINT32 global_vdev_id;
/* The TLVs follows this structure:
* wmi_channel chan; <-- WMI channel
@ -23727,15 +23738,15 @@ typedef struct {
* FW will update the Noise Floor in dBr and send it to host
* if this field is set then host will display NF value in dBr
*/
A_UINT32 nf_db_is_valid;
A_UINT32 nf_dbr_is_valid;
/**
* Noise Floor (NF) value in dBr. If the NF is not converged then
* NF value is returned as 0 to host. Theoretical minimum NF value
* is -101 dB for 20 MHz bandwidth and the max value can be 0.
* PHY reports 0 incase of very high NF values.
* This field should be ignored unless the nf_db_is_valid flag is set.
* This field should be ignored unless the nf_dbr_is_valid flag is set.
*/
A_UINT32 noise_floor_in_db;
A_UINT32 noise_floor_in_dbr;
/**
* Following this structure is the optional TLV:

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