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:
Venkateswara Swamy Bandaru
2021-03-30 14:30:05 +05:30
committed by snandini
parent a8e24fd6c0
commit 216478aaae
7 changed files with 51 additions and 45 deletions

View File

@@ -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
*

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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;

View File

@@ -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];

View File

@@ -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, &param->peer_eht_cap_macinfo,
sizeof(param->peer_eht_cap_macinfo));
qdf_mem_copy(&cmd->peer_eht_cap_phy, &param->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(&param->eht_cap_info_2G,
&mac_phy_caps->eht_cap_mac_info_2G,
sizeof(param->eht_cap_info_2G));
qdf_mem_copy(&param->eht_cap_info_5G,
&mac_phy_caps->eht_cap_mac_info_5G,
sizeof(param->eht_cap_info_5G));
qdf_mem_copy(&param->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);