Преглед на файлове

qcacld-3.0: Add Dot11 mode related CFG items in mlme cfg

Add dot11mode related cfg items in mlme cfg, and replace
old WNI dot11 modes with new MLME DOT11 mode enums

Change-Id: I6e866959f440ae781432c8aaa724b229c0874856
CRs-Fixed: 2362540
gaurank kathpalia преди 6 години
родител
ревизия
6e818c206e
променени са 4 файла, в които са добавени 89 реда и са изтрити 3 реда
  1. 8 1
      mlme/core/src/wlan_mlme_main.c
  2. 3 1
      mlme/dispatcher/inc/cfg_mlme.h
  3. 38 0
      mlme/dispatcher/inc/cfg_mlme_dot11mode.h
  4. 40 1
      mlme/dispatcher/inc/wlan_mlme_public_struct.h

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

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
  *
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
  * any purpose with or without fee is hereby granted, provided that the
@@ -2027,6 +2027,12 @@ static void mlme_init_reg_cfg(struct wlan_objmgr_psoc *psoc,
 	reg->scan_11d_interval = cfg_get(psoc, CFG_SCAN_11D_INTERVAL);
 	reg->scan_11d_interval = cfg_get(psoc, CFG_SCAN_11D_INTERVAL);
 }
 }
 
 
+static void
+mlme_init_dot11_mode_cfg(struct wlan_mlme_dot11_mode *dot11_mode)
+{
+	dot11_mode->dot11_mode = cfg_default(CFG_DOT11_MODE);
+}
+
 QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
 QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
 {
 {
 	struct wlan_mlme_psoc_obj *mlme_obj;
 	struct wlan_mlme_psoc_obj *mlme_obj;
@@ -2065,6 +2071,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
 	mlme_init_ibss_cfg(psoc, &mlme_cfg->ibss);
 	mlme_init_ibss_cfg(psoc, &mlme_cfg->ibss);
 	mlme_init_feature_flag_in_cfg(psoc, &mlme_cfg->feature_flags);
 	mlme_init_feature_flag_in_cfg(psoc, &mlme_cfg->feature_flags);
 	mlme_init_scoring_cfg(psoc, &mlme_cfg->scoring);
 	mlme_init_scoring_cfg(psoc, &mlme_cfg->scoring);
+	mlme_init_dot11_mode_cfg(&mlme_cfg->dot11_mode);
 	mlme_init_threshold_cfg(psoc, &mlme_cfg->threshold);
 	mlme_init_threshold_cfg(psoc, &mlme_cfg->threshold);
 	mlme_init_acs_cfg(psoc, &mlme_cfg->acs);
 	mlme_init_acs_cfg(psoc, &mlme_cfg->acs);
 	mlme_init_power_cfg(psoc, &mlme_cfg->power);
 	mlme_init_power_cfg(psoc, &mlme_cfg->power);

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

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
  *
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
  * any purpose with or without fee is hereby granted, provided that the
@@ -35,6 +35,7 @@
 #include "cfg_mlme_obss_ht40.h"
 #include "cfg_mlme_obss_ht40.h"
 #include "cfg_mlme_dfs.h"
 #include "cfg_mlme_dfs.h"
 #include "cfg_mlme_mbo.h"
 #include "cfg_mlme_mbo.h"
+#include "cfg_mlme_dot11mode.h"
 #include "cfg_mlme_nss_chains.h"
 #include "cfg_mlme_nss_chains.h"
 #include "cfg_mlme_vht_caps.h"
 #include "cfg_mlme_vht_caps.h"
 #include "cfg_qos.h"
 #include "cfg_qos.h"
@@ -66,6 +67,7 @@
 	CFG_BTM_ALL \
 	CFG_BTM_ALL \
 	CFG_CHAINMASK_ALL \
 	CFG_CHAINMASK_ALL \
 	CFG_DFS_ALL \
 	CFG_DFS_ALL \
+	CFG_DOT11_MODE_ALL \
 	CFG_EDCA_PARAMS_ALL \
 	CFG_EDCA_PARAMS_ALL \
 	CFG_FE_RRM_ALL \
 	CFG_FE_RRM_ALL \
 	CFG_FE_WLM_ALL \
 	CFG_FE_WLM_ALL \

+ 38 - 0
mlme/dispatcher/inc/cfg_mlme_dot11mode.h

@@ -0,0 +1,38 @@
+/*
+ * 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
+ * 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_DOT11MODE_H
+#define __CFG_MLME_DOT11MODE_H
+
+#define CFG_DOT11_MODE CFG_UINT( \
+		"dot11_mode", \
+		0, \
+		10, \
+		0, \
+		CFG_VALUE_OR_DEFAULT, \
+		"dot 11 mode")
+
+#define CFG_DOT11_MODE_ALL \
+	CFG(CFG_DOT11_MODE) \
+
+#endif /* __CFG_MLME_DOT11MODE_H */
+

+ 40 - 1
mlme/dispatcher/inc/wlan_mlme_public_struct.h

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
  *
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
  * any purpose with or without fee is hereby granted, provided that the
@@ -142,6 +142,43 @@ struct mlme_edca_ac_vo {
 	uint32_t vo_aifs;
 	uint32_t vo_aifs;
 };
 };
 
 
+/**
+ * enum dot11_mode - Dot11 mode of the vdev
+ * MLME_DOT11_MODE_ALL: vdev supports all dot11 modes
+ * MLME_DOT11_MODE_11A: vdev just supports 11A mode
+ * MLME_DOT11_MODE_11B: vdev supports 11B mode, and modes above it
+ * MLME_DOT11_MODE_11G: vdev supports 11G mode, and modes above it
+ * MLME_DOT11_MODE_11N: vdev supports 11N mode, and modes above it
+ * MLME_DOT11_MODE_11G_ONLY: vdev just supports 11G mode
+ * MLME_DOT11_MODE_1N_ONLYA: vdev just supports 11N mode
+ * MLME_DOT11_MODE_11AC: vdev supports 11AC mode, and modes above it
+ * MLME_DOT11_MODE_11AC_ONLY: vdev just supports 11AC mode
+ * MLME_DOT11_MODE_11AX: vdev supports 11AX mode, and modes above it
+ * MLME_DOT11_MODE_11AX_ONLY: vdev just supports 11AX mode
+ */
+enum mlme_dot11_mode {
+	MLME_DOT11_MODE_ALL,
+	MLME_DOT11_MODE_11A,
+	MLME_DOT11_MODE_11B,
+	MLME_DOT11_MODE_11G,
+	MLME_DOT11_MODE_11N,
+	MLME_DOT11_MODE_11G_ONLY,
+	MLME_DOT11_MODE_11N_ONLY,
+	MLME_DOT11_MODE_11AC,
+	MLME_DOT11_MODE_11AC_ONLY,
+	MLME_DOT11_MODE_11AX,
+	MLME_DOT11_MODE_11AX_ONLY
+};
+
+/**
+ * struct wlan_mlme_dot11_mode - dot11 mode
+ *
+ * @dot11_mode: dot11 mode supported
+ */
+struct wlan_mlme_dot11_mode {
+	enum mlme_dot11_mode dot11_mode;
+};
+
 /**
 /**
  * struct mlme_edca_ac_vi - cwmin, cwmax and  aifs value for edca_ac_vi
  * struct mlme_edca_ac_vi - cwmin, cwmax and  aifs value for edca_ac_vi
  *
  *
@@ -1906,6 +1943,7 @@ struct wlan_mlme_ibss_cfg {
  * @wlm_config: WLM related CFG items
  * @wlm_config: WLM related CFG items
  * @rrm_config: RRM related CFG items
  * @rrm_config: RRM related CFG items
  * @mwc: MWC related CFG items
  * @mwc: MWC related CFG items
+ * @dot11_mode: dot11 mode supported
  * @reg: REG related CFG itmes
  * @reg: REG related CFG itmes
  */
  */
 struct wlan_mlme_cfg {
 struct wlan_mlme_cfg {
@@ -1947,6 +1985,7 @@ struct wlan_mlme_cfg {
 	struct wlan_mlme_fe_wlm wlm_config;
 	struct wlan_mlme_fe_wlm wlm_config;
 	struct wlan_mlme_fe_rrm rrm_config;
 	struct wlan_mlme_fe_rrm rrm_config;
 	struct wlan_mlme_mwc mwc;
 	struct wlan_mlme_mwc mwc;
+	struct wlan_mlme_dot11_mode dot11_mode;
 	struct wlan_mlme_reg reg;
 	struct wlan_mlme_reg reg;
 };
 };