Эх сурвалжийг харах

qcacld-3.0: ADD MLME CFG items of WMM CFG Items

Add the following WMM CFG items to MLME cfg Items:
1. WNI_CFG_QOS_ENABLED
2. WNI_CFG_WME_ENABLED
3. WNI_CFG_MAX_SP_LENGTH
4. WNI_CFG_WSM_ENABLED
5. WNI_CFG_EDCA_PROFILE

Deleted following WMM CFG Items:
1. WNI_CFG_ADMIT_POLICY
2. WNI_CFG_ADMIT_BWFACTOR

Change-Id: I16f9c5a71d1e8fe7cb1b029e3ec7ec2159bdd5b4
CRs-Fixed: 2304998
Pragaspathi Thilagaraj 6 жил өмнө
parent
commit
f696df2e27

+ 11 - 0
mlme/core/src/wlan_mlme_main.c

@@ -1123,6 +1123,16 @@ static void mlme_init_wep_cfg(struct wlan_mlme_wep_cfg *wep_params)
 	mlme_init_wep_keys(wep_params);
 }
 
+static void mlme_init_wmm_in_cfg(struct wlan_objmgr_psoc *psoc,
+				 struct wlan_mlme_wmm_params *wmm_params)
+{
+	wmm_params->qos_enabled = cfg_default(CFG_QOS_ENABLED);
+	wmm_params->wme_enabled = cfg_default(CFG_WME_ENABLED);
+	wmm_params->max_sp_length = cfg_default(CFG_MAX_SP_LENGTH);
+	wmm_params->wsm_enabled = cfg_default(CFG_WSM_ENABLED);
+	wmm_params->edca_profile = cfg_default(CFG_EDCA_PROFILE);
+}
+
 QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
 {
 	struct wlan_mlme_psoc_obj *mlme_obj;
@@ -1140,6 +1150,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
 	mlme_init_edca_params(&mlme_cfg->edca_params);
 	mlme_init_timeout_cfg(psoc, &mlme_cfg->timeouts);
 	mlme_init_ht_cap_in_cfg(psoc, &mlme_cfg->ht_caps);
+	mlme_init_wmm_in_cfg(psoc, &mlme_cfg->wmm_params);
 	mlme_init_mbo_cfg(psoc, &mlme_cfg->mbo_cfg);
 	mlme_init_qos_cfg(psoc, &mlme_cfg->qos_mlme_params);
 	mlme_init_rates_in_cfg(psoc, &mlme_cfg->rates);

+ 2 - 0
mlme/dispatcher/inc/cfg_mlme.h

@@ -39,6 +39,7 @@
 #include "wlan_mlme_product_details_cfg.h"
 #include "cfg_mlme_sta.h"
 #include "cfg_sap_protection.h"
+#include "cfg_mlme_fe_wmm.h"
 #include "cfg_mlme_sap.h"
 #include "cfg_mlme_scoring.h"
 #include "cfg_mlme_oce.h"
@@ -62,6 +63,7 @@
 	CFG_OCE_ALL \
 	CFG_QOS_ALL \
 	CFG_RATES_ALL \
+	CFG_WMM_PARAMS_ALL\
 	CFG_SAP_ALL \
 	CFG_SAP_PROTECTION_ALL \
 	CFG_SCORING_ALL \

+ 64 - 0
mlme/dispatcher/inc/cfg_mlme_fe_wmm.h

@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2012-2018 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
+ * above copyright notice and this permission notice appear in all
+ * copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+ * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/**
+ * DOC: This file contains centralized definitions of converged configuration.
+ */
+
+#ifndef __CFG_MLME_FE_WMM_H
+#define __CFG_MLME_FE_WMM_H
+
+#define CFG_QOS_ENABLED CFG_BOOL( \
+		"qos_enabled", \
+		0, \
+		"QOS Enabled")
+
+#define CFG_WME_ENABLED CFG_BOOL( \
+		"wme_enabled", \
+		1, \
+		"WME Enabled")
+
+#define CFG_MAX_SP_LENGTH CFG_UINT( \
+		"max_sp_length", \
+		0, \
+		3, \
+		0, \
+		CFG_VALUE_OR_DEFAULT, \
+		"MAX sp length")
+
+#define CFG_WSM_ENABLED CFG_BOOL( \
+		"wsm_enabled", \
+		0, \
+		"WSM Enabled")
+
+#define CFG_EDCA_PROFILE CFG_UINT( \
+		"edca_profile", \
+		0, \
+		4, \
+		1, \
+		CFG_VALUE_OR_DEFAULT, \
+		"Edca Profile")
+
+#define CFG_WMM_PARAMS_ALL \
+	CFG(CFG_QOS_ENABLED) \
+	CFG(CFG_WME_ENABLED) \
+	CFG(CFG_MAX_SP_LENGTH) \
+	CFG(CFG_WSM_ENABLED) \
+	CFG(CFG_EDCA_PROFILE)
+
+#endif /* __CFG_MLME_FE_WMM_H */

+ 18 - 0
mlme/dispatcher/inc/wlan_mlme_public_struct.h

@@ -834,6 +834,22 @@ struct wlan_mlme_lfr_cfg {
 	uint32_t max_num_pre_auth;
 };
 
+/**
+* struct wlan_mlme_wmm_params - WMM CFG Items
+ * @qos_enabled: AP is enabled with 11E
+ * @wme_enabled: AP is enabled with WMM
+ * @max_sp_length: Maximum SP Length
+ * @wsm_enabled: AP is enabled with WSM
+ * @edca_profile: edca profile id
+ */
+struct wlan_mlme_wmm_params {
+	bool qos_enabled;
+	bool wme_enabled;
+	uint8_t max_sp_length;
+	bool wsm_enabled;
+	uint32_t edca_profile;
+};
+
 /**
  * struct wlan_mlme_weight_config - weight params to
  * calculate best candidate
@@ -1066,6 +1082,7 @@ struct wlan_mlme_wep_cfg {
  * @acs: ACS related CFG items
  * @feature_flags: Feature flag config items
  * @wep_params:  WEP related config items
+ * @wmm_params: WMM related CFG Items
  */
 struct wlan_mlme_cfg {
 	struct wlan_mlme_chainmask chainmask_cfg;
@@ -1090,6 +1107,7 @@ struct wlan_mlme_cfg {
 	struct wlan_mlme_acs acs;
 	struct wlan_mlme_feature_flag feature_flags;
 	struct wlan_mlme_wep_cfg wep_params;
+	struct wlan_mlme_wmm_params wmm_params;
 };
 
 #endif