qcacmn: Changes for Draft 3.0

Make the HECAP and HEOP changes for 11ax Draft3.0.
Draft2.0 support can still be enabled by unsetting
SUPPORT_11AX_D3 in config.unified.wlan.profile.

Change-Id: I0c0fd885a43b672baca61011b75a51526481b1ee
CRs-fixed: 2294235
This commit is contained in:
Gyanranjan Hazarika 2018-08-17 01:54:48 -07:00 • committed by nshrivas
commit 3dff295d8c
4 changed files with 25 additions and 10 deletions

View file

@ -132,7 +132,7 @@ struct wlan_psoc_host_ppe_threshold {
* - 1 indicates support for VHT-MCS 0-8 for n spatial streams
* - 2 indicates support for VHT-MCS 0-9 for n spatial streams
* - 3 indicates that n spatial streams is not supported
* @he_cap_info_2G: HE capability info field of 802.11ax, WMI_HE_CAP defines
* @he_cap_info_2G[]: HE capability info field of 802.11ax, WMI_HE_CAP defines
* @he_supp_mcs_2G: HE Supported MCS Set field Rx/Tx same
* @tx_chain_mask_2G: Valid Transmit chain mask
* @rx_chain_mask_2G: Valid Receive chain mask
@ -146,7 +146,7 @@ struct wlan_psoc_host_ppe_threshold {
* - 1 indicates support for VHT-MCS 0-8 for n spatial streams
* - 2 indicates support for VHT-MCS 0-9 for n spatial streams
* - 3 indicates that n spatial streams is not supported
* @he_cap_info_5G: HE capability info field of 802.11ax, WMI_HE_CAP defines
* @he_cap_info_5G[]: HE capability info field of 802.11ax, WMI_HE_CAP defines
* @he_supp_mcs_5G: HE Supported MCS Set field Rx/Tx same
* @tx_chain_mask_5G: Valid Transmit chain mask
* @rx_chain_mask_5G: Valid Receive chain mask
@ -173,7 +173,7 @@ struct wlan_psoc_host_mac_phy_caps {
uint32_t ht_cap_info_2G;
uint32_t vht_cap_info_2G;
uint32_t vht_supp_mcs_2G;
uint32_t he_cap_info_2G;
uint32_t he_cap_info_2G[PSOC_HOST_MAX_MAC_SIZE];
uint32_t he_supp_mcs_2G;
uint32_t tx_chain_mask_2G;
uint32_t rx_chain_mask_2G;
@ -181,7 +181,7 @@ struct wlan_psoc_host_mac_phy_caps {
uint32_t ht_cap_info_5G;
uint32_t vht_cap_info_5G;
uint32_t vht_supp_mcs_5G;
uint32_t he_cap_info_5G;
uint32_t he_cap_info_5G[PSOC_HOST_MAX_MAC_SIZE];
uint32_t he_supp_mcs_5G;
uint32_t tx_chain_mask_5G;
uint32_t rx_chain_mask_5G;

View file

@ -588,6 +588,7 @@ struct wlan_ssid {
#define PSOC_SERVICE_BM_SIZE ((128 + sizeof(uint32_t) - 1) / sizeof(uint32_t))
#define PSOC_HOST_MAX_NUM_SS (8)
#define PSOC_HOST_MAX_PHY_SIZE (3)
#define PSOC_HOST_MAX_MAC_SIZE (2)
#define PSOC_MAX_HW_MODE (2)
#define PSOC_MAX_MAC_PHY_CAP (5)
#define PSOC_MAX_PHY_REG_CAP (3)

View file

@ -1142,6 +1142,9 @@ typedef struct {
#define WMI_HOST_MAX_NUM_SS 8
#define WMI_HOST_MAX_HECAP_PHY_SIZE 3
#define WMI_HOST_MAX_HECAP_MAC_SIZE 2
#define WMI_HOST_HECAP_MAC_WORD1 0
#define WMI_HOST_HECAP_MAC_WORD2 1
#define WMI_HOST_MAX_HE_RATE_SET 3
/**
* struct wmi_host_ppe_threshold -PPE threshold
@ -1274,7 +1277,7 @@ struct peer_assoc_params {
bool he_flag;
bool twt_requester;
bool twt_responder;
uint32_t peer_he_cap_macinfo;
uint32_t peer_he_cap_macinfo[WMI_HOST_MAX_HECAP_MAC_SIZE];
uint32_t peer_he_ops;
uint32_t peer_he_cap_phyinfo[WMI_HOST_MAX_HECAP_PHY_SIZE];
uint32_t peer_he_mcs_count;

View file

@ -2477,7 +2477,10 @@ static QDF_STATUS send_peer_assoc_cmd_tlv(wmi_unified_t wmi_handle,
cmd->peer_phymode = param->peer_phymode;
/* Update 11ax capabilities */
cmd->peer_he_cap_info = param->peer_he_cap_macinfo;
cmd->peer_he_cap_info =
param->peer_he_cap_macinfo[WMI_HOST_HECAP_MAC_WORD1];
cmd->peer_he_cap_info_ext =
param->peer_he_cap_macinfo[WMI_HOST_HECAP_MAC_WORD2];
cmd->peer_he_ops = param->peer_he_ops;
qdf_mem_copy(&cmd->peer_he_cap_phy, &param->peer_he_cap_phyinfo,
sizeof(param->peer_he_cap_phyinfo));
@ -2547,6 +2550,7 @@ static QDF_STATUS send_peer_assoc_cmd_tlv(wmi_unified_t wmi_handle,
"nss %d phymode %d peer_mpdu_density %d "
"cmd->peer_vht_caps %x "
"HE cap_info %x ops %x "
"HE cap_info_ext %x "
"HE phy %x %x %x "
"peer_bw_rxnss_override %x", __func__,
cmd->vdev_id, cmd->peer_associd, cmd->peer_flags,
@ -2555,8 +2559,9 @@ static QDF_STATUS send_peer_assoc_cmd_tlv(wmi_unified_t wmi_handle,
cmd->peer_max_mpdu, cmd->peer_nss, cmd->peer_phymode,
cmd->peer_mpdu_density,
cmd->peer_vht_caps, cmd->peer_he_cap_info,
cmd->peer_he_ops, cmd->peer_he_cap_phy[0],
cmd->peer_he_cap_phy[1], cmd->peer_he_cap_phy[2],
cmd->peer_he_ops, cmd->peer_he_cap_info_ext,
cmd->peer_he_cap_phy[0], cmd->peer_he_cap_phy[1],
cmd->peer_he_cap_phy[2],
cmd->peer_bw_rxnss_override);
wmi_mtrace(WMI_PEER_ASSOC_CMDID, cmd->vdev_id, 0);
@ -19791,7 +19796,10 @@ static QDF_STATUS extract_mac_phy_cap_service_ready_ext_tlv(
param->ht_cap_info_2G = mac_phy_caps->ht_cap_info_2G;
param->vht_cap_info_2G = mac_phy_caps->vht_cap_info_2G;
param->vht_supp_mcs_2G = mac_phy_caps->vht_supp_mcs_2G;
param->he_cap_info_2G = mac_phy_caps->he_cap_info_2G;
param->he_cap_info_2G[WMI_HOST_HECAP_MAC_WORD1] =
mac_phy_caps->he_cap_info_2G;
param->he_cap_info_2G[WMI_HOST_HECAP_MAC_WORD2] =
mac_phy_caps->he_cap_info_2G_ext;
param->he_supp_mcs_2G = mac_phy_caps->he_supp_mcs_2G;
param->tx_chain_mask_2G = mac_phy_caps->tx_chain_mask_2G;
param->rx_chain_mask_2G = mac_phy_caps->rx_chain_mask_2G;
@ -19799,7 +19807,10 @@ static QDF_STATUS extract_mac_phy_cap_service_ready_ext_tlv(
param->ht_cap_info_5G = mac_phy_caps->ht_cap_info_5G;
param->vht_cap_info_5G = mac_phy_caps->vht_cap_info_5G;
param->vht_supp_mcs_5G = mac_phy_caps->vht_supp_mcs_5G;
param->he_cap_info_5G = mac_phy_caps->he_cap_info_5G;
param->he_cap_info_5G[WMI_HOST_HECAP_MAC_WORD1] =
mac_phy_caps->he_cap_info_5G;
param->he_cap_info_5G[WMI_HOST_HECAP_MAC_WORD2] =
mac_phy_caps->he_cap_info_5G_ext;
param->he_supp_mcs_5G = mac_phy_caps->he_supp_mcs_5G;
param->tx_chain_mask_5G = mac_phy_caps->tx_chain_mask_5G;
param->rx_chain_mask_5G = mac_phy_caps->rx_chain_mask_5G;