Browse Source

qcacld-3.0: Control Pre Punc and UL MU-MIMO feature via INI

Control Preamble Puncturing feature via INI "he_rx_pream_punc"
and UL MU-MIMO feature via INI "enable_ul_mimo".

Change-Id: Ib4d6fd10c9e4f46c1baa5070f94d8dddd4978757
CRs-Fixed: 3305742
abhinav kumar 2 years ago
parent
commit
59426b95be

+ 1 - 1
components/mlme/core/src/wlan_mlme_main.c

@@ -1269,7 +1269,7 @@ static void mlme_init_he_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
 	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);
+			cfg_get(psoc, CFG_HE_RX_PREAM_PUNC);
 	he_caps->dot11_he_cap.device_class =
 			cfg_default(CFG_HE_CLASS_OF_DEVICE);
 	he_caps->dot11_he_cap.ldpc_coding = cfg_default(CFG_HE_LDPC);

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

@@ -221,7 +221,7 @@
 				CFG_VALUE_OR_DEFAULT, \
 				"He Chan Width")
 
-#define CFG_HE_RX_PREAM_PUNC CFG_UINT( \
+#define CFG_HE_RX_PREAM_PUNC CFG_INI_UINT( \
 				"he_rx_pream_punc", \
 				0, \
 				0xF, \

+ 16 - 0
core/sme/src/common/sme_api.c

@@ -10722,6 +10722,22 @@ void sme_update_tgt_he_cap(mac_handle_t mac_handle,
 		     &cfg->he_cap_5g,
 		     sizeof(tDot11fIEhe_cap));
 
+	if (!mac_ctx->mlme_cfg->he_caps.dot11_he_cap.rx_pream_puncturing) {
+		sme_debug("feature is disabled via INI, FW caps 2G:%d, 5G:%d",
+			  mac_ctx->he_cap_2g.rx_pream_puncturing,
+			  mac_ctx->he_cap_5g.rx_pream_puncturing);
+
+		mac_ctx->he_cap_2g.rx_pream_puncturing = 0;
+		mac_ctx->he_cap_5g.rx_pream_puncturing = 0;
+	}
+
+	if (!mac_ctx->mlme_cfg->he_caps.enable_ul_mimo) {
+		sme_debug("feature is disabled via INI, FW caps 2G:%d, 5G:%d",
+			  mac_ctx->he_cap_2g.ul_mu, mac_ctx->he_cap_5g.ul_mu);
+		mac_ctx->he_cap_2g.ul_mu = 0;
+		mac_ctx->he_cap_5g.ul_mu = 0;
+	}
+
 	/* modify HE Caps field according to INI setting */
 	mac_ctx->he_cap_2g.bfee_sts_lt_80 =
 			QDF_MIN(cfg->he_cap_2g.bfee_sts_lt_80,