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

Change-Id: I3b74a827438408fa40e40437c35b75533b184118
WMI: add EHT MAC,PHY capabilities info
CRs-Fixed: 2262693
This commit is contained in:
spuligil 2021-03-04 02:13:02 -08:00
parent 3cd31f9b34
commit b5c4fc6b94
3 changed files with 70 additions and 2 deletions

View File

@ -1139,6 +1139,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_big_data_dp_stats_tlv_param, WMITLV_TAG_STRUC_wmi_big_data_dp_stats_tlv_param,
WMITLV_TAG_STRUC_wmi_pdev_get_dpd_status_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_get_dpd_status_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_get_dpd_status_evt_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_get_dpd_status_evt_fixed_param,
WMITLV_TAG_STRUC_wmi_eht_rate_set,
} WMITLV_TAG_ID; } WMITLV_TAG_ID;
/* /*
@ -2333,7 +2334,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMDID);
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_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_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_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_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_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CMDID);

View File

@ -2434,8 +2434,16 @@ typedef struct _wmi_ppe_threshold {
A_UINT32 ru_mask; /** RU index mask */ A_UINT32 ru_mask; /** RU index mask */
}; };
A_UINT32 ppet16_ppet8_ru3_ru0[WMI_MAX_NUM_SS]; /** ppet8 and ppet16 for max num ss */ A_UINT32 ppet16_ppet8_ru3_ru0[WMI_MAX_NUM_SS]; /** ppet8 and ppet16 for max num ss */
/**************************************************
* As this struct is embedded inside other structs,
* it cannot be expanded without breaking backwards
* compatibility. Do not add new fields here.
**************************************************/
} wmi_ppe_threshold; } wmi_ppe_threshold;
#define WMI_MAX_EHTCAP_MAC_SIZE 2
#define WMI_MAX_EHTCAP_PHY_SIZE 3
/* WMI_SYS_CAPS_* refer to the capabilities that system support /* WMI_SYS_CAPS_* refer to the capabilities that system support
*/ */
#define WMI_SYS_CAP_ENABLE 0x00000001 #define WMI_SYS_CAP_ENABLE 0x00000001
@ -2967,6 +2975,21 @@ typedef struct {
* Bits 31:2 - Reserved * Bits 31:2 - Reserved
*/ */
A_UINT32 target_cap_flags; A_UINT32 target_cap_flags;
/* EHT MAC Capabilities: total WMI_MAX_EHTCAP_MAC_SIZE*A_UINT32 bits
* those bits actually are max mac capabilities = cap_mac_2g | cap_mac_5g
* The actual cap mac info per mac (2g/5g) in the TLV -- WMI_MAC_PHY_CAPABILITIES_EXT
*/
A_UINT32 eht_cap_mac_info[WMI_MAX_EHTCAP_MAC_SIZE];
/* Following this struct are the TLV's:
* WMI_DMA_RING_CAPABILITIES;
* wmi_spectral_bin_scaling_params;
* WMI_MAC_PHY_CAPABILITIES_EXT; <-- EHT mac capabilites and phy capabilites info
* WMI_HAL_REG_CAPABILITIES_EXT2;
* wmi_nan_capabilities;
* WMI_SCAN_RADIO_CAPABILITIES_EXT2;
*/
} wmi_service_ready_ext2_event_fixed_param; } wmi_service_ready_ext2_event_fixed_param;
typedef struct { typedef struct {
@ -14118,6 +14141,12 @@ typedef struct {
A_UINT32 tx_mcs_set; /* Negotiated TX HE rates(i.e. rate this node can TX to peer) */ A_UINT32 tx_mcs_set; /* Negotiated TX HE rates(i.e. rate this node can TX to peer) */
} wmi_he_rate_set; } wmi_he_rate_set;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_eht_rate_set */
A_UINT32 rx_mcs_set;
A_UINT32 tx_mcs_set;
} wmi_eht_rate_set;
/* /*
* IMPORTANT: Make sure the bit definitions here are consistent * IMPORTANT: Make sure the bit definitions here are consistent
* with the ni_flags definitions in wlan_peer.h * with the ni_flags definitions in wlan_peer.h
@ -14147,6 +14176,10 @@ typedef struct {
#define WMI_PEER_160MHZ 0x40000000 /* 160 MHz enabled */ #define WMI_PEER_160MHZ 0x40000000 /* 160 MHz enabled */
#define WMI_PEER_SAFEMODE_EN 0x80000000 /* Fips Mode Enabled */ #define WMI_PEER_SAFEMODE_EN 0x80000000 /* Fips Mode Enabled */
/** define for peer_flags_ext */
#define WMI_PEER_EXT_EHT 0x00000001 /* EHT enabled */
#define WMI_PEER_EXT_320MHZ 0x00000002 /* 320Mhz enabled */
/** /**
* Peer rate capabilities. * Peer rate capabilities.
* *
@ -14329,6 +14362,18 @@ typedef struct {
*/ */
A_UINT32 auth_mode; A_UINT32 auth_mode;
/* Refer to WMI_PEER_EXT_xxx defs */
A_UINT32 peer_flags_ext;
/* 802.11be capabilities and other params */
A_UINT32 puncture_20mhz_bitmap; /* each bit indicates one 20Mhz bw puntured */
/* EHT mac capabilites from BSS beacon EHT cap IE, total WMI_MAX_EHTCAP_MAC_SIZE*A_UINT32 bits */
A_UINT32 peer_eht_cap_mac[WMI_MAX_EHTCAP_MAC_SIZE];
/* EHT phy capabilites from BSS beacon EHT cap IE, total WMI_MAX_EHTCAP_PHY_SIZE*A_UINT32 bits */
A_UINT32 peer_eht_cap_phy[WMI_MAX_EHTCAP_PHY_SIZE];
A_UINT32 peer_eht_ops;
wmi_ppe_threshold peer_eht_ppet;
/* Following this struct are the TLV's: /* Following this struct are the TLV's:
* A_UINT8 peer_legacy_rates[]; * A_UINT8 peer_legacy_rates[];
* A_UINT8 peer_ht_rates[]; * A_UINT8 peer_ht_rates[];
@ -14337,6 +14382,7 @@ typedef struct {
* wmi_peer_assoc_mlo_params mlo_params[0,1]; <-- MLO parameters opt. TLV * wmi_peer_assoc_mlo_params mlo_params[0,1]; <-- MLO parameters opt. TLV
* Only present for MLO peers. * Only present for MLO peers.
* For non-MLO peers the array length should be 0. * For non-MLO peers the array length should be 0.
* wmi_eht_rate_set_peer_eht_rates; <-- EHT capabilities of the peer
*/ */
} wmi_peer_assoc_complete_cmd_fixed_param; } wmi_peer_assoc_complete_cmd_fixed_param;
@ -27141,6 +27187,26 @@ typedef struct {
/* phy id. Starts with 0 */ /* phy id. Starts with 0 */
A_UINT32 phy_id; A_UINT32 phy_id;
A_UINT32 wireless_modes_ext; /* REGDMN MODE EXT, see REGDMN_MODE_ enum */ A_UINT32 wireless_modes_ext; /* REGDMN MODE EXT, see REGDMN_MODE_ enum */
/**************************************************************************
* following new params for 802.11be, but under development
**************************************************************************/
/* EHT capability mac info field of 802.11be */
A_UINT32 eht_cap_mac_info_2G[WMI_MAX_EHTCAP_MAC_SIZE];
A_UINT32 eht_cap_mac_info_5G[WMI_MAX_EHTCAP_MAC_SIZE];
A_UINT32 eht_supp_mcs_2G;
A_UINT32 eht_supp_mcs_5G;
/* EHT capability phy field of 802.11be, WMI_EHT_CAP defines */
A_UINT32 eht_cap_phy_info_2G[WMI_MAX_EHTCAP_PHY_SIZE];
A_UINT32 eht_cap_phy_info_5G[WMI_MAX_EHTCAP_PHY_SIZE];
wmi_ppe_threshold eht_ppet2G;
wmi_ppe_threshold eht_ppet5G;
A_UINT32 eht_cap_info_internal;
/**************************************************************************
* Currently pls do not add any new param after EHT
* as still under development.
* We can add new param before it.
**************************************************************************/
} WMI_MAC_PHY_CAPABILITIES_EXT; } WMI_MAC_PHY_CAPABILITIES_EXT;
typedef struct { typedef struct {

View File

@ -36,7 +36,7 @@
#define __WMI_VER_MINOR_ 0 #define __WMI_VER_MINOR_ 0
/** WMI revision number has to be incremented when there is a /** WMI revision number has to be incremented when there is a
* change that may or may not break compatibility. */ * change that may or may not break compatibility. */
#define __WMI_REVISION_ 969 #define __WMI_REVISION_ 970
/** The Version Namespace should not be normally changed. Only /** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work * host and firmware of the same WMI namespace will work