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

Change-Id: Iae2e79e0dffab1b0dc77d8f9a2a4bbc45de21d2a
CRs-Fixed: 3830439
This commit is contained in:
spuligil 2025-09-13 18:01:29 -07:00
commit 273666bb99
4 changed files with 75 additions and 2 deletions

View file

@ -723,6 +723,7 @@ typedef enum {
WMI_SERVICE_MLO_SAP_LINK_REMOVAL_SUPPORT = 462, /* Indicates FW supports MLO SAP link removal operation */
WMI_SERVICE_TX_POWER_LIMIT = 463, /* FW supports temporary tx power limit indication to HALPHY */
WMI_SERVICE_NPCA_SUPPORT = 464, /* Indicates FW supports NPCA (Non-Primary Channel Access) */
WMI_SERVICE_EXT_TLV_SUPPORT = 465, /* FW supports WMI_MAX_NUM_EXT_TLVS */
WMI_MAX_EXT2_SERVICE

View file

@ -2086,6 +2086,7 @@ typedef enum {
OP(WMI_PEER_NPCA_CAP_CMDID) \
OP(WMI_PDEV_MULTI_VDEV_GET_AC_QUEUE_DEPTH_CMDID) \
OP(WMI_VDEV_GET_TPC_IE_POWER_CMDID) \
OP(WMI_PEER_ASSOC_V2_CMDID) \
/* add new CMD_LIST elements above this line */
@ -2929,9 +2930,36 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMDID);
/* NOTE:
* No further TLVs can be added to this message;
* it is already at the target's WMI_MAX_NUM_TLVS limit (13).
*
* Note that the WMI_PEER_ASSOC_V2_CMDID (below) can support additional TLVs.
*/
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CMDID);
/* Peer Assoc EXT Cmd
* This cmd message mirrors the WMI_PEER_ASSOC_CMDID message, but has the
* capacity for extra TLVs beyond those in the WMI_PEER_ASSOC_CMDID definition.
* This message can only be used if the target advertises support for
* WMI_MAX_NUM_EXT_TLVS (via the WMI_SERVICE_EXT_TLV_SUPPORT flag).
*/
#define WMITLV_TABLE_WMI_PEER_ASSOC_V2_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_complete_cmd_fixed_param, wmi_peer_assoc_complete_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, peer_legacy_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, peer_ht_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vht_rate_set, wmi_vht_rate_set, peer_vht_rates, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_he_rate_set, peer_he_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_params, mlo_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_eht_rate_set, peer_eht_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_partner_link_params, partner_link_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_tid_to_link_map, peer_tid_to_link_map, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_operating_mode_params, operating_mode_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mgmt_mpduq_params, mgmt_mpduq_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mgmt_msduq_params, mgmt_msduq_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_hol_mdsuq_params, hol_mdsuq_params, WMITLV_SIZE_VAR)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_npca_cap_params, peer_npca_cap_params, WMITLV_SIZE_VAR)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_create_mlo_params, create_mlo_params, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_V2_CMDID);
/* Peer Set Rate Report Condition Cmd */
#define WMITLV_TABLE_WMI_PEER_SET_RATE_REPORT_CONDITION_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_set_rate_report_condition_fixed_param, wmi_peer_set_rate_report_condition_fixed_param, fixed_param, WMITLV_SIZE_FIX)

View file

@ -115,6 +115,8 @@ extern "C" {
}
#endif
#define WMI_MAX_NUM_EXT_TLVS 50
#define ATH_MAC_LEN 6 /**< length of MAC in bytes */
#define WMI_EVENT_STATUS_SUCCESS 0 /* Success return status to host */
#define WMI_EVENT_STATUS_FAILURE 1 /* Failure return status to host */
@ -867,6 +869,9 @@ typedef enum {
/** Peer NPCA CAP Command **/
WMI_PEER_NPCA_CAP_CMDID,
/* WMI_PEER_ASSOC_V2_CMDID: extended alternative for WMI_PEER_ASSOC_CMDID */
WMI_PEER_ASSOC_V2_CMDID,
/* beacon/management specific commands */
/** transmit beacon by reference . used for transmitting beacon on low latency interface like pcie */
@ -22410,13 +22415,23 @@ typedef struct {
#define WMI_ASSOC_FLAG_FLUSH_PEER_DATA_GET(assoc_flags) WMI_GET_BITS(assoc_flags, 0, 1)
#define WMI_ASSOC_FLAG_FLUSH_PEER_DATA_SET(assoc_flags, value) WMI_GET_BITS(assoc_flags, 0, 1, value)
enum wmi_peer_new_assoc {
WMI_PEER_REASSOC = 0, /* Peer Reassoc */
WMI_PEER_ASSOC = 1, /* Peer Assoc */
WMI_PEER_CREATE_ASSOC = 2, /* Peer Create and Peer Assoc in single command,
* currently used for SMD case */
/* Host <-> Target Peer New Assoc is assigned up to 127 */
WMI_PEER_NEW_ASSOC_MAX = 127
};
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_assoc_complete_cmd_fixed_param */
/** peer MAC address */
wmi_mac_addr peer_macaddr;
/** VDEV id */
A_UINT32 vdev_id;
/** assoc = 1 reassoc = 0 */
/* enum wmi_peer_new_assoc: create_assoc = 2, assoc = 1, reassoc = 0 */
A_UINT32 peer_new_assoc;
/** peer associd (16 bits) */
A_UINT32 peer_associd;
@ -22550,6 +22565,23 @@ typedef struct {
*/
A_UINT32 max_downlink_nss;
/** Peer create flags */
union {
struct {
A_UINT32 hw_peer_id_valid : 1,
peer_type_valid : 1,
reserved :30;
};
A_UINT32 flags;
};
/** Global sw peer id, valid only if non-zero */
A_UINT32 sw_peer_id;
/** Global hardware id, valid only if hw_peer_id_valid is set */
A_UINT32 hw_peer_id;
/** peer type: see enum values above */
A_UINT32 peer_type;
/* Following this struct are the TLV's:
* A_UINT8 peer_legacy_rates[];
* A_UINT8 peer_ht_rates[];
@ -22563,11 +22595,23 @@ typedef struct {
* wmi_peer_assoc_tid_to_link_map[] <-- tid to link_map info
* wmi_peer_assoc_operating_mode_params <-- operating mode param that
* host sends to AP in peer assoc req, optional TLV
* --- the below only apply to WMI_PEER_ASSOC_V2_CMD, not WMI_PEER_ASSOC_CMDID
* wmi_peer_npca_cap_params peer_npca_cap_params[]; <-- peer NPCA
* capabilities, host sends NPCA peer capabilities as an optional TLV
* wmi_peer_create_mlo_params mlo_params[]; <-- MLO flags on peer_create
* Optional TLV, only present for MLO peers.
* If the peer is non-MLO, the array length should be 0.
* Only mlo_enable flag required by MCC to decide MAC address
* to be used.
*/
} wmi_peer_assoc_complete_cmd_fixed_param;
#define WMI_PEER_ASSOC_COMPLETE_CMD_FLAG_HW_PEER_ID_VALID_GET(flags) WMI_GET_BITS(flags, 0, 1)
#define WMI_PEER_ASSOC_COMPLETE_CMD_FLAG_HW_PEER_ID_VALID_SET(flags, value) WMI_GET_BITS(flags, 0, 1, value)
#define WMI_PEER_ASSOC_COMPLETE_CMD_FLAG_PEER_TYPE_VALID_GET(flags) WMI_GET_BITS(flags, 1, 1)
#define WMI_PEER_ASSOC_COMPLETE_CMD_FLAG_PEER_TYPE_VALID_SET(flags, value) WMI_GET_BITS(flags, 1, 1, value)
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_npca_cap_params*/
A_UINT32 sw_peer_id;

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