Pārlūkot izejas kodu

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
Kiran Kumar Lokere 6 gadi atpakaļ
vecāks
revīzija
e9fd0c52d2

+ 8 - 2
mlme/core/src/wlan_mlme_main.c

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

+ 16 - 1
mlme/dispatcher/inc/cfg_mlme_he_caps.h

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

+ 12 - 6
mlme/dispatcher/src/wlan_mlme_api.c

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