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

qcacld-3.0: Add wps params to mlme component

Add wps params in respect to CFG
convergence

Change-Id: I462e3e1b3f60c7ec65a7cdf5e3bc7b69c28a5d79
CRs-Fixed: 2326841
gaurank kathpalia 6 жил өмнө
parent
commit
1f7b526563

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

@@ -1246,6 +1246,23 @@ static void mlme_init_wmm_in_cfg(struct wlan_objmgr_psoc *psoc,
 			cfg_get(psoc, CFG_QOS_WMM_UAPSD_VO_SUS_INTV);
 }
 
+static void mlme_init_wps_params_cfg(struct wlan_objmgr_psoc *psoc,
+				     struct wlan_mlme_wps_params *wps_params)
+{
+	wps_params->enable_wps = cfg_default(CFG_WPS_ENABLE);
+	wps_params->wps_cfg_method = cfg_default(CFG_WPS_CFG_METHOD);
+	wps_params->wps_device_password_id =
+				cfg_default(CFG_WPS_DEVICE_PASSWORD_ID);
+	wps_params->wps_device_sub_category =
+				cfg_default(CFG_WPS_DEVICE_SUB_CATEGORY);
+	wps_params->wps_primary_device_category =
+				cfg_default(CFG_WPS_PRIMARY_DEVICE_CATEGORY);
+	wps_params->wps_primary_device_oui =
+				cfg_default(CFG_WPS_PIMARY_DEVICE_OUI);
+	wps_params->wps_state = cfg_default(CFG_WPS_STATE);
+	wps_params->wps_version = cfg_default(CFG_WPS_VERSION);
+}
+
 QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
 {
 	struct wlan_mlme_psoc_obj *mlme_obj;
@@ -1282,6 +1299,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
 	mlme_init_threshold_cfg(psoc, &mlme_cfg->threshold);
 	mlme_init_oce_cfg(psoc, &mlme_cfg->oce);
 	mlme_init_wep_cfg(&mlme_cfg->wep_params);
+	mlme_init_wps_params_cfg(psoc, &mlme_cfg->wps_params);
 
 	return status;
 }

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

@@ -22,7 +22,7 @@
 #include "cfg_define.h"
 #include "cfg_converged.h"
 #include "qdf_types.h"
-
+#include "cfg_mlme_wps_params.h"
 #include "cfg_mlme_chainmask.h"
 #include "cfg_mlme_edca_params.h"
 #include "cfg_mlme_generic.h"
@@ -73,6 +73,7 @@
 	CFG_THRESHOLD_ALL \
 	CFG_TIMEOUT_ALL \
 	CFG_VHT_CAPS_ALL \
-	CFG_WEP_PARAMS_ALL
+	CFG_WEP_PARAMS_ALL \
+	CFG_WPS_ALL
 
 #endif /* __CFG_MLME_H */

+ 101 - 0
mlme/dispatcher/inc/cfg_mlme_wps_params.h

@@ -0,0 +1,101 @@
+/*
+ * 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_WPS_PARAMS_H
+#define __CFG_MLME_WPS_PARAMS_H
+
+#define CFG_WPS_ENABLE CFG_UINT( \
+		"enable_wps", \
+		0, \
+		255, \
+		0, \
+		CFG_VALUE_OR_DEFAULT, \
+		"enable wps")
+
+#define CFG_WPS_STATE CFG_UINT( \
+		"wps_state", \
+		0, \
+		255, \
+		1, \
+		CFG_VALUE_OR_DEFAULT, \
+		"wps_state")
+
+#define CFG_WPS_VERSION CFG_UINT( \
+		"wps_version", \
+		0, \
+		255, \
+		16, \
+		CFG_VALUE_OR_DEFAULT, \
+		"wps version")
+
+#define CFG_WPS_CFG_METHOD CFG_UINT( \
+			"wps_cfg_method", \
+			0, \
+			4294967295, \
+			8, \
+			CFG_VALUE_OR_DEFAULT, \
+			"wps cfg method")
+
+#define CFG_WPS_PRIMARY_DEVICE_CATEGORY CFG_UINT( \
+			"wps_primary_device_category", \
+			0, \
+			65535, \
+			1, \
+			CFG_VALUE_OR_DEFAULT, \
+			"wps primary device category")
+
+#define CFG_WPS_PIMARY_DEVICE_OUI CFG_UINT( \
+			"wps_primary_device_oui", \
+			0, \
+			4294967295, \
+			5304836, \
+			CFG_VALUE_OR_DEFAULT, \
+			"wps primary device oui")
+
+#define CFG_WPS_DEVICE_SUB_CATEGORY CFG_UINT( \
+				"wps_device_sub_category", \
+				0, \
+				65535, \
+				1, \
+				CFG_VALUE_OR_DEFAULT, \
+				"wps device sub category")
+
+#define CFG_WPS_DEVICE_PASSWORD_ID CFG_UINT( \
+				"wps_device_password_id", \
+				0, \
+				4294967295, \
+				0, \
+				CFG_VALUE_OR_DEFAULT, \
+				"wps device password id")
+
+#define CFG_WPS_ALL \
+	CFG(CFG_WPS_ENABLE) \
+	CFG(CFG_WPS_STATE) \
+	CFG(CFG_WPS_VERSION) \
+	CFG(CFG_WPS_CFG_METHOD) \
+	CFG(CFG_WPS_PRIMARY_DEVICE_CATEGORY) \
+	CFG(CFG_WPS_PIMARY_DEVICE_OUI) \
+	CFG(CFG_WPS_DEVICE_SUB_CATEGORY) \
+	CFG(CFG_WPS_DEVICE_PASSWORD_ID)
+
+#endif /* __CFG_MLME_WPS_PARAMS_H */
+

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

@@ -309,6 +309,29 @@ struct wlan_mlme_ht_caps {
 	struct mlme_ht_capabilities_info ht_cap_info;
 };
 
+/*
+ * struct wlan_mlme_wps_params - All wps based related cfg items
+ *
+ * @enable_wps - to enable wps
+ * @wps_state - current wps state
+ * @wps_version - wps version
+ * @wps_cfg_method - wps config method
+ * @wps_primary_device_category - wps primary device category
+ * @wps_primary_device_oui - primary device OUI
+ * @wps_device_sub_category - device sub category
+ * @wps_device_password_id - password id of device
+ */
+struct wlan_mlme_wps_params {
+	uint8_t enable_wps;
+	uint8_t wps_state;
+	uint8_t wps_version;
+	uint32_t wps_cfg_method;
+	uint32_t wps_primary_device_category;
+	uint32_t wps_primary_device_oui;
+	uint16_t wps_device_sub_category;
+	uint32_t wps_device_password_id;
+};
+
 /**
  * struct wlan_mlme_ - HT Capabilities related config items
  * @ht_cap_info: HT capabilities Info Structure
@@ -1213,6 +1236,7 @@ struct wlan_mlme_wep_cfg {
  * @feature_flags: Feature flag config items
  * @wep_params:  WEP related config items
  * @wmm_params: WMM related CFG & INI Items
+ * @wps_params: WPS related CFG itmes
  */
 struct wlan_mlme_cfg {
 	struct wlan_mlme_chainmask chainmask_cfg;
@@ -1239,6 +1263,7 @@ struct wlan_mlme_cfg {
 	struct wlan_mlme_feature_flag feature_flags;
 	struct wlan_mlme_wep_cfg wep_params;
 	struct wlan_mlme_wmm_params wmm_params;
+	struct wlan_mlme_wps_params wps_params;
 };
 
 #endif