qcacmn: EHT changes as per latest fw cmn headers
Updated the EHT related variables as per latest fw cmn headers. Address review comments from previous EHT gerrits. Change-Id: I67cd58a4efcf3e06d2ca3b5570432593b1d80825 CRs-Fixed: 2902607
This commit is contained in:

committed by
snandini

parent
a8e24fd6c0
commit
216478aaae
@@ -1440,6 +1440,7 @@ static inline struct wlan_psoc_host_mac_phy_caps
|
||||
* target_psoc_get_mac_phy_cap_ext2_for_mode() - get mac_phy_caps_ext2
|
||||
* for a hw-mode
|
||||
* @psoc_info: pointer to structure target_psoc_info
|
||||
* @mode: hw mode
|
||||
*
|
||||
* API to get mac_phy_cap for a specified hw-mode
|
||||
*
|
||||
|
@@ -251,6 +251,13 @@ struct wlan_psoc_host_hw_mode_caps {
|
||||
* @pdev_id: Pdev id
|
||||
* @phy_id: Phy id
|
||||
* @wireless_modes_ext: Extended wireless modes
|
||||
* @eht_cap_info_2G[]: EHT capability info field of 802.11ax, WMI_HE_CAP defines
|
||||
* @eht_supp_mcs_2G: EHT Supported MCS Set field Rx/Tx same
|
||||
* @eht_cap_info_5G[]: EHT capability info field of 802.11ax, WMI_HE_CAP defines
|
||||
* @eht_supp_mcs_5G: EHT Supported MCS Set field Rx/Tx same
|
||||
* @eht_cap_phy_info_2G: 2G EHT capability phy field
|
||||
* @eht_cap_phy_info_5G: 5G EHT capability phy field
|
||||
* @eht_cap_info_internal: EHT PHY internal feature capability
|
||||
*/
|
||||
struct wlan_psoc_host_mac_phy_caps_ext2 {
|
||||
uint32_t hw_mode_id;
|
||||
|
@@ -470,6 +470,8 @@ enum element_ie {
|
||||
* @WLAN_EXTN_ELEMID_HE_6G_CAP: HE 6GHz Band Capabilities IE
|
||||
* @WLAN_EXTN_ELEMID_SRP: spatial reuse parameter IE
|
||||
* @WLAN_EXTN_ELEMID_NONINHERITANCE: Non inheritance IE
|
||||
* @WLAN_EXTN_ELEMID_EHTCAP: EHT Capabilities IE
|
||||
* @WLAN_EXTN_ELEMID_EHTOP: EHT Operation IE
|
||||
*/
|
||||
enum extn_element_ie {
|
||||
WLAN_EXTN_ELEMID_MAX_CHAN_SWITCH_TIME = 34,
|
||||
@@ -1421,8 +1423,8 @@ struct wlan_ie_hecaps {
|
||||
* @elem_id: EHT caps IE
|
||||
* @elem_len: EHT caps IE len
|
||||
* @elem_id_extn: EHT caps extension id
|
||||
* @he_mac_cap: EHT mac capabilities
|
||||
* @he_phy_cap: EHT phy capabilities
|
||||
* @eht_mac_cap: EHT mac capabilities
|
||||
* @eht_phy_cap: EHT phy capabilities
|
||||
* @phy_cap_bytes: EHT phy capability bytes
|
||||
* @supported_ch_width_set: Supported channel width set
|
||||
* @mcs_bw_map: MCS NSS map per bandwidth
|
||||
@@ -1448,7 +1450,7 @@ struct wlan_ie_ehtcaps {
|
||||
} qdf_packed;
|
||||
|
||||
/**
|
||||
* struct wlan_ie_heops - EHT operation element
|
||||
* struct wlan_ie_ehtops - EHT operation element
|
||||
* @elem_id: EHT caps IE
|
||||
* @elem_len: EHT caps IE len
|
||||
* @elem_id_extn: EHT caps extension id
|
||||
|
@@ -730,6 +730,7 @@ util_scan_copy_beacon_data(struct scan_cache_entry *new_entry,
|
||||
ie_lst->single_pmk = conv_ptr(ie_lst->single_pmk, old_ptr, new_ptr);
|
||||
ie_lst->rsnxe = conv_ptr(ie_lst->rsnxe, old_ptr, new_ptr);
|
||||
#ifdef WLAN_FEATURE_11BE
|
||||
/* This macro will be removed once 11be is enabled */
|
||||
ie_lst->ehtcap = conv_ptr(ie_lst->ehtcap, old_ptr, new_ptr);
|
||||
ie_lst->ehtop = conv_ptr(ie_lst->ehtop, old_ptr, new_ptr);
|
||||
#endif
|
||||
|
@@ -186,7 +186,7 @@ static bool util_is_pureg_rate(uint8_t *rates, uint8_t nrates)
|
||||
|
||||
#ifdef WLAN_FEATURE_11BE
|
||||
static enum wlan_phymode
|
||||
util_scan_get_phymode_5g_11be(struct wlan_objmgr_pdev *pdev,
|
||||
util_scan_get_phymode_11be(struct wlan_objmgr_pdev *pdev,
|
||||
struct scan_cache_entry *scan_params,
|
||||
enum wlan_phymode phymode,
|
||||
uint8_t band_mask)
|
||||
@@ -231,7 +231,7 @@ util_scan_get_phymode_5g_11be(struct wlan_objmgr_pdev *pdev,
|
||||
}
|
||||
#else
|
||||
static enum wlan_phymode
|
||||
util_scan_get_phymode_5g_11be(struct wlan_objmgr_pdev *pdev,
|
||||
util_scan_get_phymode_11be(struct wlan_objmgr_pdev *pdev,
|
||||
struct scan_cache_entry *scan_params,
|
||||
enum wlan_phymode phymode,
|
||||
uint8_t band_mask)
|
||||
@@ -392,7 +392,7 @@ util_scan_get_phymode_6g(struct wlan_objmgr_pdev *pdev,
|
||||
he_6g_params->chan_freq_seg1,
|
||||
band_mask);
|
||||
|
||||
phymode = util_scan_get_phymode_5g_11be(pdev, scan_params,
|
||||
phymode = util_scan_get_phymode_11be(pdev, scan_params,
|
||||
phymode, band_mask);
|
||||
|
||||
return phymode;
|
||||
@@ -528,7 +528,7 @@ util_scan_get_phymode_5g(struct wlan_objmgr_pdev *pdev,
|
||||
break;
|
||||
}
|
||||
|
||||
phymode = util_scan_get_phymode_5g_11be(pdev, scan_params,
|
||||
phymode = util_scan_get_phymode_11be(pdev, scan_params,
|
||||
phymode, band_mask);
|
||||
|
||||
return phymode;
|
||||
|
@@ -1129,9 +1129,9 @@ struct peer_assoc_params {
|
||||
uint32_t peer_he_rx_mcs_set[WMI_HOST_MAX_HE_RATE_SET];
|
||||
uint32_t peer_he_tx_mcs_set[WMI_HOST_MAX_HE_RATE_SET];
|
||||
#ifdef WLAN_FEATURE_11BE
|
||||
uint32_t peer_eht_cap_macinfo[WMI_HOST_MAX_HECAP_MAC_SIZE];
|
||||
uint32_t peer_eht_cap_macinfo[WMI_HOST_MAX_EHTCAP_MAC_SIZE];
|
||||
uint32_t peer_eht_ops;
|
||||
uint32_t peer_eht_cap_phyinfo[WMI_HOST_MAX_HECAP_PHY_SIZE];
|
||||
uint32_t peer_eht_cap_phyinfo[WMI_HOST_MAX_EHTCAP_PHY_SIZE];
|
||||
uint32_t peer_eht_mcs_count;
|
||||
uint32_t peer_eht_rx_mcs_set[WMI_HOST_MAX_EHT_RATE_SET];
|
||||
uint32_t peer_eht_tx_mcs_set[WMI_HOST_MAX_EHT_RATE_SET];
|
||||
|
@@ -2584,34 +2584,30 @@ static inline void update_peer_flags_tlv_ehtinfo(
|
||||
wmi_peer_assoc_complete_cmd_fixed_param * cmd,
|
||||
struct peer_assoc_params *param, uint8_t *buf_ptr)
|
||||
{
|
||||
wmi_he_rate_set *eht_mcs;
|
||||
wmi_eht_rate_set *eht_mcs;
|
||||
int i;
|
||||
|
||||
cmd->peer_eht_cap_info =
|
||||
param->peer_eht_cap_macinfo[WMI_HOST_EHTCAP_MAC_WORD1];
|
||||
cmd->peer_eht_cap_info_ext =
|
||||
param->peer_eht_cap_macinfo[WMI_HOST_EHTCAP_MAC_WORD2];
|
||||
cmd->peer_eht_ops = param->peer_eht_ops;
|
||||
qdf_mem_copy(&cmd->peer_eht_cap_mac, ¶m->peer_eht_cap_macinfo,
|
||||
sizeof(param->peer_eht_cap_macinfo));
|
||||
qdf_mem_copy(&cmd->peer_eht_cap_phy, ¶m->peer_eht_cap_phyinfo,
|
||||
sizeof(param->peer_eht_cap_phyinfo));
|
||||
|
||||
cmd->peer_eht_num_mcs = param->peer_eht_mcs_count;
|
||||
|
||||
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
|
||||
(param->peer_eht_mcs_count * sizeof(wmi_he_rate_set)));
|
||||
(param->peer_eht_mcs_count * sizeof(wmi_eht_rate_set)));
|
||||
buf_ptr += WMI_TLV_HDR_SIZE;
|
||||
|
||||
/* Loop through the EHT rate set */
|
||||
for (i = 0; i < param->peer_eht_mcs_count; i++) {
|
||||
eht_mcs = (wmi_he_rate_set *)buf_ptr;
|
||||
WMITLV_SET_HDR(eht_mcs, WMITLV_TAG_STRUC_wmi_he_rate_set,
|
||||
WMITLV_GET_STRUCT_TLVLEN(wmi_he_rate_set));
|
||||
eht_mcs = (wmi_eht_rate_set *)buf_ptr;
|
||||
WMITLV_SET_HDR(eht_mcs, WMITLV_TAG_STRUC_wmi_eht_rate_set,
|
||||
WMITLV_GET_STRUCT_TLVLEN(wmi_eht_rate_set));
|
||||
|
||||
eht_mcs->rx_mcs_set = param->peer_eht_rx_mcs_set[i];
|
||||
eht_mcs->tx_mcs_set = param->peer_eht_tx_mcs_set[i];
|
||||
wmi_debug("EHT idx %d RxMCSmap %x TxMCSmap %x ",
|
||||
i, eht_mcs->rx_mcs_set, eht_mcs->tx_mcs_set);
|
||||
buf_ptr += sizeof(wmi_he_rate_set);
|
||||
buf_ptr += sizeof(wmi_eht_rate_set);
|
||||
}
|
||||
|
||||
if ((param->eht_flag) && (param->peer_eht_mcs_count > 1) &&
|
||||
@@ -2629,9 +2625,9 @@ static inline void update_peer_flags_tlv_ehtinfo(
|
||||
QDF_MAC_ADDR_REF(param->peer_mac));
|
||||
}
|
||||
|
||||
wmi_debug("EHT cap_info %x ops %x EHT cap_info_ext %x EHT phy %x %x %x ",
|
||||
cmd->peer_eht_cap_info,
|
||||
cmd->peer_eht_ops, cmd->peer_he_cap_info_ext,
|
||||
wmi_debug("EHT cap_mac %x %x ehtops %x EHT phy %x %x %x ",
|
||||
cmd->peer_eht_cap_mac[0],
|
||||
cmd->peer_eht_cap_mac[1], cmd->peer_eht_ops,
|
||||
cmd->peer_eht_cap_phy[0], cmd->peer_he_cap_phy[1],
|
||||
cmd->peer_eht_cap_phy[2]);
|
||||
}
|
||||
@@ -11419,18 +11415,17 @@ static void extract_mac_phy_cap_ehtcaps(
|
||||
{
|
||||
uint32_t i;
|
||||
|
||||
param->eht_cap_info_2G[WMI_HOST_EHTCAP_MAC_WORD1] =
|
||||
mac_phy_caps->eht_cap_info_2G;
|
||||
param->eht_cap_info_2G[WMI_HOST_EHTCAP_MAC_WORD2] =
|
||||
mac_phy_caps->eht_cap_info_2G_ext;
|
||||
param->eht_supp_mcs_2G = mac_phy_caps->eht_supp_mcs_2G;
|
||||
param->eht_cap_info_5G[WMI_HOST_EHTCAP_MAC_WORD1] =
|
||||
mac_phy_caps->eht_cap_info_5G;
|
||||
param->eht_cap_info_5G[WMI_HOST_EHTCAP_MAC_WORD2] =
|
||||
mac_phy_caps->eht_cap_info_5G_ext;
|
||||
param->eht_supp_mcs_5G = mac_phy_caps->eht_supp_mcs_5G;
|
||||
param->eht_cap_info_internal = mac_phy_caps->eht_cap_info_internal;
|
||||
|
||||
qdf_mem_copy(¶m->eht_cap_info_2G,
|
||||
&mac_phy_caps->eht_cap_mac_info_2G,
|
||||
sizeof(param->eht_cap_info_2G));
|
||||
qdf_mem_copy(¶m->eht_cap_info_5G,
|
||||
&mac_phy_caps->eht_cap_mac_info_5G,
|
||||
sizeof(param->eht_cap_info_5G));
|
||||
|
||||
qdf_mem_copy(¶m->eht_cap_phy_info_2G,
|
||||
&mac_phy_caps->eht_cap_phy_info_2G,
|
||||
sizeof(param->eht_cap_phy_info_2G));
|
||||
@@ -11438,11 +11433,11 @@ static void extract_mac_phy_cap_ehtcaps(
|
||||
&mac_phy_caps->eht_cap_phy_info_5G,
|
||||
sizeof(param->eht_cap_phy_info_5G));
|
||||
|
||||
wmi_debug("EHT mac caps: cap_info_2G %x, cap_info_2G_ext %x, cap_info_5G %x, cap_info_5G_ext %x, supp_mcs_2G %x, supp_mcs_5G %x, info_internal %x",
|
||||
mac_phy_caps->eht_cap_info_2G,
|
||||
mac_phy_caps->eht_cap_info_2G_ext,
|
||||
mac_phy_caps->eht_cap_info_5G,
|
||||
mac_phy_caps->eht_cap_info_5G_ext,
|
||||
wmi_debug("EHT mac caps: mac cap_info_2G %x %x, mac cap_info_5G %x %x, supp_mcs_2G %x, supp_mcs_5G %x, info_internal %x",
|
||||
mac_phy_caps->eht_cap_mac_info_2G[0],
|
||||
mac_phy_caps->eht_cap_mac_info_2G[1],
|
||||
mac_phy_caps->eht_cap_mac_info_5G[0],
|
||||
mac_phy_caps->eht_cap_mac_info_5G[1],
|
||||
mac_phy_caps->eht_supp_mcs_2G, mac_phy_caps->eht_supp_mcs_5G,
|
||||
mac_phy_caps->eht_cap_info_internal);
|
||||
|
||||
|
Reference in New Issue
Block a user