qcacld-3.0: Add support for 11ax draft 3.3 changes

Add support for 11ax Draft 3.3 specification.

Change-Id: I18eda46c724f8febe5652876175bebfda3f7fc88
CRs-Fixed: 2388130
This commit is contained in:
Kiran Kumar Lokere
2019-02-04 14:38:08 -08:00
zatwierdzone przez nshrivas
rodzic 4dab49336d
commit 9cab525856
10 zmienionych plików z 131 dodań i 63 usunięć

Wyświetl plik

@@ -1002,6 +1002,12 @@ static void mlme_init_he_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
cfg_default(CFG_HE_UL_2X996_RU);
he_caps->dot11_he_cap.om_ctrl_ul_mu_data_dis_rx =
cfg_default(CFG_HE_OM_CTRL_UL_MU_DIS_RX);
he_caps->dot11_he_cap.he_dynamic_smps =
cfg_default(CFG_HE_DYNAMIC_SMPS);
he_caps->dot11_he_cap.punctured_sounding_supp =
cfg_default(CFG_HE_PUNCTURED_SOUNDING);
he_caps->dot11_he_cap.ht_vht_trg_frm_rx_supp =
cfg_default(CFG_HE_HT_VHT_TRG_FRM_RX);
he_caps->dot11_he_cap.rx_pream_puncturing =
cfg_default(CFG_HE_RX_PREAM_PUNC);
he_caps->dot11_he_cap.device_class =
@@ -1013,7 +1019,7 @@ static void mlme_init_he_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
cfg_default(CFG_HE_MIDAMBLE_RX_MAX_NSTS);
he_caps->dot11_he_cap.he_4x_ltf_3200_gi_ndp =
cfg_default(CFG_HE_LTF_NDP);
he_caps->dot11_he_cap.tx_stbc_lt_80mhz =
he_caps->dot11_he_cap.tb_ppdu_tx_stbc_lt_80mhz =
cfg_default(CFG_HE_TX_STBC_LT80);
he_caps->dot11_he_cap.rx_stbc_lt_80mhz =
cfg_default(CFG_HE_RX_STBC_LT80);
@@ -1049,7 +1055,7 @@ static void mlme_init_he_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
he_caps->dot11_he_cap.power_boost = cfg_default(CFG_HE_POWER_BOOST);
he_caps->dot11_he_cap.he_ltf_800_gi_4x = cfg_default(CFG_HE_4x_LTF_GI);
he_caps->dot11_he_cap.max_nc = cfg_default(CFG_HE_MAX_NC);
he_caps->dot11_he_cap.tx_stbc_gt_80mhz =
he_caps->dot11_he_cap.tb_ppdu_tx_stbc_gt_80mhz =
cfg_default(CFG_HE_TX_STBC_GT80);
he_caps->dot11_he_cap.rx_stbc_gt_80mhz =
cfg_default(CFG_HE_RX_STBC_GT80);

Wyświetl plik

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -212,6 +212,21 @@
0, \
"He Om Ctrl Ul My Dis Rx")
#define CFG_HE_DYNAMIC_SMPS CFG_BOOL( \
"he_dynamic_smps", \
0, \
"He Dyanmic SMPS")
#define CFG_HE_PUNCTURED_SOUNDING CFG_BOOL( \
"he_punctured_sounding", \
0, \
"He Punctured Sounding")
#define CFG_HE_HT_VHT_TRG_FRM_RX CFG_BOOL( \
"ht_vht_trg_frm_rx", \
0, \
"HT VHT Trigger frame Rx")
#define CFG_HE_CHAN_WIDTH CFG_UINT( \
"he_chan_width", \
0, \

Wyświetl plik

@@ -584,6 +584,12 @@ QDF_STATUS mlme_update_tgt_he_caps_in_cfg(struct wlan_objmgr_psoc *psoc,
he_cap->ul_2x996_tone_ru_supp;
mlme_obj->cfg.he_caps.dot11_he_cap.om_ctrl_ul_mu_data_dis_rx =
he_cap->om_ctrl_ul_mu_data_dis_rx;
mlme_obj->cfg.he_caps.dot11_he_cap.he_dynamic_smps =
he_cap->he_dynamic_smps;
mlme_obj->cfg.he_caps.dot11_he_cap.punctured_sounding_supp =
he_cap->punctured_sounding_supp;
mlme_obj->cfg.he_caps.dot11_he_cap.ht_vht_trg_frm_rx_supp =
he_cap->ht_vht_trg_frm_rx_supp;
chan_width = HE_CH_WIDTH_COMBINE(he_cap->chan_width_0,
he_cap->chan_width_1,
@@ -632,13 +638,13 @@ QDF_STATUS mlme_update_tgt_he_caps_in_cfg(struct wlan_objmgr_psoc *psoc,
mlme_obj->cfg.he_caps.dot11_he_cap.rx_stbc_gt_80mhz = 0;
}
if (mlme_obj->cfg.vht_caps.vht_cap_info.tx_stbc) {
mlme_obj->cfg.he_caps.dot11_he_cap.tx_stbc_lt_80mhz =
he_cap->tx_stbc_lt_80mhz;
mlme_obj->cfg.he_caps.dot11_he_cap.tx_stbc_gt_80mhz =
he_cap->tx_stbc_gt_80mhz;
mlme_obj->cfg.he_caps.dot11_he_cap.tb_ppdu_tx_stbc_lt_80mhz =
he_cap->tb_ppdu_tx_stbc_lt_80mhz;
mlme_obj->cfg.he_caps.dot11_he_cap.tb_ppdu_tx_stbc_gt_80mhz =
he_cap->tb_ppdu_tx_stbc_gt_80mhz;
} else {
mlme_obj->cfg.he_caps.dot11_he_cap.tx_stbc_lt_80mhz = 0;
mlme_obj->cfg.he_caps.dot11_he_cap.tx_stbc_gt_80mhz = 0;
mlme_obj->cfg.he_caps.dot11_he_cap.tb_ppdu_tx_stbc_lt_80mhz = 0;
mlme_obj->cfg.he_caps.dot11_he_cap.tb_ppdu_tx_stbc_gt_80mhz = 0;
}
if (cfg_in_range(CFG_HE_DOPPLER, he_cap->doppler))