Parcourir la source

qcacld-3.0: Add ini for supporting partial/full bandwidth UL MUMIMO

Add ini to support partial and full bandwifth feature of UL MU-MIMO.
0-> no support
1-> partial bandwidth
2-> full and partial bandwidth

Change-Id: I94b2c8e525795a32a923e75f0650742f806dfcd5
CRs-Fixed: 2397536
Harprit Chhabada il y a 6 ans
Parent
commit
09b5003488

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

@@ -1024,7 +1024,8 @@ static void mlme_init_he_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
 	he_caps->dot11_he_cap.rx_stbc_lt_80mhz =
 			cfg_default(CFG_HE_RX_STBC_LT80);
 	he_caps->dot11_he_cap.doppler = cfg_default(CFG_HE_DOPPLER);
-	he_caps->dot11_he_cap.ul_mu = cfg_default(CFG_HE_UL_MUMIMO);
+	he_caps->dot11_he_cap.ul_mu =
+			cfg_get(psoc, CFG_HE_UL_MUMIMO);
 	he_caps->dot11_he_cap.dcm_enc_tx = cfg_default(CFG_HE_DCM_TX);
 	he_caps->dot11_he_cap.dcm_enc_rx = cfg_default(CFG_HE_DCM_RX);
 	he_caps->dot11_he_cap.ul_he_mu = cfg_default(CFG_HE_MU_PPDU);

+ 33 - 12
components/mlme/dispatcher/inc/cfg_mlme_he_caps.h

@@ -295,14 +295,6 @@
 				CFG_VALUE_OR_DEFAULT, \
 				"He Doppler")
 
-#define CFG_HE_UL_MUMIMO CFG_UINT( \
-				"he_ul_mumimo", \
-				0, \
-				3, \
-				0, \
-				CFG_VALUE_OR_DEFAULT, \
-				"He Ul Mumimo")
-
 #define CFG_HE_DCM_TX CFG_UINT( \
 				"he_dcm_tx", \
 				0, \
@@ -571,6 +563,35 @@
 				CFG_VALUE_OR_DEFAULT, \
 				"He Ops Basic Mcs NSS")
 
+/* 11AX related INI configuration */
+/*
+ * <ini>
+ * he_ul_mumimo - configure ul mu capabilities
+ * @Min: 0
+ * @Max: 3
+ * @Default: 2
+ *
+ * This ini is used to configure capabilities of ul mu-mimo
+ * 0-> no support
+ * 1-> partial bandwidth support
+ * 2-> full and partial bandwidth support
+ *
+ * Related: NA
+ *
+ * Supported Feature: 11AX
+ *
+ * Usage: Internal/External
+ *
+ * </ini>
+ */
+#define CFG_HE_UL_MUMIMO CFG_INI_UINT( \
+				"he_ul_mumimo", \
+				0, \
+				3, \
+				2, \
+				CFG_VALUE_OR_DEFAULT, \
+				"He Ul Mumimo")
+
 /* 11AX related INI configuration */
 /*
  * <ini>
@@ -603,7 +624,7 @@
  * enable_ul_mimo- Enable UL MIMO.
  * @Min: 0
  * @Max: 1
- * @Default: 0
+ * @Default: 1
  *
  * This ini is used to enable or disable UL MIMO.
  *
@@ -617,7 +638,7 @@
  */
 #define CFG_ENABLE_UL_MIMO CFG_INI_BOOL( \
 				"enable_ul_mimo", \
-				0, \
+				1, \
 				"He Enble Ul Mimo Name")
 
 /*
@@ -625,7 +646,7 @@
  * enable_ul_ofdma- Enable UL OFDMA.
  * @Min: 0
  * @Max: 1
- * @Default: 0
+ * @Default: 1
  *
  * This ini is used to enable or disable UL OFDMA.
  *
@@ -640,7 +661,7 @@
 
 #define CFG_ENABLE_UL_OFDMA CFG_INI_BOOL( \
 				"enable_ul_ofdma", \
-				0, \
+				1, \
 				"He Enable Ul Ofdma Name")
 
 /*

+ 0 - 2
components/mlme/dispatcher/src/wlan_mlme_api.c

@@ -649,8 +649,6 @@ QDF_STATUS mlme_update_tgt_he_caps_in_cfg(struct wlan_objmgr_psoc *psoc,
 
 	if (cfg_in_range(CFG_HE_DOPPLER, he_cap->doppler))
 		mlme_obj->cfg.he_caps.dot11_he_cap.doppler = he_cap->doppler;
-	if (cfg_in_range(CFG_HE_UL_MUMIMO, he_cap->ul_mu))
-		mlme_obj->cfg.he_caps.dot11_he_cap.ul_mu = he_cap->ul_mu;
 	if (cfg_in_range(CFG_HE_DCM_TX, he_cap->dcm_enc_tx))
 		mlme_obj->cfg.he_caps.dot11_he_cap.dcm_enc_tx =
 						he_cap->dcm_enc_tx;

+ 1 - 1
core/hdd/src/wlan_hdd_he.c

@@ -85,7 +85,7 @@ int hdd_update_he_cap_in_cfg(struct hdd_context *hdd_ctx)
 					       &enable_ul_ofdma);
 	if (ret)
 		return ret;
-	if (val & 0x1)
+	if (val & 0x1 || (val >> 1) & 0x1)
 		val1 = enable_ul_mimo & 0x1;
 
 	if ((val >> 1) & 0x1)