blob: 4e1c8f44dcaed257ad37f04bf05b69ea666110b8 [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
Jiachao Wu6e9b9f92018-01-03 13:35:40 +08002 * Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
28/**
29 * DOC: wlan_hdd_cfg.c
30 *
31 * WLAN Host Device Driver configuration interface implementation
32 */
33
34/* Include Files */
35
36#include <linux/firmware.h>
37#include <linux/string.h>
38#include <wlan_hdd_includes.h>
39#include <wlan_hdd_main.h>
40#include <wlan_hdd_assoc.h>
41#include <wlan_hdd_cfg.h>
42#include <linux/string.h>
Anurag Chouhan6d760662016-02-20 16:05:43 +053043#include <qdf_types.h>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080044#include <csr_api.h>
45#include <wlan_hdd_misc.h>
46#include <wlan_hdd_napi.h>
Tushnim Bhattacharyya9e81b4c2017-02-15 17:11:14 -080047#include <cds_api.h>
Krishna Kumaar Natarajan4f1d7722017-03-03 21:12:51 -080048#include "wlan_hdd_he.h"
Tushnim Bhattacharyya9028cc72017-03-09 13:10:49 -080049#include <wlan_policy_mgr_api.h>
Naveen Rawatd2657be2017-10-10 14:31:23 -070050#include "wifi_pos_api.h"
Jeff Johnsonc57c13a2018-04-01 11:03:29 -070051#include "wlan_hdd_green_ap.h"
52#include "wlan_hdd_green_ap_cfg.h"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080053
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080054static void
Jeff Johnson723234b2017-09-03 08:49:15 -070055cb_notify_set_roam_prefer5_g_hz(struct hdd_context *hdd_ctx, unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080056{
Jeff Johnson723234b2017-09-03 08:49:15 -070057 sme_update_roam_prefer5_g_hz(hdd_ctx->hHal,
58 hdd_ctx->config->nRoamPrefer5GHz);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080059}
60
61static void
Jeff Johnson723234b2017-09-03 08:49:15 -070062cb_notify_set_roam_rssi_diff(struct hdd_context *hdd_ctx, unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080063{
Jeff Johnson723234b2017-09-03 08:49:15 -070064 sme_update_roam_rssi_diff(hdd_ctx->hHal,
65 0, hdd_ctx->config->RoamRssiDiff);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080066}
67
68static void
Jeff Johnson723234b2017-09-03 08:49:15 -070069cb_notify_set_fast_transition_enabled(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080070 unsigned long notifyId)
71{
Jeff Johnson723234b2017-09-03 08:49:15 -070072 sme_update_fast_transition_enabled(hdd_ctx->hHal,
73 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080074 isFastTransitionEnabled);
75}
76
77static void
Jeff Johnson723234b2017-09-03 08:49:15 -070078cb_notify_set_roam_intra_band(struct hdd_context *hdd_ctx, unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080079{
Jeff Johnson723234b2017-09-03 08:49:15 -070080 sme_set_roam_intra_band(hdd_ctx->hHal, hdd_ctx->config->nRoamIntraBand);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080081}
82
Jeff Johnson723234b2017-09-03 08:49:15 -070083static void cb_notify_set_wes_mode(struct hdd_context *hdd_ctx,
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -070084 unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080085{
Jeff Johnson723234b2017-09-03 08:49:15 -070086 sme_update_wes_mode(hdd_ctx->hHal,
87 hdd_ctx->config->isWESModeEnabled, 0);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080088}
89
90static void
Jeff Johnson723234b2017-09-03 08:49:15 -070091cb_notify_set_roam_scan_n_probes(struct hdd_context *hdd_ctx, unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080092{
Jeff Johnson723234b2017-09-03 08:49:15 -070093 sme_update_roam_scan_n_probes(hdd_ctx->hHal, 0,
94 hdd_ctx->config->nProbes);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080095}
96
97static void
Jeff Johnson723234b2017-09-03 08:49:15 -070098cb_notify_set_roam_scan_home_away_time(struct hdd_context *hdd_ctx,
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -070099 unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800100{
Jeff Johnson723234b2017-09-03 08:49:15 -0700101 sme_update_roam_scan_home_away_time(hdd_ctx->hHal, 0,
102 hdd_ctx->config->nRoamScanHomeAwayTime,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800103 true);
104}
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800105
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800106static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700107notify_is_fast_roam_ini_feature_enabled(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800108 unsigned long notifyId)
109{
Jeff Johnson723234b2017-09-03 08:49:15 -0700110 sme_update_is_fast_roam_ini_feature_enabled(hdd_ctx->hHal, 0,
111 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800112 isFastRoamIniFeatureEnabled);
113}
114
115static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700116notify_is_mawc_ini_feature_enabled(struct hdd_context *hdd_ctx,
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -0700117 unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800118{
Jeff Johnson723234b2017-09-03 08:49:15 -0700119 sme_update_is_mawc_ini_feature_enabled(hdd_ctx->hHal,
120 hdd_ctx->config->MAWCEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800121}
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800122
123#ifdef FEATURE_WLAN_ESE
124static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700125cb_notify_set_ese_feature_enabled(struct hdd_context *hdd_ctx,
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -0700126 unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800127{
Jeff Johnson723234b2017-09-03 08:49:15 -0700128 sme_update_is_ese_feature_enabled(hdd_ctx->hHal, 0,
129 hdd_ctx->config->isEseIniFeatureEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800130}
131#endif
Jeff Johnson723234b2017-09-03 08:49:15 -0700132static void cb_notify_set_opportunistic_scan_threshold_diff(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800133 unsigned long notifyId)
134{
Jeff Johnson723234b2017-09-03 08:49:15 -0700135 sme_set_roam_opportunistic_scan_threshold_diff(hdd_ctx->hHal, 0,
136 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800137 nOpportunisticThresholdDiff);
138}
139
Jeff Johnson723234b2017-09-03 08:49:15 -0700140static void cb_notify_set_roam_rescan_rssi_diff(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800141 unsigned long notifyId)
142{
Jeff Johnson723234b2017-09-03 08:49:15 -0700143 sme_set_roam_rescan_rssi_diff(hdd_ctx->hHal,
144 0, hdd_ctx->config->nRoamRescanRssiDiff);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800145}
146
147static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700148cb_notify_set_neighbor_lookup_rssi_threshold(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800149 unsigned long notifyId)
150{
Jeff Johnson723234b2017-09-03 08:49:15 -0700151 sme_set_neighbor_lookup_rssi_threshold(hdd_ctx->hHal, 0,
152 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800153 nNeighborLookupRssiThreshold);
154}
155
156static void
Jeff Johnsonb6909be2017-08-28 12:07:19 -0700157cb_notify_set_delay_before_vdev_stop(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800158 unsigned long notify_id)
159{
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800160 sme_set_delay_before_vdev_stop(hdd_ctx->hHal, 0,
161 hdd_ctx->config->delay_before_vdev_stop);
162}
163
164static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700165cb_notify_set_neighbor_scan_period(struct hdd_context *hdd_ctx,
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -0700166 unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800167{
Jeff Johnson723234b2017-09-03 08:49:15 -0700168 sme_set_neighbor_scan_period(hdd_ctx->hHal, 0,
169 hdd_ctx->config->nNeighborScanPeriod);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800170}
171
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +0530172/*
173 * cb_notify_set_neighbor_scan_min_period() - configure min rest
174 * time during roaming scan
175 *
176 * @hdd_ctx: HDD context data structure
177 * @notify_id: Identifies 1 of the 4 parameters to be modified
178 *
179 * Picks up the value from hdd configuration and passes it to SME.
180 * Return: void
181 */
182static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700183cb_notify_set_neighbor_scan_min_period(struct hdd_context *hdd_ctx,
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +0530184 unsigned long notifyId)
185{
Jeff Johnson723234b2017-09-03 08:49:15 -0700186 sme_set_neighbor_scan_min_period(hdd_ctx->hHal, 0,
187 hdd_ctx->config->
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +0530188 neighbor_scan_min_period);
189}
190
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800191static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700192cb_notify_set_neighbor_results_refresh_period(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800193 unsigned long notifyId)
194{
Jeff Johnson723234b2017-09-03 08:49:15 -0700195 sme_set_neighbor_scan_refresh_period(hdd_ctx->hHal, 0,
196 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800197 nNeighborResultsRefreshPeriod);
198}
199
200static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700201cb_notify_set_empty_scan_refresh_period(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800202 unsigned long notifyId)
203{
Jeff Johnson723234b2017-09-03 08:49:15 -0700204 sme_update_empty_scan_refresh_period(hdd_ctx->hHal, 0,
205 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800206 nEmptyScanRefreshPeriod);
207}
208
209static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700210cb_notify_set_neighbor_scan_min_chan_time(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800211 unsigned long notifyId)
212{
Jeff Johnson723234b2017-09-03 08:49:15 -0700213 sme_set_neighbor_scan_min_chan_time(hdd_ctx->hHal,
214 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800215 nNeighborScanMinChanTime, 0);
216}
217
218static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700219cb_notify_set_neighbor_scan_max_chan_time(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800220 unsigned long notifyId)
221{
Jeff Johnson723234b2017-09-03 08:49:15 -0700222 sme_set_neighbor_scan_max_chan_time(hdd_ctx->hHal, 0,
223 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800224 nNeighborScanMaxChanTime);
225}
226
Jeff Johnson723234b2017-09-03 08:49:15 -0700227static void cb_notify_set_roam_bmiss_first_bcnt(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800228 unsigned long notifyId)
229{
Jeff Johnson723234b2017-09-03 08:49:15 -0700230 sme_set_roam_bmiss_first_bcnt(hdd_ctx->hHal,
231 0, hdd_ctx->config->nRoamBmissFirstBcnt);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800232}
233
Jeff Johnson723234b2017-09-03 08:49:15 -0700234static void cb_notify_set_roam_bmiss_final_bcnt(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800235 unsigned long notifyId)
236{
Jeff Johnson723234b2017-09-03 08:49:15 -0700237 sme_set_roam_bmiss_final_bcnt(hdd_ctx->hHal, 0,
238 hdd_ctx->config->nRoamBmissFinalBcnt);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800239}
240
Jeff Johnson723234b2017-09-03 08:49:15 -0700241static void cb_notify_set_roam_beacon_rssi_weight(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800242 unsigned long notifyId)
243{
Jeff Johnson723234b2017-09-03 08:49:15 -0700244 sme_set_roam_beacon_rssi_weight(hdd_ctx->hHal, 0,
245 hdd_ctx->config->nRoamBeaconRssiWeight);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800246}
247
248static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700249cb_notify_set_dfs_scan_mode(struct hdd_context *hdd_ctx, unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800250{
Jeff Johnson723234b2017-09-03 08:49:15 -0700251 sme_update_dfs_scan_mode(hdd_ctx->hHal, 0,
252 hdd_ctx->config->allowDFSChannelRoam);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800253}
254
Jeff Johnson723234b2017-09-03 08:49:15 -0700255static void cb_notify_set_enable_ssr(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800256 unsigned long notifyId)
257{
Jeff Johnson723234b2017-09-03 08:49:15 -0700258 sme_update_enable_ssr(hdd_ctx->hHal, hdd_ctx->config->enableSSR);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800259}
260
Jeff Johnson723234b2017-09-03 08:49:15 -0700261static void cb_notify_set_g_sap_preferred_chan_location(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800262 unsigned long notifyId)
263{
Jeff Johnson723234b2017-09-03 08:49:15 -0700264 wlansap_set_dfs_preferred_channel_location(hdd_ctx->hHal,
265 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800266 gSapPreferredChanLocation);
267}
Jeff Johnson723234b2017-09-03 08:49:15 -0700268static void ch_notify_set_g_disable_dfs_japan_w53(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800269 unsigned long notifyId)
270{
Jeff Johnson723234b2017-09-03 08:49:15 -0700271 wlansap_set_dfs_restrict_japan_w53(hdd_ctx->hHal,
272 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800273 gDisableDfsJapanW53);
274}
275static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700276cb_notify_update_roam_scan_offload_enabled(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800277 unsigned long notifyId)
278{
Jeff Johnson723234b2017-09-03 08:49:15 -0700279 sme_update_roam_scan_offload_enabled(hdd_ctx->hHal,
280 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800281 isRoamOffloadScanEnabled);
Jeff Johnson723234b2017-09-03 08:49:15 -0700282 if (0 == hdd_ctx->config->isRoamOffloadScanEnabled) {
283 hdd_ctx->config->bFastRoamInConIniFeatureEnabled = 0;
284 sme_update_enable_fast_roam_in_concurrency(hdd_ctx->hHal,
285 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800286 bFastRoamInConIniFeatureEnabled);
287 }
288}
289
290static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700291cb_notify_set_enable_fast_roam_in_concurrency(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800292 unsigned long notifyId)
293{
Jeff Johnson723234b2017-09-03 08:49:15 -0700294 sme_update_enable_fast_roam_in_concurrency(hdd_ctx->hHal,
295 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800296 bFastRoamInConIniFeatureEnabled);
297}
298
299/**
300 * cb_notify_set_roam_scan_hi_rssi_scan_params() - configure hi rssi
301 * scan params from cfg to sme.
302 * @hdd_ctx: HDD context data structure
303 * @notify_id: Identifies 1 of the 4 parameters to be modified
304 *
305 * Picks up the value from hdd configuration and passes it to SME.
306 * Return: void
307 */
308
309static void
Jeff Johnsonb6909be2017-08-28 12:07:19 -0700310cb_notify_set_roam_scan_hi_rssi_scan_params(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800311 unsigned long notify_id)
312{
313 int32_t val;
314
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -0700315 if (wlan_hdd_validate_context(hdd_ctx))
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800316 return;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800317
318 switch (notify_id) {
319 case eCSR_HI_RSSI_SCAN_MAXCOUNT_ID:
320 val = hdd_ctx->config->nhi_rssi_scan_max_count;
321 break;
322
323 case eCSR_HI_RSSI_SCAN_RSSI_DELTA_ID:
324 val = hdd_ctx->config->nhi_rssi_scan_rssi_delta;
325 break;
326
327 case eCSR_HI_RSSI_SCAN_DELAY_ID:
328 val = hdd_ctx->config->nhi_rssi_scan_delay;
329 break;
330
331 case eCSR_HI_RSSI_SCAN_RSSI_UB_ID:
332 val = hdd_ctx->config->nhi_rssi_scan_rssi_ub;
333 break;
334
335 default:
336 return;
337 }
338
339 sme_update_roam_scan_hi_rssi_scan_params(hdd_ctx->hHal, 0,
340 notify_id, val);
341}
342
343
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -0700344struct reg_table_entry g_registry_table[] = {
Alok Kumarb64650c2018-03-23 17:05:11 +0530345#ifdef WLAN_NUD_TRACKING
346 REG_VARIABLE(CFG_ENABLE_NUD_TRACKING_NAME, WLAN_PARAM_Integer,
347 struct hdd_config, enable_nud_tracking,
348 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
349 CFG_ENABLE_NUD_TRACKING_DEFAULT,
350 CFG_ENABLE_NUD_TRACKING_MIN,
351 CFG_ENABLE_NUD_TRACKING_MAX),
352#endif
353
Ashish Kumar Dhanotiya470af292017-05-31 20:46:00 +0530354 REG_VARIABLE(CFG_ENABLE_CONNECTED_SCAN_NAME, WLAN_PARAM_Integer,
355 struct hdd_config, enable_connected_scan,
356 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
357 CFG_ENABLE_CONNECTED_SCAN_DEFAULT,
358 CFG_ENABLE_CONNECTED_SCAN_MIN,
359 CFG_ENABLE_CONNECTED_SCAN_MAX),
360
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800361 REG_VARIABLE(CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
362 struct hdd_config, RTSThreshold,
363 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
364 CFG_RTS_THRESHOLD_DEFAULT,
365 CFG_RTS_THRESHOLD_MIN,
366 CFG_RTS_THRESHOLD_MAX),
367
368 REG_VARIABLE(CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
369 struct hdd_config, FragmentationThreshold,
370 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
371 CFG_FRAG_THRESHOLD_DEFAULT,
372 CFG_FRAG_THRESHOLD_MIN,
373 CFG_FRAG_THRESHOLD_MAX),
374
375 REG_VARIABLE(CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
376 struct hdd_config, OperatingChannel,
377 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
378 CFG_OPERATING_CHANNEL_DEFAULT,
379 CFG_OPERATING_CHANNEL_MIN,
380 CFG_OPERATING_CHANNEL_MAX),
381
382 REG_VARIABLE(CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
383 struct hdd_config, ShortSlotTimeEnabled,
384 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
385 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
386 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
387 CFG_SHORT_SLOT_TIME_ENABLED_MAX),
388
389 REG_VARIABLE(CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
390 struct hdd_config, Is11dSupportEnabled,
391 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
392 CFG_11D_SUPPORT_ENABLED_DEFAULT,
393 CFG_11D_SUPPORT_ENABLED_MIN,
394 CFG_11D_SUPPORT_ENABLED_MAX),
395
396 REG_VARIABLE(CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
397 struct hdd_config, Is11hSupportEnabled,
398 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
399 CFG_11H_SUPPORT_ENABLED_DEFAULT,
400 CFG_11H_SUPPORT_ENABLED_MIN,
401 CFG_11H_SUPPORT_ENABLED_MAX),
402
403 REG_VARIABLE(CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
404 struct hdd_config, fSupplicantCountryCodeHasPriority,
405 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
406 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
407 CFG_COUNTRY_CODE_PRIORITY_MIN,
408 CFG_COUNTRY_CODE_PRIORITY_MAX),
409
410 REG_VARIABLE(CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
411 struct hdd_config, HeartbeatThresh24,
412 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
413 CFG_HEARTBEAT_THRESH_24_DEFAULT,
414 CFG_HEARTBEAT_THRESH_24_MIN,
415 CFG_HEARTBEAT_THRESH_24_MAX),
416
417 REG_VARIABLE_STRING(CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
418 struct hdd_config, PowerUsageControl,
419 VAR_FLAGS_OPTIONAL,
420 (void *)CFG_POWER_USAGE_DEFAULT),
421
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800422 REG_VARIABLE(CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
423 struct hdd_config, fIsImpsEnabled,
424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
425 CFG_ENABLE_IMPS_DEFAULT,
426 CFG_ENABLE_IMPS_MIN,
427 CFG_ENABLE_IMPS_MAX),
428
429 REG_VARIABLE(CFG_ENABLE_PS_NAME, WLAN_PARAM_Integer,
430 struct hdd_config, is_ps_enabled,
431 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
432 CFG_ENABLE_PS_DEFAULT,
433 CFG_ENABLE_PS_MIN,
434 CFG_ENABLE_PS_MAX),
435
Kiran Kumar Lokere0ac679c2016-11-17 17:43:36 -0800436 REG_VARIABLE(CFG_AUTO_PS_ENABLE_TIMER_NAME, WLAN_PARAM_Integer,
437 struct hdd_config, auto_bmps_timer_val,
438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
439 CFG_AUTO_PS_ENABLE_TIMER_DEFAULT,
440 CFG_AUTO_PS_ENABLE_TIMER_MIN,
441 CFG_AUTO_PS_ENABLE_TIMER_MAX),
442
Zhu Jianmin04392c42017-05-12 16:34:53 +0800443#ifdef WLAN_ICMP_DISABLE_PS
444 REG_VARIABLE(CFG_ICMP_DISABLE_PS_NAME, WLAN_PARAM_Integer,
445 struct hdd_config, icmp_disable_ps_val,
446 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
447 CFG_ICMP_DISABLE_PS_DEFAULT,
448 CFG_ICMP_DISABLE_PS_MIN,
449 CFG_ICMP_DISABLE_PS_MAX),
450#endif
451
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800452 REG_VARIABLE(CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
453 struct hdd_config, nBmpsMinListenInterval,
454 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
455 CFG_BMPS_MINIMUM_LI_DEFAULT,
456 CFG_BMPS_MINIMUM_LI_MIN,
457 CFG_BMPS_MINIMUM_LI_MAX),
458
459 REG_VARIABLE(CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
460 struct hdd_config, nBmpsMaxListenInterval,
461 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
462 CFG_BMPS_MAXIMUM_LI_DEFAULT,
463 CFG_BMPS_MAXIMUM_LI_MIN,
464 CFG_BMPS_MAXIMUM_LI_MAX),
465
466 REG_VARIABLE(CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
467 struct hdd_config, nBmpsModListenInterval,
468 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
469 CFG_BMPS_MODERATE_LI_DEFAULT,
470 CFG_BMPS_MODERATE_LI_MIN,
471 CFG_BMPS_MODERATE_LI_MAX),
472
473 REG_VARIABLE(CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
474 struct hdd_config, dot11Mode,
475 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
476 CFG_DOT11_MODE_DEFAULT,
477 CFG_DOT11_MODE_MIN,
478 CFG_DOT11_MODE_MAX),
479
480 REG_VARIABLE(CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
481 struct hdd_config, nChannelBondingMode24GHz,
482 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
483 CFG_CHANNEL_BONDING_MODE_DEFAULT,
484 CFG_CHANNEL_BONDING_MODE_MIN,
485 CFG_CHANNEL_BONDING_MODE_MAX),
486
Abhishek Singhb59f8d42017-07-31 14:42:47 +0530487 REG_VARIABLE(CFG_OVERRIDE_HT40_20_24GHZ_NAME, WLAN_PARAM_Integer,
488 struct hdd_config, override_ht20_40_24g,
489 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
490 CFG_OVERRIDE_HT40_20_24GHZ_DEFAULT,
491 CFG_OVERRIDE_HT40_20_24GHZ_MIN,
492 CFG_OVERRIDE_HT40_20_24GHZ_MAX),
493
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800494 REG_VARIABLE(CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
495 struct hdd_config, nChannelBondingMode5GHz,
496 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
497 CFG_CHANNEL_BONDING_MODE_DEFAULT,
498 CFG_CHANNEL_BONDING_MODE_MIN,
499 CFG_CHANNEL_BONDING_MODE_MAX),
500
501 REG_VARIABLE(CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
502 struct hdd_config, MaxRxAmpduFactor,
503 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
504 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
505 CFG_MAX_RX_AMPDU_FACTOR_MIN,
506 CFG_MAX_RX_AMPDU_FACTOR_MAX),
507
Krishna Kumaar Natarajan22b59a72015-11-23 18:54:58 -0800508 REG_VARIABLE(CFG_HT_MPDU_DENSITY_NAME, WLAN_PARAM_Integer,
509 struct hdd_config, ht_mpdu_density,
Jeff Johnson03294f12016-12-09 17:10:24 -0800510 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
Krishna Kumaar Natarajan22b59a72015-11-23 18:54:58 -0800511 CFG_HT_MPDU_DENSITY_DEFAULT,
512 CFG_HT_MPDU_DENSITY_MIN,
513 CFG_HT_MPDU_DENSITY_MAX),
514
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800515 REG_VARIABLE(CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
516 struct hdd_config, ShortGI20MhzEnable,
517 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
518 CFG_SHORT_GI_20MHZ_DEFAULT,
519 CFG_SHORT_GI_20MHZ_MIN,
520 CFG_SHORT_GI_20MHZ_MAX),
521
522 REG_VARIABLE(CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
523 struct hdd_config, ScanResultAgeCount,
524 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
525 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
526 CFG_SCAN_RESULT_AGE_COUNT_MIN,
527 CFG_SCAN_RESULT_AGE_COUNT_MAX),
528
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800529 REG_VARIABLE(CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
530 struct hdd_config, nRssiCatGap,
531 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
532 CFG_RSSI_CATEGORY_GAP_DEFAULT,
533 CFG_RSSI_CATEGORY_GAP_MIN,
534 CFG_RSSI_CATEGORY_GAP_MAX),
535
536 REG_VARIABLE(CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
537 struct hdd_config, fIsShortPreamble,
538 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
539 CFG_SHORT_PREAMBLE_DEFAULT,
540 CFG_SHORT_PREAMBLE_MIN,
541 CFG_SHORT_PREAMBLE_MAX),
542
543 REG_VARIABLE_STRING(CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
544 struct hdd_config, IbssBssid,
545 VAR_FLAGS_OPTIONAL,
546 (void *)CFG_IBSS_BSSID_DEFAULT),
547
548 REG_VARIABLE_STRING(CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
549 struct hdd_config, intfMacAddr[0],
550 VAR_FLAGS_OPTIONAL,
551 (void *)CFG_INTF0_MAC_ADDR_DEFAULT),
552
553 REG_VARIABLE_STRING(CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
554 struct hdd_config, intfMacAddr[1],
555 VAR_FLAGS_OPTIONAL,
556 (void *)CFG_INTF1_MAC_ADDR_DEFAULT),
557
558 REG_VARIABLE_STRING(CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
559 struct hdd_config, intfMacAddr[2],
560 VAR_FLAGS_OPTIONAL,
561 (void *)CFG_INTF2_MAC_ADDR_DEFAULT),
562
563 REG_VARIABLE_STRING(CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
564 struct hdd_config, intfMacAddr[3],
565 VAR_FLAGS_OPTIONAL,
566 (void *)CFG_INTF3_MAC_ADDR_DEFAULT),
567
568 REG_VARIABLE(CFG_AP_QOS_UAPSD_MODE_NAME, WLAN_PARAM_Integer,
569 struct hdd_config, apUapsdEnabled,
570 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
571 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
572 CFG_AP_QOS_UAPSD_MODE_MIN,
573 CFG_AP_QOS_UAPSD_MODE_MAX),
574
575
576 REG_VARIABLE(CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
577 struct hdd_config, apRandomBssidEnabled,
578 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
579 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
580 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
581 CFG_AP_ENABLE_RANDOM_BSSID_MAX),
582
583 REG_VARIABLE(CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
584 struct hdd_config, apProtEnabled,
585 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
586 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
587 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
588 CFG_AP_ENABLE_PROTECTION_MODE_MAX),
589
590 REG_VARIABLE(CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
591 struct hdd_config, apProtection,
592 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
593 CFG_AP_PROTECTION_MODE_DEFAULT,
594 CFG_AP_PROTECTION_MODE_MIN,
595 CFG_AP_PROTECTION_MODE_MAX),
596
597 REG_VARIABLE(CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
598 struct hdd_config, apOBSSProtEnabled,
599 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
600 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
601 CFG_AP_OBSS_PROTECTION_MODE_MIN,
602 CFG_AP_OBSS_PROTECTION_MODE_MAX),
603
604 REG_VARIABLE(CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
605 struct hdd_config, apDisableIntraBssFwd,
606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
607 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
608 CFG_AP_STA_SECURITY_SEPERATION_MIN,
609 CFG_AP_STA_SECURITY_SEPERATION_MAX),
610
611 REG_VARIABLE(CFG_ENABLE_LTE_COEX, WLAN_PARAM_Integer,
612 struct hdd_config, enableLTECoex,
613 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
614 CFG_ENABLE_LTE_COEX_DEFAULT,
615 CFG_ENABLE_LTE_COEX_MIN,
616 CFG_ENABLE_LTE_COEX_MAX),
Agrawal Ashishbafaff12016-12-27 17:43:08 +0530617
Nachiket Kukade8983cf62017-10-12 18:14:48 +0530618 REG_VARIABLE(CFG_VC_MODE_BITMAP, WLAN_PARAM_HexInteger,
619 struct hdd_config, vc_mode_cfg_bitmap,
620 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
621 CFG_VC_MODE_BITMAP_DEFAULT,
622 CFG_VC_MODE_BITMAP_MIN,
623 CFG_VC_MODE_BITMAP_MAX),
624
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800625 REG_VARIABLE(CFG_FORCE_SAP_ACS, WLAN_PARAM_Integer,
Agrawal Ashishbafaff12016-12-27 17:43:08 +0530626 struct hdd_config, force_sap_acs,
627 VAR_FLAGS_DYNAMIC_CFG |
628 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
629 CFG_FORCE_SAP_ACS_DEFAULT,
630 CFG_FORCE_SAP_ACS_MIN,
631 CFG_FORCE_SAP_ACS_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800632
633 REG_VARIABLE(CFG_FORCE_SAP_ACS_START_CH, WLAN_PARAM_Integer,
Agrawal Ashishbafaff12016-12-27 17:43:08 +0530634 struct hdd_config, force_sap_acs_st_ch,
635 VAR_FLAGS_DYNAMIC_CFG |
636 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
637 CFG_FORCE_SAP_ACS_START_CH_DEFAULT,
638 CFG_FORCE_SAP_ACS_START_CH_MIN,
639 CFG_FORCE_SAP_ACS_START_CH_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800640
641 REG_VARIABLE(CFG_FORCE_SAP_ACS_END_CH, WLAN_PARAM_Integer,
Agrawal Ashishbafaff12016-12-27 17:43:08 +0530642 struct hdd_config, force_sap_acs_end_ch,
643 VAR_FLAGS_DYNAMIC_CFG |
644 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
645 CFG_FORCE_SAP_ACS_END_CH_DEFAULT,
646 CFG_FORCE_SAP_ACS_END_CH_MIN,
647 CFG_FORCE_SAP_ACS_END_CH_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800648
Ganesh Kondabattini408fb8d2017-08-08 22:00:20 +0530649 REG_VARIABLE(CFG_ENABLE_SAP_MANDATORY_CHAN_LIST, WLAN_PARAM_Integer,
650 struct hdd_config, enable_sap_mandatory_chan_list,
651 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
652 CFG_ENABLE_SAP_MANDATORY_CHAN_LIST_DEFAULT,
653 CFG_ENABLE_SAP_MANDATORY_CHAN_LIST_MIN,
654 CFG_ENABLE_SAP_MANDATORY_CHAN_LIST_MAX),
655
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800656 REG_VARIABLE(CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
657 struct hdd_config, apKeepAlivePeriod,
658 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
659 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
660 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
661 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
662
663 REG_VARIABLE(CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
664 struct hdd_config, goKeepAlivePeriod,
665 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
666 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
667 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
668 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
669
670 REG_VARIABLE(CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
671 struct hdd_config, apLinkMonitorPeriod,
672 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
673 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
674 CFG_AP_LINK_MONITOR_PERIOD_MIN,
675 CFG_AP_LINK_MONITOR_PERIOD_MAX),
676
677 REG_VARIABLE(CFG_GO_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
678 struct hdd_config, goLinkMonitorPeriod,
679 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
680 CFG_GO_LINK_MONITOR_PERIOD_DEFAULT,
681 CFG_GO_LINK_MONITOR_PERIOD_MIN,
682 CFG_GO_LINK_MONITOR_PERIOD_MAX),
683
684 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER, WLAN_PARAM_Integer,
685 struct hdd_config, disablePacketFilter,
686 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
687 CFG_DISABLE_PACKET_FILTER_DEFAULT,
688 CFG_DISABLE_PACKET_FILTER_MIN,
689 CFG_DISABLE_PACKET_FILTER_MAX),
690
691 REG_VARIABLE(CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
692 struct hdd_config, nBeaconInterval,
693 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
694 CFG_BEACON_INTERVAL_DEFAULT,
695 CFG_BEACON_INTERVAL_MIN,
696 CFG_BEACON_INTERVAL_MAX),
697
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800698 REG_VARIABLE(CFG_VCC_RSSI_TRIGGER_NAME, WLAN_PARAM_Integer,
699 struct hdd_config, nVccRssiTrigger,
700 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
701 CFG_VCC_RSSI_TRIGGER_DEFAULT,
702 CFG_VCC_RSSI_TRIGGER_MIN,
703 CFG_VCC_RSSI_TRIGGER_MAX),
704
705 REG_VARIABLE(CFG_VCC_UL_MAC_LOSS_THRESH_NAME, WLAN_PARAM_Integer,
706 struct hdd_config, nVccUlMacLossThreshold,
707 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
708 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
709 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
710 CFG_VCC_UL_MAC_LOSS_THRESH_MAX),
711
712 REG_VARIABLE(CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
713 struct hdd_config, nPassiveMaxChnTime,
714 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
715 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
716 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
717 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX),
718
719 REG_VARIABLE(CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
720 struct hdd_config, nPassiveMinChnTime,
721 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
722 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
723 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
724 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX),
725
726 REG_VARIABLE(CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
727 struct hdd_config, nActiveMaxChnTime,
728 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
729 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
730 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
731 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX),
732
733 REG_VARIABLE(CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
734 struct hdd_config, nActiveMinChnTime,
735 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
736 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
737 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
738 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX),
739
Kiran Kumar Lokerea2dfefe2017-06-29 19:01:24 -0700740 REG_VARIABLE(CFG_SCAN_NUM_PROBES_NAME, WLAN_PARAM_Integer,
741 struct hdd_config, scan_num_probes,
742 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
743 CFG_SCAN_NUM_PROBES_DEFAULT,
744 CFG_SCAN_NUM_PROBES_MIN,
745 CFG_SCAN_NUM_PROBES_MAX),
746
747 REG_VARIABLE(CFG_SCAN_PROBE_REPEAT_TIME_NAME, WLAN_PARAM_Integer,
748 struct hdd_config, scan_probe_repeat_time,
749 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
750 CFG_SCAN_PROBE_REPEAT_TIME_DEFAULT,
751 CFG_SCAN_PROBE_REPEAT_TIME_MIN,
752 CFG_SCAN_PROBE_REPEAT_TIME_MAX),
753
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800754 REG_VARIABLE(CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
755 struct hdd_config, nPassiveMaxChnTimeConc,
756 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
757 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
758 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
759 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX),
760
761 REG_VARIABLE(CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
762 struct hdd_config, nPassiveMinChnTimeConc,
763 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
764 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
765 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
766 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX),
767
768 REG_VARIABLE(CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
769 struct hdd_config, nActiveMaxChnTimeConc,
770 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
771 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
772 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
773 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX),
774
775 REG_VARIABLE(CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
776 struct hdd_config, nActiveMinChnTimeConc,
777 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
778 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
779 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
780 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX),
781
782 REG_VARIABLE(CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
783 struct hdd_config, nRestTimeConc,
784 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
785 CFG_REST_TIME_CONC_DEFAULT,
786 CFG_REST_TIME_CONC_MIN,
787 CFG_REST_TIME_CONC_MAX),
788
Agrawal Ashish17bb3902016-05-05 13:29:40 +0530789 REG_VARIABLE(CFG_MIN_REST_TIME_NAME, WLAN_PARAM_Integer,
790 struct hdd_config, min_rest_time_conc,
791 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
792 CFG_MIN_REST_TIME_DEFAULT,
793 CFG_MIN_REST_TIME_MIN,
794 CFG_MIN_REST_TIME_MAX),
795
Jeff Johnson03294f12016-12-09 17:10:24 -0800796 REG_VARIABLE(CFG_IDLE_TIME_NAME, WLAN_PARAM_Integer,
Agrawal Ashish17bb3902016-05-05 13:29:40 +0530797 struct hdd_config, idle_time_conc,
798 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
799 CFG_IDLE_TIME_DEFAULT,
800 CFG_IDLE_TIME_MIN,
Jeff Johnson03294f12016-12-09 17:10:24 -0800801 CFG_IDLE_TIME_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800802
803 REG_VARIABLE(CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
804 struct hdd_config, nMaxPsPoll,
805 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
806 CFG_MAX_PS_POLL_DEFAULT,
807 CFG_MAX_PS_POLL_MIN,
808 CFG_MAX_PS_POLL_MAX),
809
810 REG_VARIABLE(CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
811 struct hdd_config, nTxPowerCap,
812 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
813 CFG_MAX_TX_POWER_DEFAULT,
814 CFG_MAX_TX_POWER_MIN,
815 CFG_MAX_TX_POWER_MAX),
816
Padma, Santhosh Kumar29df3622016-08-16 19:15:16 +0530817 REG_VARIABLE(CFG_TX_POWER_CTRL_NAME, WLAN_PARAM_Integer,
818 struct hdd_config, allow_tpc_from_ap,
819 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
820 CFG_TX_POWER_CTRL_DEFAULT,
821 CFG_TX_POWER_CTRL_MIN,
822 CFG_TX_POWER_CTRL_MAX),
823
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800824 REG_VARIABLE(CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
825 struct hdd_config, fMaxLIModulatedDTIM,
826 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
827 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
828 CFG_MAX_LI_MODULATED_DTIM_MIN,
829 CFG_MAX_LI_MODULATED_DTIM_MAX),
830
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800831 REG_VARIABLE(CFG_FW_MCC_RTS_CTS_PROT_NAME, WLAN_PARAM_Integer,
832 struct hdd_config, mcc_rts_cts_prot_enable,
833 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
834 CFG_FW_MCC_RTS_CTS_PROT_DEFAULT,
835 CFG_FW_MCC_RTS_CTS_PROT_MIN,
836 CFG_FW_MCC_RTS_CTS_PROT_MAX),
837
838 REG_VARIABLE(CFG_FW_MCC_BCAST_PROB_RESP_NAME, WLAN_PARAM_Integer,
839 struct hdd_config, mcc_bcast_prob_resp_enable,
840 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
841 CFG_FW_MCC_BCAST_PROB_RESP_DEFAULT,
842 CFG_FW_MCC_BCAST_PROB_RESP_MIN,
843 CFG_FW_MCC_BCAST_PROB_RESP_MAX),
844
845 REG_VARIABLE(CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
846 struct hdd_config, nDataInactivityTimeout,
847 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
848 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
849 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
850 CFG_DATA_INACTIVITY_TIMEOUT_MAX),
851
Mukul Sharmaed92f2f2017-04-20 00:06:28 +0530852 REG_VARIABLE(CFG_WOW_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
853 struct hdd_config, wow_data_inactivity_timeout,
854 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
855 CFG_WOW_DATA_INACTIVITY_TIMEOUT_DEFAULT,
856 CFG_WOW_DATA_INACTIVITY_TIMEOUT_MIN,
857 CFG_WOW_DATA_INACTIVITY_TIMEOUT_MAX),
858
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800859 REG_VARIABLE(CFG_QOS_WMM_MODE_NAME, WLAN_PARAM_Integer,
860 struct hdd_config, WmmMode,
861 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
862 CFG_QOS_WMM_MODE_DEFAULT,
863 CFG_QOS_WMM_MODE_MIN,
864 CFG_QOS_WMM_MODE_MAX),
865
866 REG_VARIABLE(CFG_QOS_WMM_80211E_ENABLED_NAME, WLAN_PARAM_Integer,
867 struct hdd_config, b80211eIsEnabled,
868 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
869 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
870 CFG_QOS_WMM_80211E_ENABLED_MIN,
871 CFG_QOS_WMM_80211E_ENABLED_MAX),
872
873 REG_VARIABLE(CFG_QOS_WMM_UAPSD_MASK_NAME, WLAN_PARAM_HexInteger,
874 struct hdd_config, UapsdMask,
875 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
876 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
877 CFG_QOS_WMM_UAPSD_MASK_MIN,
878 CFG_QOS_WMM_UAPSD_MASK_MAX),
879
880 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME,
881 WLAN_PARAM_Integer,
882 struct hdd_config, InfraUapsdVoSrvIntv,
883 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
884 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
885 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
886 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX),
887
888 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME,
889 WLAN_PARAM_Integer,
890 struct hdd_config, InfraUapsdVoSuspIntv,
891 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
892 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
893 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
894 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX),
895
896 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME,
897 WLAN_PARAM_Integer,
898 struct hdd_config, InfraUapsdViSrvIntv,
899 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
900 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
901 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
902 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX),
903
904 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME,
905 WLAN_PARAM_Integer,
906 struct hdd_config, InfraUapsdViSuspIntv,
907 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
908 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
909 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
910 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX),
911
912 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME,
913 WLAN_PARAM_Integer,
914 struct hdd_config, InfraUapsdBeSrvIntv,
915 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
916 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
917 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
918 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX),
919
920 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME,
921 WLAN_PARAM_Integer,
922 struct hdd_config, InfraUapsdBeSuspIntv,
923 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
924 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
925 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
926 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX),
927
928 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME,
929 WLAN_PARAM_Integer,
930 struct hdd_config, InfraUapsdBkSrvIntv,
931 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
932 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
933 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
934 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX),
935
936 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME,
937 WLAN_PARAM_Integer,
938 struct hdd_config, InfraUapsdBkSuspIntv,
939 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
940 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
941 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
942 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX),
943
944#ifdef FEATURE_WLAN_ESE
945 REG_VARIABLE(CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME,
946 WLAN_PARAM_Integer,
947 struct hdd_config, InfraInactivityInterval,
948 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
949 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
950 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
951 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
952
953 REG_DYNAMIC_VARIABLE(CFG_ESE_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
954 struct hdd_config, isEseIniFeatureEnabled,
955 VAR_FLAGS_OPTIONAL |
956 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
957 CFG_ESE_FEATURE_ENABLED_DEFAULT,
958 CFG_ESE_FEATURE_ENABLED_MIN,
959 CFG_ESE_FEATURE_ENABLED_MAX,
960 cb_notify_set_ese_feature_enabled, 0),
961#endif /* FEATURE_WLAN_ESE */
962
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800963 /* flag to turn ON/OFF Legacy Fast Roaming */
964 REG_DYNAMIC_VARIABLE(CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
965 struct hdd_config, isFastRoamIniFeatureEnabled,
966 VAR_FLAGS_OPTIONAL |
967 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
968 CFG_LFR_FEATURE_ENABLED_DEFAULT,
969 CFG_LFR_FEATURE_ENABLED_MIN,
970 CFG_LFR_FEATURE_ENABLED_MAX,
971 notify_is_fast_roam_ini_feature_enabled, 0),
972
973 /* flag to turn ON/OFF Motion assistance for Legacy Fast Roaming */
974 REG_DYNAMIC_VARIABLE(CFG_LFR_MAWC_FEATURE_ENABLED_NAME,
975 WLAN_PARAM_Integer,
976 struct hdd_config, MAWCEnabled,
977 VAR_FLAGS_OPTIONAL |
978 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
979 CFG_LFR_MAWC_FEATURE_ENABLED_DEFAULT,
980 CFG_LFR_MAWC_FEATURE_ENABLED_MIN,
981 CFG_LFR_MAWC_FEATURE_ENABLED_MAX,
982 notify_is_mawc_ini_feature_enabled, 0),
983
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -0700984 REG_VARIABLE(CFG_MAWC_ROAM_ENABLED_NAME, WLAN_PARAM_Integer,
985 struct hdd_config, mawc_roam_enabled,
986 VAR_FLAGS_OPTIONAL |
987 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
988 CFG_MAWC_ROAM_ENABLED_DEFAULT,
989 CFG_MAWC_ROAM_ENABLED_MIN,
990 CFG_MAWC_ROAM_ENABLED_MAX),
991
992 REG_VARIABLE(CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_NAME, WLAN_PARAM_Integer,
993 struct hdd_config, mawc_roam_traffic_threshold,
994 VAR_FLAGS_OPTIONAL |
995 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
996 CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_DEFAULT,
997 CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_MIN,
998 CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_MAX),
999
1000 REG_VARIABLE(CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_NAME,
1001 WLAN_PARAM_SignedInteger, struct hdd_config,
1002 mawc_roam_ap_rssi_threshold, VAR_FLAGS_OPTIONAL |
1003 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1004 CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_DEFAULT,
1005 CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_MIN,
1006 CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_MAX),
1007
1008 REG_VARIABLE(CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_NAME, WLAN_PARAM_Integer,
1009 struct hdd_config, mawc_roam_rssi_high_adjust,
1010 VAR_FLAGS_OPTIONAL |
1011 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1012 CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_DEFAULT,
1013 CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_MIN,
1014 CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_MAX),
1015
1016 REG_VARIABLE(CFG_MAWC_ROAM_RSSI_LOW_ADJUST_NAME, WLAN_PARAM_Integer,
1017 struct hdd_config, mawc_roam_rssi_low_adjust,
1018 VAR_FLAGS_OPTIONAL |
1019 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1020 CFG_MAWC_ROAM_RSSI_LOW_ADJUST_DEFAULT,
1021 CFG_MAWC_ROAM_RSSI_LOW_ADJUST_MIN,
1022 CFG_MAWC_ROAM_RSSI_LOW_ADJUST_MAX),
1023
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001024 /* flag to turn ON/OFF 11r and ESE FastTransition */
1025 REG_DYNAMIC_VARIABLE(CFG_FAST_TRANSITION_ENABLED_NAME,
1026 WLAN_PARAM_Integer,
1027 struct hdd_config, isFastTransitionEnabled,
1028 VAR_FLAGS_OPTIONAL |
1029 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1030 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1031 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
1032 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1033 cb_notify_set_fast_transition_enabled, 0),
1034
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07001035 /* Variable to specify the delta/difference between the
1036 * RSSI of current AP and roamable AP while roaming
Jeff Johnson78d88a82017-01-12 09:50:54 -08001037 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001038 REG_DYNAMIC_VARIABLE(CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1039 struct hdd_config, RoamRssiDiff,
1040 VAR_FLAGS_OPTIONAL |
1041 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1042 CFG_ROAM_RSSI_DIFF_DEFAULT,
1043 CFG_ROAM_RSSI_DIFF_MIN,
1044 CFG_ROAM_RSSI_DIFF_MAX,
1045 cb_notify_set_roam_rssi_diff, 0),
1046
Abhishek Singh34c0e632017-09-28 14:39:29 +05301047 REG_VARIABLE(CFG_ROAM_RSSI_ABS_THRESHOLD_NAME, WLAN_PARAM_SignedInteger,
1048 struct hdd_config, rssi_abs_thresh,
1049 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1050 CFG_ROAM_RSSI_ABS_THRESHOLD_DEFAULT,
1051 CFG_ROAM_RSSI_ABS_THRESHOLD_MIN,
1052 CFG_ROAM_RSSI_ABS_THRESHOLD_MAX),
1053
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001054 REG_DYNAMIC_VARIABLE(CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1055 struct hdd_config, isWESModeEnabled,
1056 VAR_FLAGS_OPTIONAL |
1057 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1058 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1059 CFG_ENABLE_WES_MODE_NAME_MIN,
1060 CFG_ENABLE_WES_MODE_NAME_MAX,
1061 cb_notify_set_wes_mode, 0),
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08001062 REG_VARIABLE(CFG_PMKID_MODES_NAME, WLAN_PARAM_Integer,
1063 struct hdd_config, pmkid_modes,
Deepak Dhamdheref2a7d8b2016-08-19 16:17:38 -07001064 VAR_FLAGS_OPTIONAL |
1065 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08001066 CFG_PMKID_MODES_DEFAULT,
1067 CFG_PMKID_MODES_MIN,
1068 CFG_PMKID_MODES_MAX),
1069
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001070 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1071 struct hdd_config, isRoamOffloadScanEnabled,
1072 VAR_FLAGS_OPTIONAL |
1073 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1074 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1075 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1076 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1077 cb_notify_update_roam_scan_offload_enabled, 0),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001078
1079 REG_VARIABLE(CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME, WLAN_PARAM_Integer,
1080 struct hdd_config, InfraDirAcVo,
1081 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1082 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1083 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
1084 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX),
1085
1086 REG_VARIABLE(CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME,
1087 WLAN_PARAM_HexInteger,
1088 struct hdd_config, InfraNomMsduSizeAcVo,
1089 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1090 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1091 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
1092 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX),
1093
1094 REG_VARIABLE(CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME,
1095 WLAN_PARAM_HexInteger,
1096 struct hdd_config, InfraMeanDataRateAcVo,
1097 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1098 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1099 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
1100 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX),
1101
1102 REG_VARIABLE(CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME,
1103 WLAN_PARAM_HexInteger,
1104 struct hdd_config, InfraMinPhyRateAcVo,
1105 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1106 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1107 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
1108 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX),
1109
1110 REG_VARIABLE(CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME, WLAN_PARAM_HexInteger,
1111 struct hdd_config, InfraSbaAcVo,
1112 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1113 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1114 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
1115 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX),
1116
1117 REG_VARIABLE(CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME, WLAN_PARAM_Integer,
1118 struct hdd_config, InfraDirAcVi,
1119 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1120 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1121 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
1122 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX),
1123
1124 REG_VARIABLE(CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME,
1125 WLAN_PARAM_HexInteger,
1126 struct hdd_config, InfraNomMsduSizeAcVi,
1127 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1128 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1129 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
1130 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX),
1131
1132 REG_VARIABLE(CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME,
1133 WLAN_PARAM_HexInteger,
1134 struct hdd_config, InfraMeanDataRateAcVi,
1135 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1136 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1137 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
1138 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX),
1139
1140 REG_VARIABLE(CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME,
1141 WLAN_PARAM_HexInteger,
1142 struct hdd_config, InfraMinPhyRateAcVi,
1143 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1144 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1145 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
1146 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX),
1147
1148 REG_VARIABLE(CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME, WLAN_PARAM_HexInteger,
1149 struct hdd_config, InfraSbaAcVi,
1150 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1151 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1152 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
1153 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX),
1154
1155 REG_VARIABLE(CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME, WLAN_PARAM_Integer,
1156 struct hdd_config, InfraDirAcBe,
1157 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1158 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1159 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
1160 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX),
1161
1162 REG_VARIABLE(CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME,
1163 WLAN_PARAM_HexInteger,
1164 struct hdd_config, InfraNomMsduSizeAcBe,
1165 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1166 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1167 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
1168 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX),
1169
1170 REG_VARIABLE(CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME,
1171 WLAN_PARAM_HexInteger,
1172 struct hdd_config, InfraMeanDataRateAcBe,
1173 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1174 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1175 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
1176 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX),
1177
1178 REG_VARIABLE(CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME,
1179 WLAN_PARAM_HexInteger,
1180 struct hdd_config, InfraMinPhyRateAcBe,
1181 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1182 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1183 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
1184 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX),
1185
1186 REG_VARIABLE(CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME, WLAN_PARAM_HexInteger,
1187 struct hdd_config, InfraSbaAcBe,
1188 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1189 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1190 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
1191 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX),
1192
1193 REG_VARIABLE(CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME, WLAN_PARAM_Integer,
1194 struct hdd_config, InfraDirAcBk,
1195 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1196 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1197 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
1198 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX),
1199
1200 REG_VARIABLE(CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME,
1201 WLAN_PARAM_HexInteger,
1202 struct hdd_config, InfraNomMsduSizeAcBk,
1203 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1204 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1205 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
1206 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX),
1207
1208 REG_VARIABLE(CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME,
1209 WLAN_PARAM_HexInteger,
1210 struct hdd_config, InfraMeanDataRateAcBk,
1211 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1212 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1213 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
1214 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX),
1215
1216 REG_VARIABLE(CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME,
1217 WLAN_PARAM_HexInteger,
1218 struct hdd_config, InfraMinPhyRateAcBk,
1219 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1220 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1221 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
1222 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX),
1223
1224 REG_VARIABLE(CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME, WLAN_PARAM_HexInteger,
1225 struct hdd_config, InfraSbaAcBk,
1226 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1227 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1228 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
1229 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX),
1230
1231 REG_VARIABLE(CFG_TL_DELAYED_TRGR_FRM_INT_NAME, WLAN_PARAM_Integer,
1232 struct hdd_config, DelayedTriggerFrmInt,
1233 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1234 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1235 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
1236 CFG_TL_DELAYED_TRGR_FRM_INT_MAX),
1237
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001238 REG_VARIABLE(CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME, WLAN_PARAM_Integer,
1239 struct hdd_config, bImplicitQosEnabled,
1240 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1241 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1242 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
1243 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX),
1244
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001245#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
1246 REG_VARIABLE(CFG_WLAN_MCC_TO_SCC_SWITCH_MODE, WLAN_PARAM_Integer,
1247 struct hdd_config, WlanMccToSccSwitchMode,
1248 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1249 CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_DEFAULT,
1250 CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_MIN,
1251 CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_MAX),
1252#endif
1253#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
1254 REG_VARIABLE(CFG_WLAN_AUTO_SHUTDOWN, WLAN_PARAM_Integer,
1255 struct hdd_config, WlanAutoShutdown,
1256 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1257 CFG_WLAN_AUTO_SHUTDOWN_DEFAULT,
1258 CFG_WLAN_AUTO_SHUTDOWN_MIN,
1259 CFG_WLAN_AUTO_SHUTDOWN_MAX),
1260#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001261 REG_VARIABLE(CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
1262 struct hdd_config, fRrmEnable,
1263 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1264 CFG_RRM_ENABLE_DEFAULT,
1265 CFG_RRM_ENABLE_MIN,
1266 CFG_RRM_ENABLE_MAX),
1267
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001268 REG_VARIABLE(CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
1269 struct hdd_config, nRrmRandnIntvl,
1270 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1271 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1272 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
1273 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX),
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08001274
1275 REG_VARIABLE_STRING(CFG_RM_CAPABILITY_NAME, WLAN_PARAM_String,
1276 struct hdd_config, rm_capability,
1277 VAR_FLAGS_OPTIONAL,
1278 (void *) CFG_RM_CAPABILITY_DEFAULT),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001279
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001280 REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME,
1281 WLAN_PARAM_Integer,
1282 struct hdd_config, nNeighborScanPeriod,
1283 VAR_FLAGS_OPTIONAL |
1284 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1285 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1286 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
1287 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1288 cb_notify_set_neighbor_scan_period, 0),
1289
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +05301290 REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_SCAN_MIN_TIMER_PERIOD_NAME,
1291 WLAN_PARAM_Integer,
1292 struct hdd_config, neighbor_scan_min_period,
1293 VAR_FLAGS_OPTIONAL |
1294 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1295 CFG_NEIGHBOR_SCAN_MIN_TIMER_PERIOD_DEFAULT,
1296 CFG_NEIGHBOR_SCAN_MIN_TIMER_PERIOD_MIN,
1297 CFG_NEIGHBOR_SCAN_MIN_TIMER_PERIOD_MAX,
1298 cb_notify_set_neighbor_scan_min_period, 0),
1299
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001300 REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME,
1301 WLAN_PARAM_Integer,
1302 struct hdd_config, nNeighborLookupRssiThreshold,
1303 VAR_FLAGS_OPTIONAL |
1304 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1305 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1306 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
1307 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1308 cb_notify_set_neighbor_lookup_rssi_threshold, 0),
1309
Varun Reddy Yeturu168134f2017-06-26 13:46:05 -07001310 REG_VARIABLE(CFG_5G_RSSI_THRESHOLD_OFFSET_NAME,
1311 WLAN_PARAM_SignedInteger, struct hdd_config,
1312 rssi_thresh_offset_5g,
1313 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1314 CFG_5G_RSSI_THRESHOLD_OFFSET_DEFAULT,
1315 CFG_5G_RSSI_THRESHOLD_OFFSET_MIN,
1316 CFG_5G_RSSI_THRESHOLD_OFFSET_MAX),
1317
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001318 REG_DYNAMIC_VARIABLE(CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_NAME,
1319 WLAN_PARAM_Integer,
1320 struct hdd_config, nOpportunisticThresholdDiff,
1321 VAR_FLAGS_OPTIONAL |
1322 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1323 CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_DEFAULT,
1324 CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_MIN,
1325 CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_MAX,
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07001326 cb_notify_set_opportunistic_scan_threshold_diff,
1327 0),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001328
1329 REG_DYNAMIC_VARIABLE(CFG_ROAM_RESCAN_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1330 struct hdd_config, nRoamRescanRssiDiff,
1331 VAR_FLAGS_OPTIONAL |
1332 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1333 CFG_ROAM_RESCAN_RSSI_DIFF_DEFAULT,
1334 CFG_ROAM_RESCAN_RSSI_DIFF_MIN,
1335 CFG_ROAM_RESCAN_RSSI_DIFF_MAX,
1336 cb_notify_set_roam_rescan_rssi_diff, 0),
1337
1338 REG_VARIABLE_STRING(CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
1339 struct hdd_config, neighborScanChanList,
1340 VAR_FLAGS_OPTIONAL,
1341 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT),
1342
1343 REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME,
1344 WLAN_PARAM_Integer,
1345 struct hdd_config, nNeighborScanMinChanTime,
1346 VAR_FLAGS_OPTIONAL |
1347 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1348 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1349 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
1350 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1351 cb_notify_set_neighbor_scan_min_chan_time, 0),
1352
1353 REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME,
1354 WLAN_PARAM_Integer,
1355 struct hdd_config, nNeighborScanMaxChanTime,
1356 VAR_FLAGS_OPTIONAL |
1357 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1358 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1359 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
1360 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1361 cb_notify_set_neighbor_scan_max_chan_time, 0),
1362
1363 REG_VARIABLE(CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1364 struct hdd_config, nMaxNeighborReqTries,
1365 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1366 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1367 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1368 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1369
1370 REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME,
1371 WLAN_PARAM_Integer,
1372 struct hdd_config, nNeighborResultsRefreshPeriod,
1373 VAR_FLAGS_OPTIONAL |
1374 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1375 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1376 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
1377 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1378 cb_notify_set_neighbor_results_refresh_period, 0),
1379
1380 REG_DYNAMIC_VARIABLE(CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME,
1381 WLAN_PARAM_Integer,
1382 struct hdd_config, nEmptyScanRefreshPeriod,
1383 VAR_FLAGS_OPTIONAL |
1384 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1385 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1386 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1387 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1388 cb_notify_set_empty_scan_refresh_period, 0),
1389
1390 REG_DYNAMIC_VARIABLE(CFG_ROAM_BMISS_FIRST_BCNT_NAME, WLAN_PARAM_Integer,
1391 struct hdd_config, nRoamBmissFirstBcnt,
1392 VAR_FLAGS_OPTIONAL |
1393 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1394 CFG_ROAM_BMISS_FIRST_BCNT_DEFAULT,
1395 CFG_ROAM_BMISS_FIRST_BCNT_MIN,
1396 CFG_ROAM_BMISS_FIRST_BCNT_MAX,
1397 cb_notify_set_roam_bmiss_first_bcnt, 0),
1398
1399 REG_DYNAMIC_VARIABLE(CFG_ROAM_BMISS_FINAL_BCNT_NAME, WLAN_PARAM_Integer,
1400 struct hdd_config, nRoamBmissFinalBcnt,
1401 VAR_FLAGS_OPTIONAL |
1402 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1403 CFG_ROAM_BMISS_FINAL_BCNT_DEFAULT,
1404 CFG_ROAM_BMISS_FINAL_BCNT_MIN,
1405 CFG_ROAM_BMISS_FINAL_BCNT_MAX,
1406 cb_notify_set_roam_bmiss_final_bcnt, 0),
1407
1408 REG_DYNAMIC_VARIABLE(CFG_ROAM_BEACON_RSSI_WEIGHT_NAME,
1409 WLAN_PARAM_Integer,
1410 struct hdd_config, nRoamBeaconRssiWeight,
1411 VAR_FLAGS_OPTIONAL |
1412 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1413 CFG_ROAM_BEACON_RSSI_WEIGHT_DEFAULT,
1414 CFG_ROAM_BEACON_RSSI_WEIGHT_MIN,
1415 CFG_ROAM_BEACON_RSSI_WEIGHT_MAX,
1416 cb_notify_set_roam_beacon_rssi_weight, 0),
1417
1418 REG_DYNAMIC_VARIABLE(CFG_ROAMING_DFS_CHANNEL_NAME, WLAN_PARAM_Integer,
1419 struct hdd_config, allowDFSChannelRoam,
1420 VAR_FLAGS_OPTIONAL |
1421 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1422 CFG_ROAMING_DFS_CHANNEL_DEFAULT,
1423 CFG_ROAMING_DFS_CHANNEL_MIN,
1424 CFG_ROAMING_DFS_CHANNEL_MAX,
1425 cb_notify_set_dfs_scan_mode, 0),
1426
1427 REG_DYNAMIC_VARIABLE(CFG_DELAY_BEFORE_VDEV_STOP_NAME,
1428 WLAN_PARAM_Integer,
1429 struct hdd_config,
1430 delay_before_vdev_stop,
1431 VAR_FLAGS_OPTIONAL |
1432 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1433 CFG_DELAY_BEFORE_VDEV_STOP_DEFAULT,
1434 CFG_DELAY_BEFORE_VDEV_STOP_MIN,
1435 CFG_DELAY_BEFORE_VDEV_STOP_MAX,
1436 cb_notify_set_delay_before_vdev_stop,
1437 0),
1438
1439 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_NAME,
1440 WLAN_PARAM_Integer,
1441 struct hdd_config,
1442 nhi_rssi_scan_max_count,
1443 VAR_FLAGS_OPTIONAL |
1444 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1445 CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_DEFAULT,
1446 CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_MIN,
1447 CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_MAX,
1448 cb_notify_set_roam_scan_hi_rssi_scan_params,
1449 eCSR_HI_RSSI_SCAN_MAXCOUNT_ID),
1450
1451 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HI_RSSI_DELTA_NAME,
1452 WLAN_PARAM_Integer,
1453 struct hdd_config,
1454 nhi_rssi_scan_rssi_delta,
1455 VAR_FLAGS_OPTIONAL |
1456 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1457 CFG_ROAM_SCAN_HI_RSSI_DELTA_DEFAULT,
1458 CFG_ROAM_SCAN_HI_RSSI_DELTA_MIN,
1459 CFG_ROAM_SCAN_HI_RSSI_DELTA_MAX,
1460 cb_notify_set_roam_scan_hi_rssi_scan_params,
1461 eCSR_HI_RSSI_SCAN_RSSI_DELTA_ID),
1462
1463 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HI_RSSI_DELAY_NAME,
1464 WLAN_PARAM_Integer,
1465 struct hdd_config,
1466 nhi_rssi_scan_delay,
1467 VAR_FLAGS_OPTIONAL |
1468 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1469 CFG_ROAM_SCAN_HI_RSSI_DELAY_DEFAULT,
1470 CFG_ROAM_SCAN_HI_RSSI_DELAY_MIN,
1471 CFG_ROAM_SCAN_HI_RSSI_DELAY_MAX,
1472 cb_notify_set_roam_scan_hi_rssi_scan_params,
1473 eCSR_HI_RSSI_SCAN_DELAY_ID),
1474
1475 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HI_RSSI_UB_NAME,
1476 WLAN_PARAM_SignedInteger,
1477 struct hdd_config,
1478 nhi_rssi_scan_rssi_ub,
1479 VAR_FLAGS_OPTIONAL |
1480 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1481 CFG_ROAM_SCAN_HI_RSSI_UB_DEFAULT,
1482 CFG_ROAM_SCAN_HI_RSSI_UB_MIN,
1483 CFG_ROAM_SCAN_HI_RSSI_UB_MAX,
1484 cb_notify_set_roam_scan_hi_rssi_scan_params,
1485 eCSR_HI_RSSI_SCAN_RSSI_UB_ID),
1486
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001487 REG_VARIABLE(CFG_QOS_WMM_BURST_SIZE_DEFN_NAME, WLAN_PARAM_Integer,
1488 struct hdd_config, burstSizeDefinition,
1489 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1490 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1491 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
1492 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX),
1493
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001494 REG_VARIABLE(CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1495 struct hdd_config, fhostArpOffload,
1496 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1497 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1498 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1499 CFG_ENABLE_HOST_ARPOFFLOAD_MAX),
1500
Dustin Brown1224e212017-05-12 14:02:12 -07001501 REG_VARIABLE(CFG_HW_FILTER_MODE_NAME, WLAN_PARAM_Integer,
1502 struct hdd_config, hw_filter_mode,
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05301503 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Dustin Brown1224e212017-05-12 14:02:12 -07001504 CFG_HW_FILTER_MODE_DEFAULT,
1505 CFG_HW_FILTER_MODE_MIN,
1506 CFG_HW_FILTER_MODE_MAX),
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05301507
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001508#ifdef FEATURE_WLAN_RA_FILTERING
1509 REG_VARIABLE(CFG_RA_FILTER_ENABLE_NAME, WLAN_PARAM_Integer,
1510 struct hdd_config, IsRArateLimitEnabled,
1511 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1512 CFG_RA_FILTER_ENABLE_DEFAULT,
1513 CFG_RA_FILTER_ENABLE_MIN,
1514 CFG_RA_FILTER_ENABLE_MAX),
1515
1516 REG_VARIABLE(CFG_RA_RATE_LIMIT_INTERVAL_NAME, WLAN_PARAM_Integer,
1517 struct hdd_config, RArateLimitInterval,
1518 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1519 CFG_RA_RATE_LIMIT_INTERVAL_DEFAULT,
1520 CFG_RA_RATE_LIMIT_INTERVAL_MIN,
1521 CFG_RA_RATE_LIMIT_INTERVAL_MAX),
1522#endif
1523
1524 REG_VARIABLE(CFG_IGNORE_PEER_ERP_INFO_NAME, WLAN_PARAM_Integer,
1525 struct hdd_config, ignore_peer_erp_info,
1526 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1527 CFG_IGNORE_PEER_ERP_INFO_DEFAULT,
1528 CFG_IGNORE_PEER_ERP_INFO_MIN,
1529 CFG_IGNORE_PEER_ERP_INFO_MAX),
1530
1531 REG_VARIABLE(CFG_ENABLE_HOST_SSDP_NAME, WLAN_PARAM_Integer,
1532 struct hdd_config, ssdp,
1533 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1534 CFG_ENABLE_HOST_SSDP_DEFAULT,
1535 CFG_ENABLE_HOST_SSDP_MIN,
1536 CFG_ENABLE_HOST_SSDP_MAX),
1537
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07001538#ifdef FEATURE_RUNTIME_PM
1539 REG_VARIABLE(CFG_ENABLE_RUNTIME_PM, WLAN_PARAM_Integer,
1540 struct hdd_config, runtime_pm,
1541 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1542 CFG_ENABLE_RUNTIME_PM_DEFAULT,
1543 CFG_ENABLE_RUNTIME_PM_MIN,
1544 CFG_ENABLE_RUNTIME_PM_MAX),
1545
1546 REG_VARIABLE(CFG_RUNTIME_PM_DELAY_NAME, WLAN_PARAM_Integer,
1547 struct hdd_config, runtime_pm_delay,
1548 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1549 CFG_RUNTIME_PM_DELAY_DEFAULT,
1550 CFG_RUNTIME_PM_DELAY_MIN,
1551 CFG_RUNTIME_PM_DELAY_MAX),
1552#endif
1553
1554
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001555 REG_VARIABLE(CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1556 struct hdd_config, fhostNSOffload,
1557 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1558 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1559 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1560 CFG_ENABLE_HOST_NSOFFLOAD_MAX),
1561
1562 REG_VARIABLE(CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME, WLAN_PARAM_HexInteger,
1563 struct hdd_config, tsInfoAckPolicy,
1564 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1565 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1566 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
1567 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX),
1568
1569 REG_VARIABLE(CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1570 struct hdd_config, bSingleTidRc,
1571 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1572 CFG_SINGLE_TID_RC_DEFAULT,
1573 CFG_SINGLE_TID_RC_MIN,
1574 CFG_SINGLE_TID_RC_MAX),
1575
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001576 REG_VARIABLE(CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1577 struct hdd_config, teleBcnWakeupEn,
1578 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1579 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1580 CFG_TELE_BCN_WAKEUP_EN_MIN,
1581 CFG_TELE_BCN_WAKEUP_EN_MAX),
1582
1583 REG_VARIABLE(CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1584 struct hdd_config, infraStaKeepAlivePeriod,
1585 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1586 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1587 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1588 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1589
Dustin Brownb6b0f182017-03-08 13:08:27 -08001590 REG_VARIABLE(CFG_STA_KEEPALIVE_METHOD_NAME, WLAN_PARAM_Integer,
1591 struct hdd_config, sta_keepalive_method,
1592 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1593 CFG_STA_KEEPALIVE_METHOD_DEFAULT,
1594 CFG_STA_KEEPALIVE_METHOD_MIN,
1595 CFG_STA_KEEPALIVE_METHOD_MAX),
1596
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001597 REG_VARIABLE(CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME, WLAN_PARAM_Integer,
1598 struct hdd_config, AddTSWhenACMIsOff,
1599 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1600 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1601 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
1602 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX),
1603
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001604 REG_VARIABLE(CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
1605 struct hdd_config, nBandCapability,
1606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1607 CFG_BAND_CAPABILITY_DEFAULT,
1608 CFG_BAND_CAPABILITY_MIN,
1609 CFG_BAND_CAPABILITY_MAX),
1610
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301611/* CFG_QDF_TRACE_ENABLE Parameters */
1612 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
1613 struct hdd_config, qdf_trace_enable_wdi,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001614 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301615 CFG_QDF_TRACE_ENABLE_DEFAULT,
1616 CFG_QDF_TRACE_ENABLE_MIN,
1617 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001618
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301619 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
1620 struct hdd_config, qdf_trace_enable_hdd,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001621 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301622 CFG_QDF_TRACE_ENABLE_DEFAULT,
1623 CFG_QDF_TRACE_ENABLE_MIN,
1624 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001625
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301626 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_BMI_NAME, WLAN_PARAM_Integer,
1627 struct hdd_config, qdf_trace_enable_bmi,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001628 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301629 CFG_QDF_TRACE_ENABLE_DEFAULT,
1630 CFG_QDF_TRACE_ENABLE_MIN,
1631 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001632
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301633 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
1634 struct hdd_config, qdf_trace_enable_sme,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001635 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301636 CFG_QDF_TRACE_ENABLE_DEFAULT,
1637 CFG_QDF_TRACE_ENABLE_MIN,
1638 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001639
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301640 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
1641 struct hdd_config, qdf_trace_enable_pe,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001642 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301643 CFG_QDF_TRACE_ENABLE_DEFAULT,
1644 CFG_QDF_TRACE_ENABLE_MIN,
1645 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001646
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301647 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_WMA_NAME, WLAN_PARAM_Integer,
1648 struct hdd_config, qdf_trace_enable_wma,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001649 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301650 CFG_QDF_TRACE_ENABLE_DEFAULT,
1651 CFG_QDF_TRACE_ENABLE_MIN,
1652 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001653
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301654 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
1655 struct hdd_config, qdf_trace_enable_sys,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001656 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301657 CFG_QDF_TRACE_ENABLE_DEFAULT,
1658 CFG_QDF_TRACE_ENABLE_MIN,
1659 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001660
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301661 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_QDF_NAME, WLAN_PARAM_Integer,
1662 struct hdd_config, qdf_trace_enable_qdf,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001663 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301664 CFG_QDF_TRACE_ENABLE_DEFAULT,
1665 CFG_QDF_TRACE_ENABLE_MIN,
1666 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001667
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301668 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
1669 struct hdd_config, qdf_trace_enable_sap,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001670 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301671 CFG_QDF_TRACE_ENABLE_DEFAULT,
1672 CFG_QDF_TRACE_ENABLE_MIN,
1673 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001674
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301675 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
1676 struct hdd_config, qdf_trace_enable_hdd_sap,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001677 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301678 CFG_QDF_TRACE_ENABLE_DEFAULT,
1679 CFG_QDF_TRACE_ENABLE_MIN,
1680 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001681
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301682 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_CFG_NAME, WLAN_PARAM_Integer,
1683 struct hdd_config, qdf_trace_enable_cfg,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301684 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301685 CFG_QDF_TRACE_ENABLE_DEFAULT,
1686 CFG_QDF_TRACE_ENABLE_MIN,
1687 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301688
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301689 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_TXRX_NAME, WLAN_PARAM_Integer,
Houston Hoffmanfbf05102017-08-28 11:37:01 -07001690 struct hdd_config, qdf_trace_enable_txrx,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301691 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301692 CFG_QDF_TRACE_ENABLE_DEFAULT,
1693 CFG_QDF_TRACE_ENABLE_MIN,
1694 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301695
Houston Hoffmanfbf05102017-08-28 11:37:01 -07001696 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_DP_NAME, WLAN_PARAM_Integer,
1697 struct hdd_config, qdf_trace_enable_dp,
1698 VAR_FLAGS_OPTIONAL,
1699 CFG_QDF_TRACE_ENABLE_DP_DEFAULT,
1700 CFG_QDF_TRACE_ENABLE_MIN,
1701 CFG_QDF_TRACE_ENABLE_MAX),
1702
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301703 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_HTC_NAME, WLAN_PARAM_Integer,
1704 struct hdd_config, qdf_trace_enable_htc,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301705 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301706 CFG_QDF_TRACE_ENABLE_DEFAULT,
1707 CFG_QDF_TRACE_ENABLE_MIN,
1708 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301709
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301710 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_HIF_NAME, WLAN_PARAM_Integer,
1711 struct hdd_config, qdf_trace_enable_hif,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301712 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301713 CFG_QDF_TRACE_ENABLE_DEFAULT,
1714 CFG_QDF_TRACE_ENABLE_MIN,
1715 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301716
1717 REG_VARIABLE(CFG_CDR_TRACE_ENABLE_HDD_SAP_DATA_NAME, WLAN_PARAM_Integer,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301718 struct hdd_config, qdf_trace_enable_hdd_sap_data,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301719 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301720 CFG_QDF_TRACE_ENABLE_DEFAULT,
1721 CFG_QDF_TRACE_ENABLE_MIN,
1722 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301723
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301724 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_HDD_DATA_NAME, WLAN_PARAM_Integer,
1725 struct hdd_config, qdf_trace_enable_hdd_data,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301726 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301727 CFG_QDF_TRACE_ENABLE_DEFAULT,
1728 CFG_QDF_TRACE_ENABLE_MIN,
1729 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301730
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301731 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_EPPING, WLAN_PARAM_Integer,
1732 struct hdd_config, qdf_trace_enable_epping,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301733 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301734 CFG_QDF_TRACE_ENABLE_DEFAULT,
1735 CFG_QDF_TRACE_ENABLE_MIN,
1736 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301737
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301738 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_QDF_DEVICES, WLAN_PARAM_Integer,
1739 struct hdd_config, qdf_trace_enable_qdf_devices,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301740 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301741 CFG_QDF_TRACE_ENABLE_DEFAULT,
1742 CFG_QDF_TRACE_ENABLE_MIN,
1743 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301744
Naveen Rawat7df31862017-03-01 17:09:30 -08001745 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_WIFI_POS, WLAN_PARAM_Integer,
1746 struct hdd_config, qdf_trace_enable_wifi_pos,
1747 VAR_FLAGS_OPTIONAL,
1748 CFG_QDF_TRACE_ENABLE_DEFAULT,
1749 CFG_QDF_TRACE_ENABLE_MIN,
1750 CFG_QDF_TRACE_ENABLE_MAX),
1751
Naveen Rawatf2b0dbd2017-03-27 10:00:15 -07001752 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_NAN, WLAN_PARAM_Integer,
1753 struct hdd_config, qdf_trace_enable_nan,
1754 VAR_FLAGS_OPTIONAL,
1755 CFG_QDF_TRACE_ENABLE_DEFAULT,
1756 CFG_QDF_TRACE_ENABLE_MIN,
1757 CFG_QDF_TRACE_ENABLE_MAX),
1758
Kiran Kumar Lokere798de7e2017-03-30 14:01:12 -07001759 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_REGULATORY, WLAN_PARAM_Integer,
1760 struct hdd_config, qdf_trace_enable_regulatory,
1761 VAR_FLAGS_OPTIONAL,
1762 CFG_QDF_TRACE_ENABLE_DEFAULT,
1763 CFG_QDF_TRACE_ENABLE_MIN,
1764 CFG_QDF_TRACE_ENABLE_MAX),
1765
Naveen Rawat3cb779e2018-02-16 16:36:10 -08001766 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_CP_STATS, WLAN_PARAM_Integer,
1767 struct hdd_config, qdf_trace_enable_cp_stats,
1768 VAR_FLAGS_OPTIONAL,
1769 CFG_QDF_TRACE_ENABLE_DEFAULT,
1770 CFG_QDF_TRACE_ENABLE_MIN,
1771 CFG_QDF_TRACE_ENABLE_MAX),
1772
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001773 REG_VARIABLE(CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
1774 struct hdd_config, nTeleBcnMaxListenInterval,
1775 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1776 CFG_TELE_BCN_MAX_LI_DEFAULT,
1777 CFG_TELE_BCN_MAX_LI_MIN,
1778 CFG_TELE_BCN_MAX_LI_MAX),
1779
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001780 REG_VARIABLE(CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
1781 struct hdd_config, enableBypass11d,
1782 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1783 CFG_ENABLE_BYPASS_11D_DEFAULT,
1784 CFG_ENABLE_BYPASS_11D_MIN,
1785 CFG_ENABLE_BYPASS_11D_MAX),
1786
1787 REG_VARIABLE(CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
1788 struct hdd_config, enableDFSChnlScan,
1789 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1790 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
1791 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
1792 CFG_ENABLE_DFS_CHNL_SCAN_MAX),
1793
1794 REG_VARIABLE(CFG_ENABLE_DFS_PNO_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
1795 struct hdd_config, enable_dfs_pno_chnl_scan,
1796 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1797 CFG_ENABLE_DFS_PNO_CHNL_SCAN_DEFAULT,
1798 CFG_ENABLE_DFS_PNO_CHNL_SCAN_MIN,
1799 CFG_ENABLE_DFS_PNO_CHNL_SCAN_MAX),
1800
1801 REG_VARIABLE(CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
1802 struct hdd_config, enableDynamicDTIM,
1803 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1804 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
1805 CFG_ENABLE_DYNAMIC_DTIM_MIN,
1806 CFG_ENABLE_DYNAMIC_DTIM_MAX),
1807
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001808 REG_VARIABLE(CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
1809 struct hdd_config, ShortGI40MhzEnable,
1810 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1811 CFG_SHORT_GI_40MHZ_DEFAULT,
1812 CFG_SHORT_GI_40MHZ_MIN,
1813 CFG_SHORT_GI_40MHZ_MAX),
1814
1815 REG_DYNAMIC_VARIABLE(CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
1816 struct hdd_config, reportMaxLinkSpeed,
1817 VAR_FLAGS_OPTIONAL |
1818 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1819 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
1820 CFG_REPORT_MAX_LINK_SPEED_MIN,
1821 CFG_REPORT_MAX_LINK_SPEED_MAX,
1822 NULL, 0),
1823
1824 REG_DYNAMIC_VARIABLE(CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
1825 struct hdd_config, linkSpeedRssiHigh,
1826 VAR_FLAGS_OPTIONAL |
1827 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1828 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
1829 CFG_LINK_SPEED_RSSI_HIGH_MIN,
1830 CFG_LINK_SPEED_RSSI_HIGH_MAX,
1831 NULL, 0),
1832
1833 REG_DYNAMIC_VARIABLE(CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
1834 struct hdd_config, linkSpeedRssiMid,
1835 VAR_FLAGS_OPTIONAL |
1836 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1837 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
1838 CFG_LINK_SPEED_RSSI_MID_MIN,
1839 CFG_LINK_SPEED_RSSI_MID_MAX,
1840 NULL, 0),
1841
1842 REG_DYNAMIC_VARIABLE(CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
1843 struct hdd_config, linkSpeedRssiLow,
1844 VAR_FLAGS_OPTIONAL |
1845 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1846 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
1847 CFG_LINK_SPEED_RSSI_LOW_MIN,
1848 CFG_LINK_SPEED_RSSI_LOW_MAX,
1849 NULL, 0),
1850
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001851 REG_DYNAMIC_VARIABLE(CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
1852 struct hdd_config, nRoamPrefer5GHz,
1853 VAR_FLAGS_OPTIONAL |
1854 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1855 CFG_ROAM_PREFER_5GHZ_DEFAULT,
1856 CFG_ROAM_PREFER_5GHZ_MIN,
1857 CFG_ROAM_PREFER_5GHZ_MAX,
1858 cb_notify_set_roam_prefer5_g_hz, 0),
1859
1860 REG_DYNAMIC_VARIABLE(CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
1861 struct hdd_config, nRoamIntraBand,
1862 VAR_FLAGS_OPTIONAL |
1863 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1864 CFG_ROAM_INTRA_BAND_DEFAULT,
1865 CFG_ROAM_INTRA_BAND_MIN,
1866 CFG_ROAM_INTRA_BAND_MAX,
1867 cb_notify_set_roam_intra_band, 0),
1868
1869 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
1870 struct hdd_config, nProbes,
1871 VAR_FLAGS_OPTIONAL |
1872 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1873 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
1874 CFG_ROAM_SCAN_N_PROBES_MIN,
1875 CFG_ROAM_SCAN_N_PROBES_MAX,
1876 cb_notify_set_roam_scan_n_probes, 0),
1877
1878 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
1879 struct hdd_config, nRoamScanHomeAwayTime,
1880 VAR_FLAGS_OPTIONAL |
1881 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1882 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
1883 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
1884 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
1885 cb_notify_set_roam_scan_home_away_time, 0),
1886
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001887 REG_VARIABLE(CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME,
1888 WLAN_PARAM_Integer,
1889 struct hdd_config, isP2pDeviceAddrAdministrated,
1890 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1891 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
1892 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
1893 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX),
1894
1895 REG_VARIABLE(CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
1896 struct hdd_config, enableMCC,
1897 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1898 CFG_ENABLE_MCC_ENABLED_DEFAULT,
1899 CFG_ENABLE_MCC_ENABLED_MIN,
1900 CFG_ENABLE_MCC_ENABLED_MAX),
1901
1902 REG_VARIABLE(CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
1903 struct hdd_config, allowMCCGODiffBI,
1904 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1905 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
1906 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
1907 CFG_ALLOW_MCC_GO_DIFF_BI_MAX),
1908
1909 REG_VARIABLE(CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
1910 struct hdd_config, thermalMitigationEnable,
1911 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1912 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
1913 CFG_THERMAL_MIGRATION_ENABLE_MIN,
1914 CFG_THERMAL_MIGRATION_ENABLE_MAX),
1915
1916 REG_VARIABLE(CFG_THROTTLE_PERIOD_NAME, WLAN_PARAM_Integer,
1917 struct hdd_config, throttlePeriod,
1918 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1919 CFG_THROTTLE_PERIOD_DEFAULT,
1920 CFG_THROTTLE_PERIOD_MIN,
1921 CFG_THROTTLE_PERIOD_MAX),
1922
Poddar, Siddarth83905022016-04-16 17:56:08 -07001923 REG_VARIABLE(CFG_THROTTLE_DUTY_CYCLE_LEVEL0_NAME, WLAN_PARAM_Integer,
1924 struct hdd_config, throttle_dutycycle_level0,
1925 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1926 CFG_THROTTLE_DUTY_CYCLE_LEVEL0_DEFAULT,
1927 CFG_THROTTLE_DUTY_CYCLE_LEVEL0_MIN,
1928 CFG_THROTTLE_DUTY_CYCLE_LEVEL0_MAX),
1929
1930 REG_VARIABLE(CFG_THROTTLE_DUTY_CYCLE_LEVEL1_NAME, WLAN_PARAM_Integer,
1931 struct hdd_config, throttle_dutycycle_level1,
1932 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1933 CFG_THROTTLE_DUTY_CYCLE_LEVEL1_DEFAULT,
1934 CFG_THROTTLE_DUTY_CYCLE_LEVEL1_MIN,
1935 CFG_THROTTLE_DUTY_CYCLE_LEVEL1_MAX),
1936
1937 REG_VARIABLE(CFG_THROTTLE_DUTY_CYCLE_LEVEL2_NAME, WLAN_PARAM_Integer,
1938 struct hdd_config, throttle_dutycycle_level2,
1939 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1940 CFG_THROTTLE_DUTY_CYCLE_LEVEL2_DEFAULT,
1941 CFG_THROTTLE_DUTY_CYCLE_LEVEL2_MIN,
1942 CFG_THROTTLE_DUTY_CYCLE_LEVEL2_MAX),
1943
1944 REG_VARIABLE(CFG_THROTTLE_DUTY_CYCLE_LEVEL3_NAME, WLAN_PARAM_Integer,
1945 struct hdd_config, throttle_dutycycle_level3,
1946 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1947 CFG_THROTTLE_DUTY_CYCLE_LEVEL3_DEFAULT,
1948 CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MIN,
1949 CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MAX),
1950
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001951 REG_VARIABLE(CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
1952 struct hdd_config, enableModulatedDTIM,
1953 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1954 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
1955 CFG_ENABLE_MODULATED_DTIM_MIN,
1956 CFG_ENABLE_MODULATED_DTIM_MAX),
1957
1958 REG_VARIABLE(CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
1959 struct hdd_config, fEnableMCAddrList,
1960 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1961 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
1962 CFG_MC_ADDR_LIST_ENABLE_MIN,
1963 CFG_MC_ADDR_LIST_ENABLE_MAX),
1964
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001965 REG_VARIABLE(CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
1966 struct hdd_config, vhtChannelWidth,
1967 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1968 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
1969 CFG_VHT_CHANNEL_WIDTH_MIN,
1970 CFG_VHT_CHANNEL_WIDTH_MAX),
1971
1972 REG_VARIABLE(CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
1973 struct hdd_config, vhtRxMCS,
1974 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1975 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
1976 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
1977 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
1978
1979 REG_VARIABLE(CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
1980 struct hdd_config, vhtTxMCS,
1981 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1982 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
1983 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
1984 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
1985
1986 REG_VARIABLE(CFG_VHT_ENABLE_RX_MCS2x2_8_9, WLAN_PARAM_Integer,
1987 struct hdd_config, vhtRxMCS2x2,
1988 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1989 CFG_VHT_ENABLE_RX_MCS2x2_8_9_DEFAULT,
1990 CFG_VHT_ENABLE_RX_MCS2x2_8_9_MIN,
1991 CFG_VHT_ENABLE_RX_MCS2x2_8_9_MAX),
1992
1993 REG_VARIABLE(CFG_VHT_ENABLE_TX_MCS2x2_8_9, WLAN_PARAM_Integer,
1994 struct hdd_config, vhtTxMCS2x2,
1995 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1996 CFG_VHT_ENABLE_TX_MCS2x2_8_9_DEFAULT,
1997 CFG_VHT_ENABLE_TX_MCS2x2_8_9_MIN,
1998 CFG_VHT_ENABLE_TX_MCS2x2_8_9_MAX),
1999
Kiran Kumar Lokere0e255172018-03-30 18:54:25 -07002000 REG_VARIABLE(CFG_ENABLE_VHT20_MCS9, WLAN_PARAM_Integer,
2001 struct hdd_config, enable_vht20_mcs9,
2002 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2003 CFG_ENABLE_VHT20_MCS9_DEFAULT,
2004 CFG_ENABLE_VHT20_MCS9_MIN,
2005 CFG_ENABLE_VHT20_MCS9_MAX),
2006
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002007 REG_VARIABLE(CFG_VHT_ENABLE_2x2_CAP_FEATURE, WLAN_PARAM_Integer,
2008 struct hdd_config, enable2x2,
2009 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2010 CFG_VHT_ENABLE_2x2_CAP_FEATURE_DEFAULT,
2011 CFG_VHT_ENABLE_2x2_CAP_FEATURE_MIN,
2012 CFG_VHT_ENABLE_2x2_CAP_FEATURE_MAX),
2013
Krunal Soni158bfe62017-08-02 12:33:08 -07002014 REG_VARIABLE(CFG_DISABLE_HIGH_HT_RX_MCS_2x2, WLAN_PARAM_Integer,
2015 struct hdd_config, disable_high_ht_mcs_2x2,
2016 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2017 CFG_DISABLE_HIGH_HT_RX_MCS_2x2_DEFAULT,
2018 CFG_DISABLE_HIGH_HT_RX_MCS_2x2_MIN,
2019 CFG_DISABLE_HIGH_HT_RX_MCS_2x2_MAX),
2020
Nitesh Shah0e5c7322017-03-23 14:55:11 +05302021 REG_VARIABLE(CFG_VDEV_TYPE_NSS_2G, WLAN_PARAM_Integer,
Kiran Kumar Lokere666bf852016-05-02 12:23:02 -07002022 struct hdd_config, vdev_type_nss_2g,
2023 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2024 CFG_VDEV_TYPE_NSS_2G_DEFAULT,
2025 CFG_VDEV_TYPE_NSS_2G_MIN,
2026 CFG_VDEV_TYPE_NSS_2G_MAX),
2027
Liangwei Dong22810e82018-03-15 03:42:12 -04002028 REG_VARIABLE(CFG_ENABLE_BT_CHAIN_SEPARATION, WLAN_PARAM_Integer,
2029 struct hdd_config, enable_bt_chain_separation,
2030 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2031 CFG_ENABLE_BT_CHAIN_SEPARATION_DEFAULT,
2032 CFG_ENABLE_BT_CHAIN_SEPARATION_MIN,
2033 CFG_ENABLE_BT_CHAIN_SEPARATION_MAX),
2034
Kiran Kumar Lokere1aa9c9a2016-10-05 18:50:59 -07002035 REG_VARIABLE(CFG_STA_PREFER_80MHZ_OVER_160MHZ, WLAN_PARAM_Integer,
2036 struct hdd_config, sta_prefer_80MHz_over_160MHz,
2037 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2038 CFG_STA_PREFER_80MHZ_OVER_160MHZ_DEFAULT,
2039 CFG_STA_PREFER_80MHZ_OVER_160MHZ_MIN,
2040 CFG_STA_PREFER_80MHZ_OVER_160MHZ_MAX),
2041
Nitesh Shah0e5c7322017-03-23 14:55:11 +05302042 REG_VARIABLE(CFG_VDEV_TYPE_NSS_5G, WLAN_PARAM_Integer,
Kiran Kumar Lokere666bf852016-05-02 12:23:02 -07002043 struct hdd_config, vdev_type_nss_5g,
2044 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2045 CFG_VDEV_TYPE_NSS_5G_DEFAULT,
2046 CFG_VDEV_TYPE_NSS_5G_MIN,
2047 CFG_VDEV_TYPE_NSS_5G_MAX),
2048
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002049 REG_VARIABLE(CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
2050 struct hdd_config, enableMuBformee,
2051 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2052 CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_DEFAULT,
2053 CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_MIN,
2054 CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_MAX),
2055
2056 REG_VARIABLE(CFG_VHT_ENABLE_PAID_FEATURE, WLAN_PARAM_Integer,
2057 struct hdd_config, enableVhtpAid,
2058 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2059 CFG_VHT_ENABLE_PAID_FEATURE_DEFAULT,
2060 CFG_VHT_ENABLE_PAID_FEATURE_MIN,
2061 CFG_VHT_ENABLE_PAID_FEATURE_MAX),
2062
2063 REG_VARIABLE(CFG_VHT_ENABLE_GID_FEATURE, WLAN_PARAM_Integer,
2064 struct hdd_config, enableVhtGid,
2065 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2066 CFG_VHT_ENABLE_GID_FEATURE_DEFAULT,
2067 CFG_VHT_ENABLE_GID_FEATURE_MIN,
2068 CFG_VHT_ENABLE_GID_FEATURE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002069
2070 REG_VARIABLE(CFG_VHT_ENABLE_1x1_TX_CHAINMASK, WLAN_PARAM_Integer,
2071 struct hdd_config, txchainmask1x1,
2072 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2073 CFG_VHT_ENABLE_1x1_TX_CHAINMASK_DEFAULT,
2074 CFG_VHT_ENABLE_1x1_TX_CHAINMASK_MIN,
2075 CFG_VHT_ENABLE_1x1_TX_CHAINMASK_MAX),
2076
2077 REG_VARIABLE(CFG_VHT_ENABLE_1x1_RX_CHAINMASK, WLAN_PARAM_Integer,
2078 struct hdd_config, rxchainmask1x1,
2079 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2080 CFG_VHT_ENABLE_1x1_RX_CHAINMASK_DEFAULT,
2081 CFG_VHT_ENABLE_1x1_RX_CHAINMASK_MIN,
2082 CFG_VHT_ENABLE_1x1_RX_CHAINMASK_MAX),
2083
2084 REG_VARIABLE(CFG_ENABLE_AMPDUPS_FEATURE, WLAN_PARAM_Integer,
2085 struct hdd_config, enableAmpduPs,
2086 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2087 CFG_ENABLE_AMPDUPS_FEATURE_DEFAULT,
2088 CFG_ENABLE_AMPDUPS_FEATURE_MIN,
2089 CFG_ENABLE_AMPDUPS_FEATURE_MAX),
2090
2091 REG_VARIABLE(CFG_HT_ENABLE_SMPS_CAP_FEATURE, WLAN_PARAM_Integer,
2092 struct hdd_config, enableHtSmps,
2093 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2094 CFG_HT_ENABLE_SMPS_CAP_FEATURE_DEFAULT,
2095 CFG_HT_ENABLE_SMPS_CAP_FEATURE_MIN,
2096 CFG_HT_ENABLE_SMPS_CAP_FEATURE_MAX),
2097
2098 REG_VARIABLE(CFG_HT_SMPS_CAP_FEATURE, WLAN_PARAM_Integer,
2099 struct hdd_config, htSmps,
2100 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2101 CFG_HT_SMPS_CAP_FEATURE_DEFAULT,
2102 CFG_HT_SMPS_CAP_FEATURE_MIN,
2103 CFG_HT_SMPS_CAP_FEATURE_MAX),
2104
2105 REG_VARIABLE(CFG_DISABLE_DFS_CH_SWITCH, WLAN_PARAM_Integer,
2106 struct hdd_config, disableDFSChSwitch,
2107 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2108 CFG_DISABLE_DFS_CH_SWITCH_DEFAULT,
2109 CFG_DISABLE_DFS_CH_SWITCH_MIN,
2110 CFG_DISABLE_DFS_CH_SWITCH_MAX),
2111
2112 REG_VARIABLE(CFG_ENABLE_DFS_MASTER_CAPABILITY, WLAN_PARAM_Integer,
2113 struct hdd_config, enableDFSMasterCap,
2114 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2115 CFG_ENABLE_DFS_MASTER_CAPABILITY_DEFAULT,
2116 CFG_ENABLE_DFS_MASTER_CAPABILITY_MIN,
2117 CFG_ENABLE_DFS_MASTER_CAPABILITY_MAX),
2118
2119 REG_DYNAMIC_VARIABLE(CFG_SAP_PREFERRED_CHANNEL_LOCATION,
2120 WLAN_PARAM_Integer,
2121 struct hdd_config, gSapPreferredChanLocation,
2122 VAR_FLAGS_OPTIONAL |
2123 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2124 CFG_SAP_PREFERRED_CHANNEL_LOCATION_DEFAULT,
2125 CFG_SAP_PREFERRED_CHANNEL_LOCATION_MIN,
2126 CFG_SAP_PREFERRED_CHANNEL_LOCATION_MAX,
2127 cb_notify_set_g_sap_preferred_chan_location, 0),
2128 REG_DYNAMIC_VARIABLE(CFG_DISABLE_DFS_JAPAN_W53, WLAN_PARAM_Integer,
2129 struct hdd_config, gDisableDfsJapanW53,
2130 VAR_FLAGS_OPTIONAL |
2131 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2132 CFG_DISABLE_DFS_JAPAN_W53_DEFAULT,
2133 CFG_DISABLE_DFS_JAPAN_W53_MIN,
2134 CFG_DISABLE_DFS_JAPAN_W53_MAX,
2135 ch_notify_set_g_disable_dfs_japan_w53, 0),
Hong Shi417824f2017-01-12 02:31:14 +08002136
2137 REG_VARIABLE(CFG_MAX_HT_MCS_FOR_TX_DATA, WLAN_PARAM_HexInteger,
2138 struct hdd_config, max_ht_mcs_txdata,
2139 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2140 CFG_MAX_HT_MCS_FOR_TX_DATA_DEFAULT,
2141 CFG_MAX_HT_MCS_FOR_TX_DATA_MIN,
2142 CFG_MAX_HT_MCS_FOR_TX_DATA_MAX),
2143
Will Huang496b36c2017-07-11 16:38:50 +08002144 REG_VARIABLE(CFG_SAP_GET_PEER_INFO, WLAN_PARAM_Integer,
2145 struct hdd_config, sap_get_peer_info,
2146 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2147 CFG_SAP_GET_PEER_INFO_DEFAULT,
2148 CFG_SAP_GET_PEER_INFO_MIN,
2149 CFG_SAP_GET_PEER_INFO_MAX),
2150
Hong Shia9ef8712017-02-19 21:54:02 +08002151 REG_VARIABLE(CFG_DISABLE_ABG_RATE_FOR_TX_DATA, WLAN_PARAM_Integer,
2152 struct hdd_config, disable_abg_rate_txdata,
2153 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2154 CFG_DISABLE_ABG_RATE_FOR_TX_DATA_DEFAULT,
2155 CFG_DISABLE_ABG_RATE_FOR_TX_DATA_MIN,
2156 CFG_DISABLE_ABG_RATE_FOR_TX_DATA_MAX),
2157
Hong Shib90718f2017-02-20 00:57:22 +08002158 REG_VARIABLE(CFG_RATE_FOR_TX_MGMT, WLAN_PARAM_HexInteger,
2159 struct hdd_config, rate_for_tx_mgmt,
2160 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2161 CFG_RATE_FOR_TX_MGMT_DEFAULT,
2162 CFG_RATE_FOR_TX_MGMT_MIN,
2163 CFG_RATE_FOR_TX_MGMT_MAX),
2164
Hong Shi2d384fd2017-05-22 18:38:41 +08002165 REG_VARIABLE(CFG_RATE_FOR_TX_MGMT_2G, WLAN_PARAM_HexInteger,
2166 struct hdd_config, rate_for_tx_mgmt_2g,
2167 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2168 CFG_RATE_FOR_TX_MGMT_2G_DEFAULT,
2169 CFG_RATE_FOR_TX_MGMT_2G_MIN,
2170 CFG_RATE_FOR_TX_MGMT_2G_MAX),
2171
2172 REG_VARIABLE(CFG_RATE_FOR_TX_MGMT_5G, WLAN_PARAM_HexInteger,
2173 struct hdd_config, rate_for_tx_mgmt_5g,
2174 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2175 CFG_RATE_FOR_TX_MGMT_5G_DEFAULT,
2176 CFG_RATE_FOR_TX_MGMT_5G_MIN,
2177 CFG_RATE_FOR_TX_MGMT_5G_MAX),
2178
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002179 REG_VARIABLE(CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
2180 struct hdd_config, enableFirstScan2GOnly,
2181 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2182 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2183 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
2184 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX),
2185
2186 REG_VARIABLE(CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
2187 struct hdd_config, skipDfsChnlInP2pSearch,
2188 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2189 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2190 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
2191 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX),
2192
2193 REG_VARIABLE(CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME,
2194 WLAN_PARAM_Integer,
2195 struct hdd_config, ignoreDynamicDtimInP2pMode,
2196 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2197 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2198 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
2199 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX),
2200
2201 REG_VARIABLE(CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
2202 struct hdd_config, enableRxSTBC,
2203 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2204 CFG_ENABLE_RX_STBC_DEFAULT,
2205 CFG_ENABLE_RX_STBC_MIN,
2206 CFG_ENABLE_RX_STBC_MAX),
2207
2208 REG_VARIABLE(CFG_ENABLE_TX_STBC, WLAN_PARAM_Integer,
2209 struct hdd_config, enableTxSTBC,
2210 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2211 CFG_ENABLE_TX_STBC_DEFAULT,
2212 CFG_ENABLE_TX_STBC_MIN,
2213 CFG_ENABLE_TX_STBC_MAX),
2214
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002215 REG_VARIABLE(CFG_PPS_ENABLE_5G_EBT, WLAN_PARAM_Integer,
2216 struct hdd_config, enable5gEBT,
2217 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2218 CFG_PPS_ENABLE_5G_EBT_FEATURE_DEFAULT,
2219 CFG_PPS_ENABLE_5G_EBT_FEATURE_MIN,
2220 CFG_PPS_ENABLE_5G_EBT_FEATURE_MAX),
2221
Dustin Brownfe7aa872017-06-26 10:52:08 -07002222 REG_VARIABLE(CFG_PREVENT_LINK_DOWN_NAME, WLAN_PARAM_Integer,
2223 struct hdd_config, prevent_link_down,
2224 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2225 CFG_PREVENT_LINK_DOWN_DEFAULT,
2226 CFG_PREVENT_LINK_DOWN_MIN,
2227 CFG_PREVENT_LINK_DOWN_MAX),
2228
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002229#ifdef FEATURE_WLAN_TDLS
2230 REG_VARIABLE(CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2231 struct hdd_config, fEnableTDLSSupport,
2232 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2233 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2234 CFG_TDLS_SUPPORT_ENABLE_MIN,
2235 CFG_TDLS_SUPPORT_ENABLE_MAX),
2236
2237 REG_VARIABLE(CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
2238 struct hdd_config, fEnableTDLSImplicitTrigger,
2239 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2240 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2241 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2242 CFG_TDLS_IMPLICIT_TRIGGER_MAX),
2243
2244 REG_VARIABLE(CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
2245 struct hdd_config, fTDLSTxStatsPeriod,
2246 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2247 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2248 CFG_TDLS_TX_STATS_PERIOD_MIN,
2249 CFG_TDLS_TX_STATS_PERIOD_MAX),
2250
2251 REG_VARIABLE(CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
2252 struct hdd_config, fTDLSTxPacketThreshold,
2253 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2254 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2255 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2256 CFG_TDLS_TX_PACKET_THRESHOLD_MAX),
2257
2258 REG_VARIABLE(CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
2259 struct hdd_config, fTDLSMaxDiscoveryAttempt,
2260 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2261 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2262 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2263 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX),
2264
Kabilan Kannanca670be2015-11-23 01:56:12 -08002265 REG_VARIABLE(CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2266 struct hdd_config, tdls_idle_timeout,
2267 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2268 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2269 CFG_TDLS_IDLE_TIMEOUT_MIN,
2270 CFG_TDLS_IDLE_TIMEOUT_MAX),
2271
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002272 REG_VARIABLE(CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
2273 struct hdd_config, fTDLSIdlePacketThreshold,
2274 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2275 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2276 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2277 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX),
2278
2279 REG_VARIABLE(CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
2280 struct hdd_config, fTDLSRSSITriggerThreshold,
2281 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2282 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2283 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2284 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX),
2285
2286 REG_VARIABLE(CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
2287 struct hdd_config, fTDLSRSSITeardownThreshold,
2288 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2289 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2290 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2291 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX),
2292
2293 REG_VARIABLE(CFG_TDLS_RSSI_DELTA, WLAN_PARAM_SignedInteger,
2294 struct hdd_config, fTDLSRSSIDelta,
2295 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2296 CFG_TDLS_RSSI_DELTA_DEFAULT,
2297 CFG_TDLS_RSSI_DELTA_MIN,
2298 CFG_TDLS_RSSI_DELTA_MAX),
2299
2300 REG_VARIABLE(CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME, WLAN_PARAM_HexInteger,
2301 struct hdd_config, fTDLSUapsdMask,
2302 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2303 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2304 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2305 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX),
2306
2307 REG_VARIABLE(CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2308 struct hdd_config, fEnableTDLSBufferSta,
2309 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2310 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2311 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2312 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX),
2313
2314 REG_VARIABLE(CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2315 struct hdd_config, fEnableTDLSOffChannel,
2316 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2317 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_DEFAULT,
2318 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MIN,
2319 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MAX),
2320
2321 REG_VARIABLE(CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM, WLAN_PARAM_Integer,
2322 struct hdd_config, fTDLSPrefOffChanNum,
2323 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2324 CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM_DEFAULT,
2325 CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM_MIN,
2326 CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM_MAX),
2327
2328 REG_VARIABLE(CFG_TDLS_PREFERRED_OFF_CHANNEL_BW, WLAN_PARAM_Integer,
2329 struct hdd_config, fTDLSPrefOffChanBandwidth,
2330 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2331 CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_DEFAULT,
2332 CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_MIN,
2333 CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_MAX),
2334
2335 REG_VARIABLE(CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2336 struct hdd_config, fTDLSPuapsdInactivityTimer,
2337 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2338 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2339 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2340 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX),
2341
2342 REG_VARIABLE(CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2343 struct hdd_config, fTDLSRxFrameThreshold,
2344 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2345 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2346 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2347 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX),
2348
2349 REG_VARIABLE(CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW,
2350 WLAN_PARAM_Integer,
2351 struct hdd_config, fTDLSPuapsdPTIWindow,
2352 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2353 CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW_DEFAULT,
2354 CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW_MIN,
2355 CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW_MAX),
2356
2357 REG_VARIABLE(CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT,
2358 WLAN_PARAM_Integer,
2359 struct hdd_config, fTDLSPuapsdPTRTimeout,
2360 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2361 CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT_DEFAULT,
2362 CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT_MIN,
2363 CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT_MAX),
2364
2365 REG_VARIABLE(CFG_TDLS_EXTERNAL_CONTROL, WLAN_PARAM_Integer,
2366 struct hdd_config, fTDLSExternalControl,
2367 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2368 CFG_TDLS_EXTERNAL_CONTROL_DEFAULT,
2369 CFG_TDLS_EXTERNAL_CONTROL_MIN,
2370 CFG_TDLS_EXTERNAL_CONTROL_MAX),
2371 REG_VARIABLE(CFG_TDLS_WMM_MODE_ENABLE, WLAN_PARAM_Integer,
2372 struct hdd_config, fEnableTDLSWmmMode,
2373 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2374 CFG_TDLS_WMM_MODE_ENABLE_DEFAULT,
2375 CFG_TDLS_WMM_MODE_ENABLE_MIN,
2376 CFG_TDLS_WMM_MODE_ENABLE_MAX),
2377
2378 REG_VARIABLE(CFG_TDLS_SCAN_ENABLE, WLAN_PARAM_Integer,
2379 struct hdd_config, enable_tdls_scan,
2380 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2381 CFG_TDLS_SCAN_ENABLE_DEFAULT,
2382 CFG_TDLS_SCAN_ENABLE_MIN,
2383 CFG_TDLS_SCAN_ENABLE_MAX),
Kabilan Kannan421714b2015-11-23 04:44:59 -08002384
2385 REG_VARIABLE(CFG_TDLS_PEER_KICKOUT_THRESHOLD, WLAN_PARAM_Integer,
2386 struct hdd_config, tdls_peer_kickout_threshold,
2387 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2388 CFG_TDLS_PEER_KICKOUT_THRESHOLD_DEFAULT,
2389 CFG_TDLS_PEER_KICKOUT_THRESHOLD_MIN,
2390 CFG_TDLS_PEER_KICKOUT_THRESHOLD_MAX),
2391
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002392#endif
2393
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002394 REG_VARIABLE(CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
2395 struct hdd_config, scanAgingTimeout,
2396 VAR_FLAGS_OPTIONAL,
2397 CFG_SCAN_AGING_PARAM_DEFAULT,
2398 CFG_SCAN_AGING_PARAM_MIN,
2399 CFG_SCAN_AGING_PARAM_MAX),
2400
2401 REG_VARIABLE(CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Krunal Sonia2c0e412017-05-04 14:12:41 +05302402 struct hdd_config, enable_tx_ldpc,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2404 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2405 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2406 CFG_TX_LDPC_ENABLE_FEATURE_MAX),
2407
Krunal Sonia2c0e412017-05-04 14:12:41 +05302408 REG_VARIABLE(CFG_ENABLE_RX_LDPC, WLAN_PARAM_Integer,
2409 struct hdd_config, enable_rx_ldpc,
2410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2411 CFG_ENABLE_RX_LDPC_DEFAULT,
2412 CFG_ENABLE_RX_LDPC_MIN,
2413 CFG_ENABLE_RX_LDPC_MAX),
2414
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002415 REG_VARIABLE(CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME,
2416 WLAN_PARAM_Integer,
2417 struct hdd_config, enableMCCAdaptiveScheduler,
2418 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2419 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2420 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2421 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX),
2422
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002423 REG_VARIABLE(CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
2424 struct hdd_config, AdHocChannel5G,
2425 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2426 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2427 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2428 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2429
2430 REG_VARIABLE(CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
2431 struct hdd_config, AdHocChannel24G,
2432 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2433 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2434 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2435 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2436
2437 REG_VARIABLE(CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
2438 struct hdd_config, enableTxBF,
2439 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2440 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2441 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2442 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX),
2443
Abhishek Singh68844282018-01-25 16:48:41 +05302444 REG_VARIABLE(CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE_NAME, WLAN_PARAM_Integer,
2445 struct hdd_config, enable_subfee_vendor_vhtie,
2446 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2447 CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE_DEFAULT,
2448 CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE_MIN,
2449 CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE_MAX),
2450
Kiran Kumar Lokere5302ab62015-12-16 16:03:16 -08002451 REG_VARIABLE(CFG_VHT_ENABLE_TXBF_SAP_MODE, WLAN_PARAM_Integer,
2452 struct hdd_config, enable_txbf_sap_mode,
2453 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2454 CFG_VHT_ENABLE_TXBF_SAP_MODE_DEFAULT,
2455 CFG_VHT_ENABLE_TXBF_SAP_MODE_MIN,
2456 CFG_VHT_ENABLE_TXBF_SAP_MODE_MAX),
2457
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002458 REG_VARIABLE(CFG_VHT_ENABLE_TXBF_IN_20MHZ, WLAN_PARAM_Integer,
2459 struct hdd_config, enableTxBFin20MHz,
2460 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2461 CFG_VHT_ENABLE_TXBF_IN_20MHZ_DEFAULT,
2462 CFG_VHT_ENABLE_TXBF_IN_20MHZ_MIN,
2463 CFG_VHT_ENABLE_TXBF_IN_20MHZ_MAX),
2464
2465 REG_VARIABLE(CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
2466 struct hdd_config, txBFCsnValue,
2467 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2468 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2469 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2470 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX),
2471
2472 REG_VARIABLE(CFG_VHT_ENABLE_TX_SU_BEAM_FORMER, WLAN_PARAM_Integer,
2473 struct hdd_config, enable_su_tx_bformer,
2474 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2475 CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_DEFAULT,
2476 CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_MIN,
2477 CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_MAX),
2478
2479 REG_VARIABLE(CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
2480 struct hdd_config, sapAllowAllChannel,
2481 VAR_FLAGS_OPTIONAL,
2482 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2483 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2484 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX),
2485
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002486 REG_VARIABLE(CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
2487 struct hdd_config, disableLDPCWithTxbfAP,
2488 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2489 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2490 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2491 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002492
2493 REG_DYNAMIC_VARIABLE(CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2494 struct hdd_config, enableSSR,
2495 VAR_FLAGS_OPTIONAL |
2496 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2497 CFG_ENABLE_SSR_DEFAULT,
2498 CFG_ENABLE_SSR_MIN,
2499 CFG_ENABLE_SSR_MAX,
2500 cb_notify_set_enable_ssr, 0),
2501
Poddar, Siddarth37033032017-10-11 15:47:40 +05302502 REG_VARIABLE(CFG_ENABLE_DATA_STALL_DETECTION, WLAN_PARAM_Integer,
2503 struct hdd_config, enable_data_stall_det,
2504 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2505 CFG_ENABLE_DATA_STALL_DETECTION_DEFAULT,
2506 CFG_ENABLE_DATA_STALL_DETECTION_MIN,
2507 CFG_ENABLE_DATA_STALL_DETECTION_MAX),
2508
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002509 REG_VARIABLE(CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2510 struct hdd_config, enableVhtFor24GHzBand,
2511 VAR_FLAGS_OPTIONAL,
2512 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2513 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2514 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002515
Kapil Gupta4b2efbb2016-10-03 13:07:20 +05302516
2517 REG_VARIABLE(CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2518 struct hdd_config, enable_sap_vendor_vht,
2519 VAR_FLAGS_OPTIONAL,
2520 CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_DEFAULT,
2521 CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_MIN,
2522 CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_MAX),
2523
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002524 REG_DYNAMIC_VARIABLE(CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY,
2525 WLAN_PARAM_Integer,
2526 struct hdd_config, bFastRoamInConIniFeatureEnabled,
2527 VAR_FLAGS_OPTIONAL |
2528 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2529 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2530 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2531 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2532 cb_notify_set_enable_fast_roam_in_concurrency, 0),
2533
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002534 REG_VARIABLE(CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer,
2535 struct hdd_config, fEnableSNRMonitoring,
2536 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2537 CFG_ENABLE_SNR_MONITORING_DEFAULT,
2538 CFG_ENABLE_SNR_MONITORING_MIN,
2539 CFG_ENABLE_SNR_MONITORING_MAX),
2540
2541#ifdef FEATURE_WLAN_SCAN_PNO
2542 REG_VARIABLE(CFG_PNO_SCAN_SUPPORT, WLAN_PARAM_Integer,
2543 struct hdd_config, configPNOScanSupport,
2544 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2545 CFG_PNO_SCAN_SUPPORT_DEFAULT,
2546 CFG_PNO_SCAN_SUPPORT_DISABLE,
2547 CFG_PNO_SCAN_SUPPORT_ENABLE),
2548
2549 REG_VARIABLE(CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer,
2550 struct hdd_config, configPNOScanTimerRepeatValue,
2551 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2552 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT,
2553 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
2554 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
Srinivas Girigowdabdc98162015-09-17 11:06:07 -07002555
2556 REG_VARIABLE(CFG_PNO_SLOW_SCAN_MULTIPLIER, WLAN_PARAM_Integer,
2557 struct hdd_config, pno_slow_scan_multiplier,
2558 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2559 CFG_PNO_SLOW_SCAN_MULTIPLIER_DEFAULT,
2560 CFG_PNO_SLOW_SCAN_MULTIPLIER_MIN,
2561 CFG_PNO_SLOW_SCAN_MULTIPLIER_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002562#endif
Jeff Johnson82cc76f2017-09-30 14:18:07 -07002563 REG_VARIABLE(CFG_MAX_AMSDU_NUM_NAME, WLAN_PARAM_Integer,
Deepak Dhamdhere612392c2016-08-28 02:56:51 -07002564 struct hdd_config, max_amsdu_num,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002565 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Deepak Dhamdhere612392c2016-08-28 02:56:51 -07002566 CFG_MAX_AMSDU_NUM_DEFAULT,
2567 CFG_MAX_AMSDU_NUM_MIN,
2568 CFG_MAX_AMSDU_NUM_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002569
2570 REG_VARIABLE(CFG_STRICT_5GHZ_PREF_BY_MARGIN, WLAN_PARAM_Integer,
2571 struct hdd_config, nSelect5GHzMargin,
2572 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2573 CFG_STRICT_5GHZ_PREF_BY_MARGIN_DEFAULT,
2574 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MIN,
2575 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MAX),
2576
2577 REG_VARIABLE(CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD, WLAN_PARAM_Integer,
2578 struct hdd_config, enable_ip_tcp_udp_checksum_offload,
2579 VAR_FLAGS_OPTIONAL,
2580 CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_DEFAULT,
2581 CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_DISABLE,
2582 CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_ENABLE),
2583
2584 REG_VARIABLE(CFG_POWERSAVE_OFFLOAD_NAME, WLAN_PARAM_Integer,
2585 struct hdd_config, enablePowersaveOffload,
2586 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2587 CFG_POWERSAVE_OFFLOAD_DEFAULT,
2588 CFG_POWERSAVE_OFFLOAD_MIN,
2589 CFG_POWERSAVE_OFFLOAD_MAX),
2590
2591 REG_VARIABLE(CFG_ENABLE_FW_UART_PRINT_NAME, WLAN_PARAM_Integer,
2592 struct hdd_config, enablefwprint,
2593 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2594 CFG_ENABLE_FW_UART_PRINT_DEFAULT,
2595 CFG_ENABLE_FW_UART_PRINT_DISABLE,
2596 CFG_ENABLE_FW_UART_PRINT_ENABLE),
2597
2598 REG_VARIABLE(CFG_ENABLE_FW_LOG_NAME, WLAN_PARAM_Integer,
Komal Seelamc11bb222016-01-27 18:57:10 +05302599 struct hdd_config, enable_fw_log,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002600 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2601 CFG_ENABLE_FW_LOG_DEFAULT,
2602 CFG_ENABLE_FW_LOG_DISABLE,
Yuanyuan Liu7a97b8f2017-01-27 10:42:52 -08002603 CFG_ENABLE_FW_LOG_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002604
2605#ifdef IPA_OFFLOAD
2606 REG_VARIABLE(CFG_IPA_OFFLOAD_CONFIG_NAME, WLAN_PARAM_HexInteger,
2607 struct hdd_config, IpaConfig,
2608 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2609 CFG_IPA_OFFLOAD_CONFIG_DEFAULT,
2610 CFG_IPA_OFFLOAD_CONFIG_MIN,
2611 CFG_IPA_OFFLOAD_CONFIG_MAX),
2612
2613 REG_VARIABLE(CFG_IPA_DESC_SIZE_NAME, WLAN_PARAM_Integer,
2614 struct hdd_config, IpaDescSize,
2615 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2616 CFG_IPA_DESC_SIZE_DEFAULT,
2617 CFG_IPA_DESC_SIZE_MIN,
2618 CFG_IPA_DESC_SIZE_MAX),
2619
2620 REG_VARIABLE(CFG_IPA_HIGH_BANDWIDTH_MBPS, WLAN_PARAM_Integer,
2621 struct hdd_config, IpaHighBandwidthMbps,
2622 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2623 CFG_IPA_HIGH_BANDWIDTH_MBPS_DEFAULT,
2624 CFG_IPA_HIGH_BANDWIDTH_MBPS_MIN,
2625 CFG_IPA_HIGH_BANDWIDTH_MBPS_MAX),
2626
2627 REG_VARIABLE(CFG_IPA_MEDIUM_BANDWIDTH_MBPS, WLAN_PARAM_Integer,
2628 struct hdd_config, IpaMediumBandwidthMbps,
2629 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2630 CFG_IPA_MEDIUM_BANDWIDTH_MBPS_DEFAULT,
2631 CFG_IPA_MEDIUM_BANDWIDTH_MBPS_MIN,
2632 CFG_IPA_MEDIUM_BANDWIDTH_MBPS_MAX),
2633
2634 REG_VARIABLE(CFG_IPA_LOW_BANDWIDTH_MBPS, WLAN_PARAM_Integer,
2635 struct hdd_config, IpaLowBandwidthMbps,
2636 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2637 CFG_IPA_LOW_BANDWIDTH_MBPS_DEFAULT,
2638 CFG_IPA_LOW_BANDWIDTH_MBPS_MIN,
2639 CFG_IPA_LOW_BANDWIDTH_MBPS_MAX),
2640#endif
2641
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002642 REG_VARIABLE(CFG_VHT_AMPDU_LEN_EXPONENT_NAME, WLAN_PARAM_Integer,
2643 struct hdd_config, fVhtAmpduLenExponent,
2644 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2645 CFG_VHT_AMPDU_LEN_EXPONENT_DEFAULT,
2646 CFG_VHT_AMPDU_LEN_EXPONENT_MIN,
2647 CFG_VHT_AMPDU_LEN_EXPONENT_MAX),
2648
2649 REG_VARIABLE(CFG_VHT_MPDU_LEN_NAME, WLAN_PARAM_Integer,
2650 struct hdd_config, vhtMpduLen,
2651 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2652 CFG_VHT_MPDU_LEN_DEFAULT,
2653 CFG_VHT_MPDU_LEN_MIN,
2654 CFG_VHT_MPDU_LEN_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002655
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002656 REG_VARIABLE(CFG_WOW_STATUS_NAME, WLAN_PARAM_Integer,
2657 struct hdd_config, wowEnable,
2658 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2659 CFG_WOW_STATUS_DEFAULT,
2660 CFG_WOW_ENABLE_MIN,
2661 CFG_WOW_ENABLE_MAX),
2662
2663 REG_VARIABLE(CFG_COALESING_IN_IBSS_NAME, WLAN_PARAM_Integer,
2664 struct hdd_config, isCoalesingInIBSSAllowed,
2665 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2666 CFG_COALESING_IN_IBSS_DEFAULT,
2667 CFG_COALESING_IN_IBSS_MIN,
2668 CFG_COALESING_IN_IBSS_MAX),
2669
2670 REG_VARIABLE(CFG_IBSS_ATIM_WIN_SIZE_NAME, WLAN_PARAM_Integer,
2671 struct hdd_config, ibssATIMWinSize,
2672 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2673 CFG_IBSS_ATIM_WIN_SIZE_DEFAULT,
2674 CFG_IBSS_ATIM_WIN_SIZE_MIN,
2675 CFG_IBSS_ATIM_WIN_SIZE_MAX),
2676
2677 REG_VARIABLE(CFG_SAP_MAX_NO_PEERS, WLAN_PARAM_Integer,
2678 struct hdd_config, maxNumberOfPeers,
2679 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2680 CFG_SAP_MAX_NO_PEERS_DEFAULT,
2681 CFG_SAP_MAX_NO_PEERS_MIN,
2682 CFG_SAP_MAX_NO_PEERS_MAX),
2683
2684 REG_VARIABLE(CFG_IBSS_IS_POWER_SAVE_ALLOWED_NAME, WLAN_PARAM_Integer,
2685 struct hdd_config, isIbssPowerSaveAllowed,
2686 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2687 CFG_IBSS_IS_POWER_SAVE_ALLOWED_DEFAULT,
2688 CFG_IBSS_IS_POWER_SAVE_ALLOWED_MIN,
2689 CFG_IBSS_IS_POWER_SAVE_ALLOWED_MAX),
2690
2691 REG_VARIABLE(CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_NAME,
2692 WLAN_PARAM_Integer,
2693 struct hdd_config, isIbssPowerCollapseAllowed,
2694 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2695 CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_DEFAULT,
2696 CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_MIN,
2697 CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_MAX),
2698
2699 REG_VARIABLE(CFG_IBSS_AWAKE_ON_TX_RX_NAME, WLAN_PARAM_Integer,
2700 struct hdd_config, isIbssAwakeOnTxRx,
2701 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2702 CFG_IBSS_AWAKE_ON_TX_RX_DEFAULT,
2703 CFG_IBSS_AWAKE_ON_TX_RX_MIN,
2704 CFG_IBSS_AWAKE_ON_TX_RX_MAX),
2705
2706 REG_VARIABLE(CFG_IBSS_INACTIVITY_TIME_NAME, WLAN_PARAM_Integer,
2707 struct hdd_config, ibssInactivityCount,
2708 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2709 CFG_IBSS_INACTIVITY_TIME_DEFAULT,
2710 CFG_IBSS_INACTIVITY_TIME_MIN,
2711 CFG_IBSS_INACTIVITY_TIME_MAX),
2712
2713 REG_VARIABLE(CFG_IBSS_TXSP_END_INACTIVITY_NAME, WLAN_PARAM_Integer,
2714 struct hdd_config, ibssTxSpEndInactivityTime,
2715 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2716 CFG_IBSS_TXSP_END_INACTIVITY_DEFAULT,
2717 CFG_IBSS_TXSP_END_INACTIVITY_MIN,
2718 CFG_IBSS_TXSP_END_INACTIVITY_MAX),
2719
2720 REG_VARIABLE(CFG_IBSS_PS_WARMUP_TIME_NAME, WLAN_PARAM_Integer,
2721 struct hdd_config, ibssPsWarmupTime,
2722 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2723 CFG_IBSS_PS_WARMUP_TIME_DEFAULT,
2724 CFG_IBSS_PS_WARMUP_TIME_MIN,
2725 CFG_IBSS_PS_WARMUP_TIME_MAX),
2726
2727 REG_VARIABLE(CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_NAME,
2728 WLAN_PARAM_Integer,
2729 struct hdd_config, ibssPs1RxChainInAtimEnable,
2730 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2731 CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_DEFAULT,
2732 CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MIN,
2733 CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MAX),
2734
2735 REG_VARIABLE(CFG_THERMAL_TEMP_MIN_LEVEL0_NAME, WLAN_PARAM_Integer,
2736 struct hdd_config, thermalTempMinLevel0,
2737 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2738 CFG_THERMAL_TEMP_MIN_LEVEL0_DEFAULT,
2739 CFG_THERMAL_TEMP_MIN_LEVEL0_MIN,
2740 CFG_THERMAL_TEMP_MIN_LEVEL0_MAX),
2741
2742 REG_VARIABLE(CFG_THERMAL_TEMP_MAX_LEVEL0_NAME, WLAN_PARAM_Integer,
2743 struct hdd_config, thermalTempMaxLevel0,
2744 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2745 CFG_THERMAL_TEMP_MAX_LEVEL0_DEFAULT,
2746 CFG_THERMAL_TEMP_MAX_LEVEL0_MIN,
2747 CFG_THERMAL_TEMP_MAX_LEVEL0_MAX),
2748
2749 REG_VARIABLE(CFG_THERMAL_TEMP_MIN_LEVEL1_NAME, WLAN_PARAM_Integer,
2750 struct hdd_config, thermalTempMinLevel1,
2751 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2752 CFG_THERMAL_TEMP_MIN_LEVEL1_DEFAULT,
2753 CFG_THERMAL_TEMP_MIN_LEVEL1_MIN,
2754 CFG_THERMAL_TEMP_MIN_LEVEL1_MAX),
2755
2756 REG_VARIABLE(CFG_THERMAL_TEMP_MAX_LEVEL1_NAME, WLAN_PARAM_Integer,
2757 struct hdd_config, thermalTempMaxLevel1,
2758 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2759 CFG_THERMAL_TEMP_MAX_LEVEL1_DEFAULT,
2760 CFG_THERMAL_TEMP_MAX_LEVEL1_MIN,
2761 CFG_THERMAL_TEMP_MAX_LEVEL1_MAX),
2762
2763 REG_VARIABLE(CFG_THERMAL_TEMP_MIN_LEVEL2_NAME, WLAN_PARAM_Integer,
2764 struct hdd_config, thermalTempMinLevel2,
2765 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2766 CFG_THERMAL_TEMP_MIN_LEVEL2_DEFAULT,
2767 CFG_THERMAL_TEMP_MIN_LEVEL2_MIN,
2768 CFG_THERMAL_TEMP_MIN_LEVEL2_MAX),
2769
2770 REG_VARIABLE(CFG_THERMAL_TEMP_MAX_LEVEL2_NAME, WLAN_PARAM_Integer,
2771 struct hdd_config, thermalTempMaxLevel2,
2772 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2773 CFG_THERMAL_TEMP_MAX_LEVEL2_DEFAULT,
2774 CFG_THERMAL_TEMP_MAX_LEVEL2_MIN,
2775 CFG_THERMAL_TEMP_MAX_LEVEL2_MAX),
2776
2777 REG_VARIABLE(CFG_THERMAL_TEMP_MIN_LEVEL3_NAME, WLAN_PARAM_Integer,
2778 struct hdd_config, thermalTempMinLevel3,
2779 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2780 CFG_THERMAL_TEMP_MIN_LEVEL3_DEFAULT,
2781 CFG_THERMAL_TEMP_MIN_LEVEL3_MIN,
2782 CFG_THERMAL_TEMP_MIN_LEVEL3_MAX),
2783
2784 REG_VARIABLE(CFG_THERMAL_TEMP_MAX_LEVEL3_NAME, WLAN_PARAM_Integer,
2785 struct hdd_config, thermalTempMaxLevel3,
2786 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2787 CFG_THERMAL_TEMP_MAX_LEVEL3_DEFAULT,
2788 CFG_THERMAL_TEMP_MAX_LEVEL3_MIN,
2789 CFG_THERMAL_TEMP_MAX_LEVEL3_MAX),
2790
2791 REG_VARIABLE(CFG_SET_TXPOWER_LIMIT2G_NAME, WLAN_PARAM_Integer,
2792 struct hdd_config, TxPower2g,
2793 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2794 CFG_SET_TXPOWER_LIMIT2G_DEFAULT,
2795 CFG_SET_TXPOWER_LIMIT2G_MIN,
2796 CFG_SET_TXPOWER_LIMIT2G_MAX),
2797
2798 REG_VARIABLE(CFG_SET_TXPOWER_LIMIT5G_NAME, WLAN_PARAM_Integer,
2799 struct hdd_config, TxPower5g,
2800 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2801 CFG_SET_TXPOWER_LIMIT5G_DEFAULT,
2802 CFG_SET_TXPOWER_LIMIT5G_MIN,
2803 CFG_SET_TXPOWER_LIMIT5G_MAX),
2804
2805 REG_VARIABLE(CFG_ENABLE_DEBUG_CONNECT_ISSUE, WLAN_PARAM_Integer,
2806 struct hdd_config, gEnableDebugLog,
2807 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2808 CFG_ENABLE_DEBUG_CONNECT_ISSUE_DEFAULT,
2809 CFG_ENABLE_DEBUG_CONNECT_ISSUE_MIN,
2810 CFG_ENABLE_DEBUG_CONNECT_ISSUE_MAX),
2811
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002812 REG_VARIABLE(CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_NAME,
2813 WLAN_PARAM_Integer,
2814 struct hdd_config, fDfsPhyerrFilterOffload,
2815 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2816 CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_DEFAULT,
2817 CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_MIN,
2818 CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_MAX),
2819
2820 REG_VARIABLE(CFG_ENABLE_OVERLAP_CH, WLAN_PARAM_Integer,
2821 struct hdd_config, gEnableOverLapCh,
2822 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2823 CFG_ENABLE_OVERLAP_CH_DEFAULT,
2824 CFG_ENABLE_OVERLAP_CH_MIN,
2825 CFG_ENABLE_OVERLAP_CH_MAX),
2826
2827 REG_VARIABLE(CFG_REG_CHANGE_DEF_COUNTRY_NAME, WLAN_PARAM_Integer,
2828 struct hdd_config, fRegChangeDefCountry,
2829 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2830 CFG_REG_CHANGE_DEF_COUNTRY_DEFAULT,
2831 CFG_REG_CHANGE_DEF_COUNTRY_MIN,
2832 CFG_REG_CHANGE_DEF_COUNTRY_MAX),
2833
gaoleze5108942017-03-31 16:56:42 +08002834 REG_VARIABLE(CFG_ACS_WITH_MORE_PARAM_NAME, WLAN_PARAM_Integer,
2835 struct hdd_config, acs_with_more_param,
2836 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2837 CFG_ACS_WITH_MORE_PARAM_DEFAULT,
2838 CFG_ACS_WITH_MORE_PARAM_MIN,
2839 CFG_ACS_WITH_MORE_PARAM_MAX),
2840
2841 REG_VARIABLE(CFG_AUTO_CHANNEL_SELECT_WEIGHT, WLAN_PARAM_HexInteger,
2842 struct hdd_config, auto_channel_select_weight,
2843 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2844 CFG_AUTO_CHANNEL_SELECT_WEIGHT_DEFAULT,
2845 CFG_AUTO_CHANNEL_SELECT_WEIGHT_MIN,
2846 CFG_AUTO_CHANNEL_SELECT_WEIGHT_MAX),
2847
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002848#ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL
2849 REG_VARIABLE(CFG_LL_TX_FLOW_LWM, WLAN_PARAM_Integer,
2850 struct hdd_config, TxFlowLowWaterMark,
2851 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2852 CFG_LL_TX_FLOW_LWM_DEFAULT,
2853 CFG_LL_TX_FLOW_LWM_MIN,
2854 CFG_LL_TX_FLOW_LWM_MAX),
2855 REG_VARIABLE(CFG_LL_TX_FLOW_HWM_OFFSET, WLAN_PARAM_Integer,
2856 struct hdd_config, TxFlowHighWaterMarkOffset,
2857 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2858 CFG_LL_TX_FLOW_HWM_OFFSET_DEFAULT,
2859 CFG_LL_TX_FLOW_HWM_OFFSET_MIN,
2860 CFG_LL_TX_FLOW_HWM_OFFSET_MAX),
2861 REG_VARIABLE(CFG_LL_TX_FLOW_MAX_Q_DEPTH, WLAN_PARAM_Integer,
2862 struct hdd_config, TxFlowMaxQueueDepth,
2863 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2864 CFG_LL_TX_FLOW_MAX_Q_DEPTH_DEFAULT,
2865 CFG_LL_TX_FLOW_MAX_Q_DEPTH_MIN,
2866 CFG_LL_TX_FLOW_MAX_Q_DEPTH_MAX),
2867 REG_VARIABLE(CFG_LL_TX_LBW_FLOW_LWM, WLAN_PARAM_Integer,
2868 struct hdd_config, TxLbwFlowLowWaterMark,
2869 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2870 CFG_LL_TX_LBW_FLOW_LWM_DEFAULT,
2871 CFG_LL_TX_LBW_FLOW_LWM_MIN,
2872 CFG_LL_TX_LBW_FLOW_LWM_MAX),
2873
2874 REG_VARIABLE(CFG_LL_TX_LBW_FLOW_HWM_OFFSET, WLAN_PARAM_Integer,
2875 struct hdd_config, TxLbwFlowHighWaterMarkOffset,
2876 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2877 CFG_LL_TX_LBW_FLOW_HWM_OFFSET_DEFAULT,
2878 CFG_LL_TX_LBW_FLOW_HWM_OFFSET_MIN,
2879 CFG_LL_TX_LBW_FLOW_HWM_OFFSET_MAX),
2880
2881 REG_VARIABLE(CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH, WLAN_PARAM_Integer,
2882 struct hdd_config, TxLbwFlowMaxQueueDepth,
2883 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2884 CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_DEFAULT,
2885 CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_MIN,
2886 CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_MAX),
2887
2888 REG_VARIABLE(CFG_LL_TX_HBW_FLOW_LWM, WLAN_PARAM_Integer,
2889 struct hdd_config, TxHbwFlowLowWaterMark,
2890 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2891 CFG_LL_TX_HBW_FLOW_LWM_DEFAULT,
2892 CFG_LL_TX_HBW_FLOW_LWM_MIN,
2893 CFG_LL_TX_HBW_FLOW_LWM_MAX),
2894
2895 REG_VARIABLE(CFG_LL_TX_HBW_FLOW_HWM_OFFSET, WLAN_PARAM_Integer,
2896 struct hdd_config, TxHbwFlowHighWaterMarkOffset,
2897 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2898 CFG_LL_TX_HBW_FLOW_HWM_OFFSET_DEFAULT,
2899 CFG_LL_TX_HBW_FLOW_HWM_OFFSET_MIN,
2900 CFG_LL_TX_HBW_FLOW_HWM_OFFSET_MAX),
2901
2902 REG_VARIABLE(CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH, WLAN_PARAM_Integer,
2903 struct hdd_config, TxHbwFlowMaxQueueDepth,
2904 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2905 CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_DEFAULT,
2906 CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_MIN,
2907 CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_MAX),
2908#endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */
2909#ifdef QCA_LL_TX_FLOW_CONTROL_V2
2910
2911 REG_VARIABLE(CFG_LL_TX_FLOW_STOP_QUEUE_TH, WLAN_PARAM_Integer,
2912 struct hdd_config, TxFlowStopQueueThreshold,
2913 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2914 CFG_LL_TX_FLOW_STOP_QUEUE_TH_DEFAULT,
2915 CFG_LL_TX_FLOW_STOP_QUEUE_TH_MIN,
2916 CFG_LL_TX_FLOW_STOP_QUEUE_TH_MAX),
2917
2918 REG_VARIABLE(CFG_LL_TX_FLOW_START_QUEUE_OFFSET, WLAN_PARAM_Integer,
2919 struct hdd_config, TxFlowStartQueueOffset,
2920 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2921 CFG_LL_TX_FLOW_START_QUEUE_OFFSET_DEFAULT,
2922 CFG_LL_TX_FLOW_START_QUEUE_OFFSET_MIN,
2923 CFG_LL_TX_FLOW_START_QUEUE_OFFSET_MAX),
2924
2925#endif
2926 REG_VARIABLE(CFG_INITIAL_DWELL_TIME_NAME, WLAN_PARAM_Integer,
2927 struct hdd_config, nInitialDwellTime,
2928 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2929 CFG_INITIAL_DWELL_TIME_DEFAULT,
2930 CFG_INITIAL_DWELL_TIME_MIN,
2931 CFG_INITIAL_DWELL_TIME_MAX),
2932
2933 REG_VARIABLE(CFG_INITIAL_SCAN_NO_DFS_CHNL_NAME, WLAN_PARAM_Integer,
2934 struct hdd_config, initial_scan_no_dfs_chnl,
2935 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2936 CFG_INITIAL_SCAN_NO_DFS_CHNL_DEFAULT,
2937 CFG_INITIAL_SCAN_NO_DFS_CHNL_MIN,
2938 CFG_INITIAL_SCAN_NO_DFS_CHNL_MAX),
2939
2940 REG_VARIABLE(CFG_SAP_MAX_OFFLOAD_PEERS, WLAN_PARAM_Integer,
2941 struct hdd_config, apMaxOffloadPeers,
2942 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2943 CFG_SAP_MAX_OFFLOAD_PEERS_DEFAULT,
2944 CFG_SAP_MAX_OFFLOAD_PEERS_MIN,
2945 CFG_SAP_MAX_OFFLOAD_PEERS_MAX),
2946
2947 REG_VARIABLE(CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS, WLAN_PARAM_Integer,
2948 struct hdd_config, apMaxOffloadReorderBuffs,
2949 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2950 CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_DEFAULT,
2951 CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_MIN,
2952 CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_MAX),
2953
2954 REG_VARIABLE(CFG_ADVERTISE_CONCURRENT_OPERATION_NAME,
2955 WLAN_PARAM_Integer,
2956 struct hdd_config, advertiseConcurrentOperation,
2957 VAR_FLAGS_OPTIONAL,
2958 CFG_ADVERTISE_CONCURRENT_OPERATION_DEFAULT,
2959 CFG_ADVERTISE_CONCURRENT_OPERATION_MIN,
2960 CFG_ADVERTISE_CONCURRENT_OPERATION_MAX),
2961
2962 REG_VARIABLE(CFG_ENABLE_MEMORY_DEEP_SLEEP, WLAN_PARAM_Integer,
2963 struct hdd_config, enableMemDeepSleep,
2964 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2965 CFG_ENABLE_MEMORY_DEEP_SLEEP_DEFAULT,
2966 CFG_ENABLE_MEMORY_DEEP_SLEEP_MIN,
2967 CFG_ENABLE_MEMORY_DEEP_SLEEP_MAX),
2968
Dustin Brown732ab9c2017-06-15 13:24:09 -07002969 REG_VARIABLE(CFG_ENABLE_CCK_TX_FIR_OVERRIDE_NAME, WLAN_PARAM_Integer,
2970 struct hdd_config, enable_cck_tx_fir_override,
2971 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2972 CFG_ENABLE_CCK_TX_FIR_OVERRIDE_DEFAULT,
2973 CFG_ENABLE_CCK_TX_FIR_OVERRIDE_MIN,
2974 CFG_ENABLE_CCK_TX_FIR_OVERRIDE_MAX),
2975
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002976 REG_VARIABLE(CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_NAME, WLAN_PARAM_Integer,
2977 struct hdd_config, debugP2pRemainOnChannel,
2978 VAR_FLAGS_OPTIONAL,
2979 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_DEFAULT,
2980 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MIN,
2981 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MAX),
2982
2983 REG_VARIABLE(CFG_ENABLE_PACKET_LOG, WLAN_PARAM_Integer,
2984 struct hdd_config, enablePacketLog,
2985 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2986 CFG_ENABLE_PACKET_LOG_DEFAULT,
2987 CFG_ENABLE_PACKET_LOG_MIN,
2988 CFG_ENABLE_PACKET_LOG_MAX),
2989
2990#ifdef WLAN_FEATURE_ROAM_OFFLOAD
2991 REG_VARIABLE(CFG_ROAMING_OFFLOAD_NAME, WLAN_PARAM_Integer,
2992 struct hdd_config, isRoamOffloadEnabled,
2993 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2994 CFG_ROAMING_OFFLOAD_DEFAULT,
2995 CFG_ROAMING_OFFLOAD_MIN,
2996 CFG_ROAMING_OFFLOAD_MAX),
2997#endif
2998#ifdef MSM_PLATFORM
2999 REG_VARIABLE(CFG_BUS_BANDWIDTH_HIGH_THRESHOLD, WLAN_PARAM_Integer,
3000 struct hdd_config, busBandwidthHighThreshold,
3001 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3002 CFG_BUS_BANDWIDTH_HIGH_THRESHOLD_DEFAULT,
3003 CFG_BUS_BANDWIDTH_HIGH_THRESHOLD_MIN,
3004 CFG_BUS_BANDWIDTH_HIGH_THRESHOLD_MAX),
3005
3006 REG_VARIABLE(CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD, WLAN_PARAM_Integer,
3007 struct hdd_config, busBandwidthMediumThreshold,
3008 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3009 CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD_DEFAULT,
3010 CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD_MIN,
3011 CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD_MAX),
3012
3013 REG_VARIABLE(CFG_BUS_BANDWIDTH_LOW_THRESHOLD, WLAN_PARAM_Integer,
3014 struct hdd_config, busBandwidthLowThreshold,
3015 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3016 CFG_BUS_BANDWIDTH_LOW_THRESHOLD_DEFAULT,
3017 CFG_BUS_BANDWIDTH_LOW_THRESHOLD_MIN,
3018 CFG_BUS_BANDWIDTH_LOW_THRESHOLD_MAX),
3019
3020 REG_VARIABLE(CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL, WLAN_PARAM_Integer,
3021 struct hdd_config, busBandwidthComputeInterval,
3022 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3023 CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_DEFAULT,
3024 CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MIN,
3025 CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MAX),
Ravi Joshie2331e82015-07-01 18:18:54 -07003026
Prakash Manjunathappae73e3b52018-02-27 18:56:22 -08003027 REG_VARIABLE(CFG_ENABLE_TCP_LIMIT_OUTPUT, WLAN_PARAM_Integer,
3028 struct hdd_config, enable_tcp_limit_output,
3029 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3030 CFG_ENABLE_TCP_LIMIT_OUTPUT_DEFAULT,
3031 CFG_ENABLE_TCP_LIMIT_OUTPUT_MIN,
3032 CFG_ENABLE_TCP_LIMIT_OUTPUT_MAX),
3033
Mohit Khanna6272fb682017-04-13 09:34:36 -07003034 REG_VARIABLE(CFG_ENABLE_TCP_ADV_WIN_SCALE, WLAN_PARAM_Integer,
3035 struct hdd_config, enable_tcp_adv_win_scale,
3036 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3037 CFG_ENABLE_TCP_ADV_WIN_SCALE_DEFAULT,
3038 CFG_ENABLE_TCP_ADV_WIN_SCALE_MIN,
3039 CFG_ENABLE_TCP_ADV_WIN_SCALE_MAX),
3040
Ravi Joshie2331e82015-07-01 18:18:54 -07003041 REG_VARIABLE(CFG_ENABLE_TCP_DELACK, WLAN_PARAM_Integer,
3042 struct hdd_config, enable_tcp_delack,
3043 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3044 CFG_ENABLE_TCP_DELACK_DEFAULT,
3045 CFG_ENABLE_TCP_DELACK_MIN,
3046 CFG_ENABLE_TCP_DELACK_MAX),
3047
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003048 REG_VARIABLE(CFG_TCP_DELACK_THRESHOLD_HIGH, WLAN_PARAM_Integer,
3049 struct hdd_config, tcpDelackThresholdHigh,
3050 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3051 CFG_TCP_DELACK_THRESHOLD_HIGH_DEFAULT,
3052 CFG_TCP_DELACK_THRESHOLD_HIGH_MIN,
3053 CFG_TCP_DELACK_THRESHOLD_HIGH_MAX),
Ravi Joshie2331e82015-07-01 18:18:54 -07003054
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003055 REG_VARIABLE(CFG_TCP_DELACK_THRESHOLD_LOW, WLAN_PARAM_Integer,
3056 struct hdd_config, tcpDelackThresholdLow,
3057 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3058 CFG_TCP_DELACK_THRESHOLD_LOW_DEFAULT,
3059 CFG_TCP_DELACK_THRESHOLD_LOW_MIN,
3060 CFG_TCP_DELACK_THRESHOLD_LOW_MAX),
Mohit Khannae71e2262015-11-10 09:37:24 -08003061
Ravi Joshib89e7f72016-09-07 13:43:15 -07003062 REG_VARIABLE(CFG_TCP_DELACK_TIMER_COUNT, WLAN_PARAM_Integer,
3063 struct hdd_config, tcp_delack_timer_count,
3064 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3065 CFG_TCP_DELACK_TIMER_COUNT_DEFAULT,
3066 CFG_TCP_DELACK_TIMER_COUNT_MIN,
3067 CFG_TCP_DELACK_TIMER_COUNT_MAX),
Mohit Khannae71e2262015-11-10 09:37:24 -08003068
Ravi Joshib89e7f72016-09-07 13:43:15 -07003069 REG_VARIABLE(CFG_TCP_TX_HIGH_TPUT_THRESHOLD_NAME, WLAN_PARAM_Integer,
3070 struct hdd_config, tcp_tx_high_tput_thres,
3071 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3072 CFG_TCP_TX_HIGH_TPUT_THRESHOLD_DEFAULT,
3073 CFG_TCP_TX_HIGH_TPUT_THRESHOLD_MIN,
3074 CFG_TCP_TX_HIGH_TPUT_THRESHOLD_MAX),
Mohit Khannaca4173b2017-09-12 21:52:19 -07003075 REG_VARIABLE(CFG_PERIODIC_STATS_DISPLAY_TIME_NAME, WLAN_PARAM_Integer,
3076 struct hdd_config, periodic_stats_disp_time,
3077 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3078 CFG_PERIODIC_STATS_DISPLAY_TIME_DEFAULT,
3079 CFG_PERIODIC_STATS_DISPLAY_TIME_MIN,
3080 CFG_PERIODIC_STATS_DISPLAY_TIME_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003081#endif
3082
3083 REG_VARIABLE(CFG_ENABLE_FW_LOG_TYPE, WLAN_PARAM_Integer,
3084 struct hdd_config, enableFwLogType,
3085 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3086 CFG_ENABLE_FW_LOG_TYPE_DEFAULT,
3087 CFG_ENABLE_FW_LOG_TYPE_MIN,
3088 CFG_ENABLE_FW_LOG_TYPE_MAX),
3089
3090 REG_VARIABLE(CFG_ENABLE_FW_DEBUG_LOG_LEVEL, WLAN_PARAM_Integer,
3091 struct hdd_config, enableFwLogLevel,
3092 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3093 CFG_ENABLE_FW_DEBUG_LOG_LEVEL_DEFAULT,
3094 CFG_ENABLE_FW_DEBUG_LOG_LEVEL_MIN,
3095 CFG_ENABLE_FW_DEBUG_LOG_LEVEL_MAX),
3096
Rajeev Kumar Sirasanagandla0be56df2016-09-08 19:19:47 +05303097 REG_VARIABLE(CFG_ENABLE_FW_RTS_PROFILE, WLAN_PARAM_Integer,
3098 struct hdd_config, rts_profile,
3099 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3100 CFG_ENABLE_FW_RTS_PROFILE_DEFAULT,
3101 CFG_ENABLE_FW_RTS_PROFILE_MIN,
3102 CFG_ENABLE_FW_RTS_PROFILE_MAX),
3103
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003104 REG_VARIABLE_STRING(CFG_ENABLE_FW_MODULE_LOG_LEVEL, WLAN_PARAM_String,
3105 struct hdd_config, enableFwModuleLogLevel,
3106 VAR_FLAGS_OPTIONAL,
3107 (void *)CFG_ENABLE_FW_MODULE_LOG_DEFAULT),
3108
Sourav Mohapatra57006c72017-11-19 16:15:55 +05303109 REG_VARIABLE_STRING(CFG_ENABLE_CONCURRENT_STA, WLAN_PARAM_String,
3110 struct hdd_config, enableConcurrentSTA,
3111 VAR_FLAGS_NONE,
3112 (void *)CFG_ENABLE_CONCURRENT_STA_DEFAULT),
3113
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003114#ifdef WLAN_FEATURE_11W
3115 REG_VARIABLE(CFG_PMF_SA_QUERY_MAX_RETRIES_NAME, WLAN_PARAM_Integer,
3116 struct hdd_config, pmfSaQueryMaxRetries,
3117 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3118 CFG_PMF_SA_QUERY_MAX_RETRIES_DEFAULT,
3119 CFG_PMF_SA_QUERY_MAX_RETRIES_MIN,
3120 CFG_PMF_SA_QUERY_MAX_RETRIES_MAX),
3121
3122 REG_VARIABLE(CFG_PMF_SA_QUERY_RETRY_INTERVAL_NAME, WLAN_PARAM_Integer,
3123 struct hdd_config, pmfSaQueryRetryInterval,
3124 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3125 CFG_PMF_SA_QUERY_RETRY_INTERVAL_DEFAULT,
3126 CFG_PMF_SA_QUERY_RETRY_INTERVAL_MIN,
3127 CFG_PMF_SA_QUERY_RETRY_INTERVAL_MAX),
3128#endif
3129 REG_VARIABLE(CFG_MAX_CONCURRENT_CONNECTIONS_NAME, WLAN_PARAM_Integer,
3130 struct hdd_config, gMaxConcurrentActiveSessions,
3131 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3132 CFG_MAX_CONCURRENT_CONNECTIONS_DEFAULT,
3133 CFG_MAX_CONCURRENT_CONNECTIONS_MIN,
3134 CFG_MAX_CONCURRENT_CONNECTIONS_MAX),
3135
SaidiReddy Yenugacc733af2016-11-09 17:45:42 +05303136 REG_VARIABLE(CFG_ENABLE_CRASH_INJECT, WLAN_PARAM_Integer,
3137 struct hdd_config, crash_inject_enabled,
3138 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3139 CFG_ENABLE_CRASH_INJECT_DEFAULT,
3140 CFG_ENABLE_CRASH_INJECT_MIN,
3141 CFG_ENABLE_CRASH_INJECT_MAX),
3142
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003143 REG_VARIABLE(CFG_IGNORE_CAC_NAME, WLAN_PARAM_Integer,
3144 struct hdd_config, ignoreCAC,
3145 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3146 CFG_IGNORE_CAC_DEFAULT,
3147 CFG_IGNORE_CAC_MIN,
3148 CFG_IGNORE_CAC_MAX),
3149
3150 REG_VARIABLE(CFG_ENABLE_SAP_DFS_CH_SIFS_BURST_NAME, WLAN_PARAM_Integer,
3151 struct hdd_config, IsSapDfsChSifsBurstEnabled,
3152 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3153 CFG_ENABLE_SAP_DFS_CH_SIFS_BURST_DEFAULT,
3154 CFG_ENABLE_SAP_DFS_CH_SIFS_BURST_MIN,
3155 CFG_ENABLE_SAP_DFS_CH_SIFS_BURST_MAX),
3156
3157 REG_VARIABLE(CFG_DFS_RADAR_PRI_MULTIPLIER_NAME, WLAN_PARAM_Integer,
3158 struct hdd_config, dfsRadarPriMultiplier,
3159 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3160 CFG_DFS_RADAR_PRI_MULTIPLIER_DEFAULT,
3161 CFG_DFS_RADAR_PRI_MULTIPLIER_MIN,
3162 CFG_DFS_RADAR_PRI_MULTIPLIER_MAX),
3163
3164 REG_VARIABLE(CFG_REORDER_OFFLOAD_SUPPORT_NAME, WLAN_PARAM_Integer,
3165 struct hdd_config, reorderOffloadSupport,
3166 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3167 CFG_REORDER_OFFLOAD_SUPPORT_DEFAULT,
3168 CFG_REORDER_OFFLOAD_SUPPORT_MIN,
3169 CFG_REORDER_OFFLOAD_SUPPORT_MAX),
3170
3171 REG_VARIABLE(CFG_IPA_UC_TX_BUF_COUNT_NAME, WLAN_PARAM_Integer,
3172 struct hdd_config, IpaUcTxBufCount,
3173 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3174 CFG_IPA_UC_TX_BUF_COUNT_DEFAULT,
3175 CFG_IPA_UC_TX_BUF_COUNT_MIN,
3176 CFG_IPA_UC_TX_BUF_COUNT_MAX),
3177
3178 REG_VARIABLE(CFG_IPA_UC_TX_BUF_SIZE_NAME, WLAN_PARAM_Integer,
3179 struct hdd_config, IpaUcTxBufSize,
3180 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3181 CFG_IPA_UC_TX_BUF_SIZE_DEFAULT,
3182 CFG_IPA_UC_TX_BUF_SIZE_MIN,
3183 CFG_IPA_UC_TX_BUF_SIZE_MAX),
3184
3185 REG_VARIABLE(CFG_IPA_UC_RX_IND_RING_COUNT_NAME, WLAN_PARAM_Integer,
3186 struct hdd_config, IpaUcRxIndRingCount,
3187 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3188 CFG_IPA_UC_RX_IND_RING_COUNT_DEFAULT,
3189 CFG_IPA_UC_RX_IND_RING_COUNT_MIN,
3190 CFG_IPA_UC_RX_IND_RING_COUNT_MAX),
3191
3192 REG_VARIABLE(CFG_IPA_UC_TX_PARTITION_BASE_NAME, WLAN_PARAM_Integer,
3193 struct hdd_config, IpaUcTxPartitionBase,
3194 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3195 CFG_IPA_UC_TX_PARTITION_BASE_DEFAULT,
3196 CFG_IPA_UC_TX_PARTITION_BASE_MIN,
3197 CFG_IPA_UC_TX_PARTITION_BASE_MAX),
3198#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
3199 REG_VARIABLE(CFG_WLAN_LOGGING_SUPPORT_NAME, WLAN_PARAM_Integer,
Nirav Shaheb017be2018-02-15 11:20:58 +05303200 struct hdd_config, wlan_logging_enable,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003201 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3202 CFG_WLAN_LOGGING_SUPPORT_DEFAULT,
3203 CFG_WLAN_LOGGING_SUPPORT_DISABLE,
3204 CFG_WLAN_LOGGING_SUPPORT_ENABLE),
3205
Srinivas Girigowda8187e792017-03-03 11:50:59 -08003206 REG_VARIABLE(CFG_WLAN_LOGGING_CONSOLE_SUPPORT_NAME,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003207 WLAN_PARAM_Integer,
Nirav Shaheb017be2018-02-15 11:20:58 +05303208 struct hdd_config, wlan_logging_to_console,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003209 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Srinivas Girigowda8187e792017-03-03 11:50:59 -08003210 CFG_WLAN_LOGGING_CONSOLE_SUPPORT_DEFAULT,
3211 CFG_WLAN_LOGGING_CONSOLE_SUPPORT_DISABLE,
3212 CFG_WLAN_LOGGING_CONSOLE_SUPPORT_ENABLE),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003213#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
3214
3215 REG_VARIABLE(CFG_ENABLE_SIFS_BURST, WLAN_PARAM_Integer,
3216 struct hdd_config, enableSifsBurst,
3217 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3218 CFG_ENABLE_SIFS_BURST_DEFAULT,
3219 CFG_ENABLE_SIFS_BURST_MIN,
3220 CFG_ENABLE_SIFS_BURST_MAX),
3221
3222#ifdef WLAN_FEATURE_LPSS
3223 REG_VARIABLE(CFG_ENABLE_LPASS_SUPPORT, WLAN_PARAM_Integer,
Komal Seelamc11bb222016-01-27 18:57:10 +05303224 struct hdd_config, enable_lpass_support,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003225 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3226 CFG_ENABLE_LPASS_SUPPORT_DEFAULT,
3227 CFG_ENABLE_LPASS_SUPPORT_MIN,
3228 CFG_ENABLE_LPASS_SUPPORT_MAX),
3229#endif
3230
3231#ifdef WLAN_FEATURE_NAN
3232 REG_VARIABLE(CFG_ENABLE_NAN_SUPPORT, WLAN_PARAM_Integer,
3233 struct hdd_config, enable_nan_support,
3234 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3235 CFG_ENABLE_NAN_SUPPORT_DEFAULT,
3236 CFG_ENABLE_NAN_SUPPORT_MIN,
3237 CFG_ENABLE_NAN_SUPPORT_MAX),
3238#endif
3239
3240 REG_VARIABLE(CFG_ENABLE_SELF_RECOVERY, WLAN_PARAM_Integer,
3241 struct hdd_config, enableSelfRecovery,
3242 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3243 CFG_ENABLE_SELF_RECOVERY_DEFAULT,
3244 CFG_ENABLE_SELF_RECOVERY_MIN,
3245 CFG_ENABLE_SELF_RECOVERY_MAX),
3246
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003247 REG_VARIABLE(CFG_ENABLE_SAP_SUSPEND, WLAN_PARAM_Integer,
Jeff Johnson60cbd2d2017-11-03 18:26:28 -07003248 struct hdd_config, enable_sap_suspend,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003249 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3250 CFG_ENABLE_SAP_SUSPEND_DEFAULT,
3251 CFG_ENABLE_SAP_SUSPEND_MIN,
3252 CFG_ENABLE_SAP_SUSPEND_MAX),
3253
3254#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
3255 REG_VARIABLE(CFG_EXTWOW_GO_TO_SUSPEND, WLAN_PARAM_Integer,
3256 struct hdd_config, extWowGotoSuspend,
3257 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3258 CFG_EXTWOW_GO_TO_SUSPEND_DEFAULT,
3259 CFG_EXTWOW_GO_TO_SUSPEND_MIN,
3260 CFG_EXTWOW_GO_TO_SUSPEND_MAX),
3261
3262 REG_VARIABLE(CFG_EXTWOW_APP1_WAKE_PIN_NUMBER, WLAN_PARAM_Integer,
3263 struct hdd_config, extWowApp1WakeupPinNumber,
3264 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3265 CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_DEFAULT,
3266 CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_MIN,
3267 CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_MAX),
3268
3269 REG_VARIABLE(CFG_EXTWOW_APP2_WAKE_PIN_NUMBER, WLAN_PARAM_Integer,
3270 struct hdd_config, extWowApp2WakeupPinNumber,
3271 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3272 CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_DEFAULT,
3273 CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_MIN,
3274 CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_MAX),
3275
3276 REG_VARIABLE(CFG_EXTWOW_KA_INIT_PING_INTERVAL, WLAN_PARAM_Integer,
3277 struct hdd_config, extWowApp2KAInitPingInterval,
3278 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3279 CFG_EXTWOW_KA_INIT_PING_INTERVAL_DEFAULT,
3280 CFG_EXTWOW_KA_INIT_PING_INTERVAL_MIN,
3281 CFG_EXTWOW_KA_INIT_PING_INTERVAL_MAX),
3282
3283 REG_VARIABLE(CFG_EXTWOW_KA_MIN_PING_INTERVAL, WLAN_PARAM_Integer,
3284 struct hdd_config, extWowApp2KAMinPingInterval,
3285 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3286 CFG_EXTWOW_KA_MIN_PING_INTERVAL_DEFAULT,
3287 CFG_EXTWOW_KA_MIN_PING_INTERVAL_MIN,
3288 CFG_EXTWOW_KA_MIN_PING_INTERVAL_MAX),
3289
3290 REG_VARIABLE(CFG_EXTWOW_KA_MAX_PING_INTERVAL, WLAN_PARAM_Integer,
3291 struct hdd_config, extWowApp2KAMaxPingInterval,
3292 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3293 CFG_EXTWOW_KA_MAX_PING_INTERVAL_DEFAULT,
3294 CFG_EXTWOW_KA_MAX_PING_INTERVAL_MIN,
3295 CFG_EXTWOW_KA_MAX_PING_INTERVAL_MAX),
3296
3297 REG_VARIABLE(CFG_EXTWOW_KA_INC_PING_INTERVAL, WLAN_PARAM_Integer,
3298 struct hdd_config, extWowApp2KAIncPingInterval,
3299 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3300 CFG_EXTWOW_KA_INC_PING_INTERVAL_DEFAULT,
3301 CFG_EXTWOW_KA_INC_PING_INTERVAL_MIN,
3302 CFG_EXTWOW_KA_INC_PING_INTERVAL_MAX),
3303
3304 REG_VARIABLE(CFG_EXTWOW_TCP_SRC_PORT, WLAN_PARAM_Integer,
3305 struct hdd_config, extWowApp2TcpSrcPort,
3306 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3307 CFG_EXTWOW_TCP_SRC_PORT_DEFAULT,
3308 CFG_EXTWOW_TCP_SRC_PORT_MIN,
3309 CFG_EXTWOW_TCP_SRC_PORT_MAX),
3310
3311 REG_VARIABLE(CFG_EXTWOW_TCP_DST_PORT, WLAN_PARAM_Integer,
3312 struct hdd_config, extWowApp2TcpDstPort,
3313 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3314 CFG_EXTWOW_TCP_DST_PORT_DEFAULT,
3315 CFG_EXTWOW_TCP_DST_PORT_MIN,
3316 CFG_EXTWOW_TCP_DST_PORT_MAX),
3317
3318 REG_VARIABLE(CFG_EXTWOW_TCP_TX_TIMEOUT, WLAN_PARAM_Integer,
3319 struct hdd_config, extWowApp2TcpTxTimeout,
3320 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3321 CFG_EXTWOW_TCP_TX_TIMEOUT_DEFAULT,
3322 CFG_EXTWOW_TCP_TX_TIMEOUT_MIN,
3323 CFG_EXTWOW_TCP_TX_TIMEOUT_MAX),
3324
3325 REG_VARIABLE(CFG_EXTWOW_TCP_RX_TIMEOUT, WLAN_PARAM_Integer,
3326 struct hdd_config, extWowApp2TcpRxTimeout,
3327 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3328 CFG_EXTWOW_TCP_RX_TIMEOUT_DEFAULT,
3329 CFG_EXTWOW_TCP_RX_TIMEOUT_MIN,
3330 CFG_EXTWOW_TCP_RX_TIMEOUT_MAX),
3331#endif
3332 REG_VARIABLE(CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_NAME, WLAN_PARAM_Integer,
3333 struct hdd_config, gEnableDeauthToDisassocMap,
3334 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3335 CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_DEFAULT,
3336 CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_MIN,
3337 CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_MAX),
3338#ifdef DHCP_SERVER_OFFLOAD
3339 REG_VARIABLE(CFG_DHCP_SERVER_OFFLOAD_SUPPORT_NAME, WLAN_PARAM_Integer,
3340 struct hdd_config, enableDHCPServerOffload,
3341 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3342 CFG_DHCP_SERVER_OFFLOAD_SUPPORT_DEFAULT,
3343 CFG_DHCP_SERVER_OFFLOAD_SUPPORT_MIN,
3344 CFG_DHCP_SERVER_OFFLOAD_SUPPORT_MAX),
3345 REG_VARIABLE(CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_NAME,
3346 WLAN_PARAM_Integer,
3347 struct hdd_config, dhcpMaxNumClients,
3348 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3349 CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_DEFAULT,
3350 CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_MIN,
3351 CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_MAX),
3352 REG_VARIABLE_STRING(CFG_DHCP_SERVER_IP_NAME, WLAN_PARAM_String,
3353 struct hdd_config, dhcpServerIP,
3354 VAR_FLAGS_OPTIONAL,
3355 (void *)CFG_DHCP_SERVER_IP_DEFAULT),
3356#endif /* DHCP_SERVER_OFFLOAD */
3357
3358 REG_VARIABLE(CFG_ENABLE_DEAUTH_BEFORE_CONNECTION, WLAN_PARAM_Integer,
Jeff Johnson1ad3fbd2017-11-03 08:00:02 -07003359 struct hdd_config, send_deauth_before_con,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003360 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3361 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_DEFAULT,
3362 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MIN,
3363 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MAX),
3364
3365 REG_VARIABLE(CFG_ENABLE_MAC_ADDR_SPOOFING, WLAN_PARAM_Integer,
3366 struct hdd_config, enable_mac_spoofing,
3367 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3368 CFG_ENABLE_MAC_ADDR_SPOOFING_DEFAULT,
3369 CFG_ENABLE_MAC_ADDR_SPOOFING_MIN,
3370 CFG_ENABLE_MAC_ADDR_SPOOFING_MAX),
3371
3372 REG_VARIABLE(CFG_ENABLE_CUSTOM_CONC_RULE1_NAME, WLAN_PARAM_Integer,
3373 struct hdd_config, conc_custom_rule1,
3374 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3375 CFG_ENABLE_CUSTOM_CONC_RULE1_NAME_DEFAULT,
3376 CFG_ENABLE_CUSTOM_CONC_RULE1_NAME_MIN,
3377 CFG_ENABLE_CUSTOM_CONC_RULE1_NAME_MAX),
3378
3379 REG_VARIABLE(CFG_ENABLE_CUSTOM_CONC_RULE2_NAME, WLAN_PARAM_Integer,
3380 struct hdd_config, conc_custom_rule2,
3381 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3382 CFG_ENABLE_CUSTOM_CONC_RULE2_NAME_DEFAULT,
3383 CFG_ENABLE_CUSTOM_CONC_RULE2_NAME_MIN,
3384 CFG_ENABLE_CUSTOM_CONC_RULE2_NAME_MAX),
3385
3386 REG_VARIABLE(CFG_ENABLE_STA_CONNECTION_IN_5GHZ, WLAN_PARAM_Integer,
3387 struct hdd_config, is_sta_connection_in_5gz_enabled,
3388 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3389 CFG_ENABLE_STA_CONNECTION_IN_5GHZ_DEFAULT,
3390 CFG_ENABLE_STA_CONNECTION_IN_5GHZ_MIN,
3391 CFG_ENABLE_STA_CONNECTION_IN_5GHZ_MAX),
3392
3393 REG_VARIABLE(CFG_STA_MIRACAST_MCC_REST_TIME_VAL, WLAN_PARAM_Integer,
3394 struct hdd_config, sta_miracast_mcc_rest_time_val,
3395 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3396 CFG_STA_MIRACAST_MCC_REST_TIME_VAL_DEFAULT,
3397 CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MIN,
3398 CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MAX),
3399
3400#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
3401 REG_VARIABLE(CFG_SAP_MCC_CHANNEL_AVOIDANCE_NAME,
3402 WLAN_PARAM_Integer,
3403 struct hdd_config,
3404 sap_channel_avoidance,
3405 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3406 CFG_SAP_MCC_CHANNEL_AVOIDANCE_DEFAULT,
3407 CFG_SAP_MCC_CHANNEL_AVOIDANCE_MIN,
3408 CFG_SAP_MCC_CHANNEL_AVOIDANCE_MAX),
3409#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
3410
3411 REG_VARIABLE(CFG_SAP_P2P_11AC_OVERRIDE_NAME, WLAN_PARAM_Integer,
3412 struct hdd_config, sap_p2p_11ac_override,
3413 VAR_FLAGS_OPTIONAL |
3414 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3415 CFG_SAP_P2P_11AC_OVERRIDE_DEFAULT,
3416 CFG_SAP_P2P_11AC_OVERRIDE_MIN,
3417 CFG_SAP_P2P_11AC_OVERRIDE_MAX),
3418
3419 REG_VARIABLE(CFG_ENABLE_RAMDUMP_COLLECTION, WLAN_PARAM_Integer,
3420 struct hdd_config, is_ramdump_enabled,
3421 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3422 CFG_ENABLE_RAMDUMP_COLLECTION_DEFAULT,
3423 CFG_ENABLE_RAMDUMP_COLLECTION_MIN,
3424 CFG_ENABLE_RAMDUMP_COLLECTION_MAX),
3425
3426 REG_VARIABLE(CFG_SAP_DOT11MC, WLAN_PARAM_Integer,
3427 struct hdd_config, sap_dot11mc,
3428 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3429 CFG_SAP_DOT11MC_DEFAULT,
3430 CFG_SAP_DOT11MC_MIN,
3431 CFG_SAP_DOT11MC_MAX),
3432
3433 REG_VARIABLE(CFG_ENABLE_NON_DFS_CHAN_ON_RADAR, WLAN_PARAM_Integer,
3434 struct hdd_config, prefer_non_dfs_on_radar,
3435 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3436 CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_DEFAULT,
3437 CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MIN,
3438 CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MAX),
3439
Bala Venkateshf4928a42017-10-24 11:28:07 +05303440 REG_VARIABLE(CFG_P2P_LISTEN_DEFER_INTERVAL_NAME, WLAN_PARAM_Integer,
3441 struct hdd_config, p2p_listen_defer_interval,
3442 VAR_FLAGS_OPTIONAL |
3443 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3444 CFG_P2P_LISTEN_DEFER_INTERVAL_DEFAULT,
3445 CFG_P2P_LISTEN_DEFER_INTERVAL_MIN,
3446 CFG_P2P_LISTEN_DEFER_INTERVAL_MAX),
3447
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003448 REG_VARIABLE(CFG_MULTICAST_HOST_FW_MSGS, WLAN_PARAM_Integer,
3449 struct hdd_config, multicast_host_fw_msgs,
3450 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3451 CFG_MULTICAST_HOST_FW_MSGS_DEFAULT,
3452 CFG_MULTICAST_HOST_FW_MSGS_MIN,
3453 CFG_MULTICAST_HOST_FW_MSGS_MAX),
3454
3455 REG_VARIABLE(CFG_CONC_SYSTEM_PREF, WLAN_PARAM_Integer,
3456 struct hdd_config, conc_system_pref,
3457 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3458 CFG_CONC_SYSTEM_PREF_DEFAULT,
3459 CFG_CONC_SYSTEM_PREF_MIN,
3460 CFG_CONC_SYSTEM_PREF_MAX),
3461
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003462 REG_VARIABLE(CFG_TSO_ENABLED_NAME, WLAN_PARAM_Integer,
3463 struct hdd_config, tso_enable,
3464 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3465 CFG_TSO_ENABLED_DEFAULT,
3466 CFG_TSO_ENABLED_MIN,
3467 CFG_TSO_ENABLED_MAX),
3468
3469 REG_VARIABLE(CFG_LRO_ENABLED_NAME, WLAN_PARAM_Integer,
3470 struct hdd_config, lro_enable,
3471 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3472 CFG_LRO_ENABLED_DEFAULT,
3473 CFG_LRO_ENABLED_MIN,
3474 CFG_LRO_ENABLED_MAX),
3475
Rajeev Kumardd3bc602016-08-16 14:21:05 -07003476 REG_VARIABLE(CFG_BPF_PACKET_FILTER_OFFLOAD, WLAN_PARAM_Integer,
3477 struct hdd_config, bpf_packet_filter_enable,
3478 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3479 CFG_BPF_PACKET_FILTER_OFFLOAD_DEFAULT,
3480 CFG_BPF_PACKET_FILTER_OFFLOAD_MIN,
3481 CFG_BPF_PACKET_FILTER_OFFLOAD_MAX),
3482
Nitesh Shah61c10d92016-10-19 19:29:15 +05303483 REG_VARIABLE(CFG_TDLS_ENABLE_DEFER_TIMER, WLAN_PARAM_Integer,
3484 struct hdd_config, tdls_enable_defer_time,
3485 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3486 CFG_TDLS_ENABLE_DEFER_TIMER_DEFAULT,
3487 CFG_TDLS_ENABLE_DEFER_TIMER_MIN,
3488 CFG_TDLS_ENABLE_DEFER_TIMER_MAX),
3489
Manjunathappa Prakashfff753c2016-09-01 19:34:56 -07003490 REG_VARIABLE(CFG_FLOW_STEERING_ENABLED_NAME, WLAN_PARAM_Integer,
3491 struct hdd_config, flow_steering_enable,
3492 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3493 CFG_FLOW_STEERING_ENABLED_DEFAULT,
3494 CFG_FLOW_STEERING_ENABLED_MIN,
3495 CFG_FLOW_STEERING_ENABLED_MAX),
3496
Orhan K AKYILDIZ30e8cbc2017-08-11 18:00:28 -07003497 REG_VARIABLE(CFG_MAX_MSDUS_PER_RXIND_NAME, WLAN_PARAM_Integer,
3498 struct hdd_config, max_msdus_per_rxinorderind,
3499 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3500 CFG_MAX_MSDUS_PER_RXIND_DEFAULT,
3501 CFG_MAX_MSDUS_PER_RXIND_MIN,
3502 CFG_MAX_MSDUS_PER_RXIND_MAX),
3503
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003504 REG_VARIABLE(CFG_ACTIVE_MODE_OFFLOAD, WLAN_PARAM_Integer,
3505 struct hdd_config, active_mode_offload,
3506 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3507 CFG_ACTIVE_MODE_OFFLOAD_DEFAULT,
3508 CFG_ACTIVE_MODE_OFFLOAD_MIN,
3509 CFG_ACTIVE_MODE_OFFLOAD_MAX),
3510
3511 REG_VARIABLE(CFG_FINE_TIME_MEAS_CAPABILITY, WLAN_PARAM_HexInteger,
3512 struct hdd_config, fine_time_meas_cap,
3513 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3514 CFG_FINE_TIME_MEAS_CAPABILITY_DEFAULT,
3515 CFG_FINE_TIME_MEAS_CAPABILITY_MIN,
3516 CFG_FINE_TIME_MEAS_CAPABILITY_MAX),
3517
3518#ifdef WLAN_FEATURE_FASTPATH
3519 REG_VARIABLE(CFG_ENABLE_FASTPATH, WLAN_PARAM_Integer,
3520 struct hdd_config, fastpath_enable,
3521 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3522 CFG_ENABLE_FASTPATH_DEFAULT,
3523 CFG_ENABLE_FASTPATH_MIN,
3524 CFG_ENABLE_FASTPATH_MAX),
3525#endif
3526 REG_VARIABLE(CFG_MAX_SCAN_COUNT_NAME, WLAN_PARAM_Integer,
3527 struct hdd_config, max_scan_count,
3528 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3529 CFG_MAX_SCAN_COUNT_DEFAULT,
3530 CFG_MAX_SCAN_COUNT_MIN,
3531 CFG_MAX_SCAN_COUNT_MAX),
3532
3533 REG_VARIABLE(CFG_DOT11P_MODE_NAME, WLAN_PARAM_Integer,
3534 struct hdd_config, dot11p_mode,
3535 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3536 CFG_DOT11P_MODE_DEFAULT,
3537 CFG_DOT11P_MODE_MIN,
3538 CFG_DOT11P_MODE_MAX),
3539
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003540#ifdef FEATURE_WLAN_EXTSCAN
Manjeet Singh0f2ce5c2016-09-01 12:08:57 +05303541 REG_VARIABLE(CFG_EXTSCAN_ALLOWED_NAME, WLAN_PARAM_Integer,
3542 struct hdd_config, extscan_enabled,
3543 VAR_FLAGS_OPTIONAL |
3544 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3545 CFG_EXTSCAN_ALLOWED_DEF,
3546 CFG_EXTSCAN_ALLOWED_MIN,
3547 CFG_EXTSCAN_ALLOWED_MAX),
3548
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003549 REG_VARIABLE(CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_NAME,
3550 WLAN_PARAM_Integer,
3551 struct hdd_config, extscan_passive_max_chn_time,
3552 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3553 CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
3554 CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MIN,
3555 CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MAX),
3556
3557 REG_VARIABLE(CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_NAME,
3558 WLAN_PARAM_Integer,
3559 struct hdd_config, extscan_passive_min_chn_time,
3560 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3561 CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
3562 CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MIN,
3563 CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MAX),
3564
3565 REG_VARIABLE(CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_NAME,
3566 WLAN_PARAM_Integer,
3567 struct hdd_config, extscan_active_max_chn_time,
3568 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3569 CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
3570 CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MIN,
3571 CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MAX),
3572
3573 REG_VARIABLE(CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_NAME,
3574 WLAN_PARAM_Integer,
3575 struct hdd_config, extscan_active_min_chn_time,
3576 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3577 CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
3578 CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MIN,
3579 CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MAX),
3580#endif
3581
Yingying Tang95409972016-10-20 15:16:15 +08003582#ifdef WLAN_FEATURE_WOW_PULSE
3583 REG_VARIABLE(CFG_WOW_PULSE_SUPPORT_NAME, WLAN_PARAM_Integer,
3584 struct hdd_config, wow_pulse_support,
3585 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3586 CFG_WOW_PULSE_SUPPORT_DEFAULT,
3587 CFG_WOW_PULSE_SUPPORT_MIN,
3588 CFG_WOW_PULSE_SUPPORT_MAX),
3589
3590 REG_VARIABLE(CFG_WOW_PULSE_PIN_NAME, WLAN_PARAM_Integer,
3591 struct hdd_config, wow_pulse_pin,
3592 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3593 CFG_WOW_PULSE_PIN_DEFAULT,
3594 CFG_WOW_PULSE_PIN_MIN,
3595 CFG_WOW_PULSE_PIN_MAX),
3596
3597 REG_VARIABLE(CFG_WOW_PULSE_INTERVAL_LOW_NAME, WLAN_PARAM_Integer,
3598 struct hdd_config, wow_pulse_interval_low,
3599 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3600 CFG_WOW_PULSE_INTERVAL_LOW_DEFAULT,
3601 CFG_WOW_PULSE_INTERVAL_LOW_MIN,
3602 CFG_WOW_PULSE_INTERVAL_LOW_MAX),
3603
3604 REG_VARIABLE(CFG_WOW_PULSE_INTERVAL_HIGH_NAME, WLAN_PARAM_Integer,
3605 struct hdd_config, wow_pulse_interval_high,
3606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3607 CFG_WOW_PULSE_INTERVAL_HIGH_DEFAULT,
3608 CFG_WOW_PULSE_INTERVAL_HIGH_MIN,
3609 CFG_WOW_PULSE_INTERVAL_HIGH_MAX),
3610#endif
3611
3612
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003613 REG_VARIABLE(CFG_CE_CLASSIFY_ENABLE_NAME, WLAN_PARAM_Integer,
3614 struct hdd_config, ce_classify_enabled,
3615 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3616 CFG_CE_CLASSIFY_ENABLE_DEFAULT,
3617 CFG_CE_CLASSIFY_ENABLE_MIN,
3618 CFG_CE_CLASSIFY_ENABLE_MAX),
3619
3620 REG_VARIABLE(CFG_DUAL_MAC_FEATURE_DISABLE, WLAN_PARAM_HexInteger,
3621 struct hdd_config, dual_mac_feature_disable,
3622 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3623 CFG_DUAL_MAC_FEATURE_DISABLE_DEFAULT,
3624 CFG_DUAL_MAC_FEATURE_DISABLE_MIN,
3625 CFG_DUAL_MAC_FEATURE_DISABLE_MAX),
Nitesh Shah50a3de12017-04-03 19:37:19 +05303626
3627 REG_VARIABLE_STRING(CFG_DBS_SCAN_SELECTION_NAME, WLAN_PARAM_String,
3628 struct hdd_config, dbs_scan_selection,
3629 VAR_FLAGS_OPTIONAL,
3630 (void *)CFG_DBS_SCAN_SELECTION_DEFAULT),
3631
Ganesh Kondabattini930304c2017-10-10 15:25:36 +05303632 REG_VARIABLE(CFG_STA_SAP_SCC_ON_DFS_CHAN, WLAN_PARAM_HexInteger,
3633 struct hdd_config, sta_sap_scc_on_dfs_chan,
3634 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3635 CFG_STA_SAP_SCC_ON_DFS_CHAN_DEFAULT,
3636 CFG_STA_SAP_SCC_ON_DFS_CHAN_MIN,
3637 CFG_STA_SAP_SCC_ON_DFS_CHAN_MAX),
3638
3639
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07003640#ifdef FEATURE_WLAN_SCAN_PNO
3641 REG_VARIABLE(CFG_PNO_CHANNEL_PREDICTION_NAME, WLAN_PARAM_Integer,
3642 struct hdd_config, pno_channel_prediction,
3643 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3644 CFG_PNO_CHANNEL_PREDICTION_DEFAULT,
3645 CFG_PNO_CHANNEL_PREDICTION_MIN,
3646 CFG_PNO_CHANNEL_PREDICTION_MAX),
3647
3648 REG_VARIABLE(CFG_TOP_K_NUM_OF_CHANNELS_NAME, WLAN_PARAM_Integer,
3649 struct hdd_config, top_k_num_of_channels,
3650 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3651 CFG_TOP_K_NUM_OF_CHANNELS_DEFAULT,
3652 CFG_TOP_K_NUM_OF_CHANNELS_MIN,
3653 CFG_TOP_K_NUM_OF_CHANNELS_MAX),
3654
3655 REG_VARIABLE(CFG_STATIONARY_THRESHOLD_NAME, WLAN_PARAM_Integer,
3656 struct hdd_config, stationary_thresh,
3657 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3658 CFG_STATIONARY_THRESHOLD_DEFAULT,
3659 CFG_STATIONARY_THRESHOLD_MIN,
3660 CFG_STATIONARY_THRESHOLD_MAX),
3661
3662 REG_VARIABLE(CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_NAME,
3663 WLAN_PARAM_Integer,
3664 struct hdd_config, channel_prediction_full_scan,
3665 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3666 CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_DEFAULT,
3667 CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_MIN,
3668 CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_MAX),
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05303669
3670 REG_VARIABLE(CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_NAME,
3671 WLAN_PARAM_Integer,
3672 struct hdd_config, pnoscan_adaptive_dwell_mode,
3673 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3674 CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_DEFAULT,
3675 CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_MIN,
3676 CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_MAX),
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07003677#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003678
3679 REG_VARIABLE(CFG_TX_CHAIN_MASK_CCK, WLAN_PARAM_Integer,
3680 struct hdd_config, tx_chain_mask_cck,
3681 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3682 CFG_TX_CHAIN_MASK_CCK_DEFAULT,
3683 CFG_TX_CHAIN_MASK_CCK_MIN,
3684 CFG_TX_CHAIN_MASK_CCK_MAX),
3685
3686 REG_VARIABLE(CFG_TX_CHAIN_MASK_1SS, WLAN_PARAM_Integer,
3687 struct hdd_config, tx_chain_mask_1ss,
3688 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3689 CFG_TX_CHAIN_MASK_1SS_DEFAULT,
3690 CFG_TX_CHAIN_MASK_1SS_MIN,
3691 CFG_TX_CHAIN_MASK_1SS_MAX),
3692
Jeff Johnsona89e25d2017-02-24 12:25:07 -08003693 REG_VARIABLE(CFG_ENABLE_SMART_CHAINMASK_NAME, WLAN_PARAM_Integer,
3694 struct hdd_config, smart_chainmask_enabled,
3695 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3696 CFG_ENABLE_SMART_CHAINMASK_DEFAULT,
3697 CFG_ENABLE_SMART_CHAINMASK_MIN,
3698 CFG_ENABLE_SMART_CHAINMASK_MAX),
3699
3700 REG_VARIABLE(CFG_ENABLE_COEX_ALT_CHAINMASK_NAME, WLAN_PARAM_Integer,
3701 struct hdd_config, alternative_chainmask_enabled,
3702 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3703 CFG_ENABLE_COEX_ALT_CHAINMASK_DEFAULT,
3704 CFG_ENABLE_COEX_ALT_CHAINMASK_MIN,
3705 CFG_ENABLE_COEX_ALT_CHAINMASK_MAX),
3706
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003707 REG_VARIABLE(CFG_SELF_GEN_FRM_PWR, WLAN_PARAM_Integer,
3708 struct hdd_config, self_gen_frm_pwr,
3709 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3710 CFG_SELF_GEN_FRM_PWR_DEFAULT,
3711 CFG_SELF_GEN_FRM_PWR_MIN,
3712 CFG_SELF_GEN_FRM_PWR_MAX),
3713
Varun Reddy Yeturu05186292015-09-28 17:12:33 -07003714 REG_VARIABLE(CFG_EARLY_STOP_SCAN_ENABLE, WLAN_PARAM_Integer,
3715 struct hdd_config, early_stop_scan_enable,
3716 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3717 CFG_EARLY_STOP_SCAN_ENABLE_DEFAULT,
3718 CFG_EARLY_STOP_SCAN_ENABLE_MIN,
3719 CFG_EARLY_STOP_SCAN_ENABLE_MAX),
3720
3721 REG_VARIABLE(CFG_EARLY_STOP_SCAN_MIN_THRESHOLD,
3722 WLAN_PARAM_SignedInteger, struct hdd_config,
3723 early_stop_scan_min_threshold,
3724 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3725 CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_DEFAULT,
3726 CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_MIN,
3727 CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_MAX),
3728
3729 REG_VARIABLE(CFG_EARLY_STOP_SCAN_MAX_THRESHOLD,
3730 WLAN_PARAM_SignedInteger, struct hdd_config,
3731 early_stop_scan_max_threshold,
3732 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3733 CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_DEFAULT,
3734 CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_MIN,
3735 CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_MAX),
3736
Varun Reddy Yeturu044bda22015-11-21 22:03:40 -08003737 REG_VARIABLE(CFG_FIRST_SCAN_BUCKET_THRESHOLD_NAME,
3738 WLAN_PARAM_SignedInteger,
3739 struct hdd_config, first_scan_bucket_threshold,
3740 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3741 CFG_FIRST_SCAN_BUCKET_THRESHOLD_DEFAULT,
3742 CFG_FIRST_SCAN_BUCKET_THRESHOLD_MIN,
3743 CFG_FIRST_SCAN_BUCKET_THRESHOLD_MAX),
3744
Ravi Joshi742495d2015-11-09 18:56:53 -08003745#ifdef FEATURE_LFR_SUBNET_DETECTION
3746 REG_VARIABLE(CFG_ENABLE_LFR_SUBNET_DETECTION, WLAN_PARAM_Integer,
3747 struct hdd_config, enable_lfr_subnet_detection,
3748 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3749 CFG_ENABLE_LFR_SUBNET_DEFAULT,
3750 CFG_ENABLE_LFR_SUBNET_MIN,
3751 CFG_ENABLE_LFR_SUBNET_MAX),
3752#endif
Sandeep Puligilla93a29ec2016-02-12 16:10:56 -08003753 REG_VARIABLE(CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_NAME,
3754 WLAN_PARAM_Integer,
3755 struct hdd_config, obss_active_dwelltime,
3756 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3757 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_DEFAULT,
3758 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_MIN,
3759 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_MAX),
3760
3761 REG_VARIABLE(CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_NAME,
3762 WLAN_PARAM_Integer,
3763 struct hdd_config, obss_passive_dwelltime,
3764 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3765 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_DEFAULT,
3766 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_MIN,
3767 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_MAX),
3768
3769 REG_VARIABLE(CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_NAME,
3770 WLAN_PARAM_Integer,
3771 struct hdd_config, obss_width_trigger_interval,
3772 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3773 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_DEFAULT,
3774 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_MIN,
3775 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_MAX),
Deepak Dhamdhere68929ec2015-08-05 15:16:35 -07003776
3777 REG_VARIABLE(CFG_INFORM_BSS_RSSI_RAW_NAME, WLAN_PARAM_Integer,
3778 struct hdd_config, inform_bss_rssi_raw,
3779 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3780 CFG_INFORM_BSS_RSSI_RAW_DEFAULT,
3781 CFG_INFORM_BSS_RSSI_RAW_MIN,
3782 CFG_INFORM_BSS_RSSI_RAW_MAX),
Tushnim Bhattacharyya24e12a62015-10-12 14:51:56 -07003783
Manikandan Mohan976e7562016-03-15 16:33:31 -07003784#ifdef WLAN_FEATURE_TSF
3785 REG_VARIABLE(CFG_SET_TSF_GPIO_PIN_NAME, WLAN_PARAM_Integer,
3786 struct hdd_config, tsf_gpio_pin,
3787 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3788 CFG_SET_TSF_GPIO_PIN_DEFAULT,
3789 CFG_SET_TSF_GPIO_PIN_MIN,
3790 CFG_SET_TSF_GPIO_PIN_MAX),
Yu Wang66a250b2017-07-19 11:46:40 +08003791
3792#ifdef WLAN_FEATURE_TSF_PLUS
3793 REG_VARIABLE(CFG_SET_TSF_PTP_OPT_NAME, WLAN_PARAM_HexInteger,
3794 struct hdd_config, tsf_ptp_options,
3795 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3796 CFG_SET_TSF_PTP_OPT_DEFAULT,
3797 CFG_SET_TSF_PTP_OPT_MIN,
3798 CFG_SET_TSF_PTP_OPT_MAX),
3799#endif /* WLAN_FEATURE_TSF_PLUS */
Manikandan Mohan976e7562016-03-15 16:33:31 -07003800#endif
3801
Gupta, Kapilc68ad462016-02-01 19:17:23 +05303802 REG_VARIABLE(CFG_ROAM_DENSE_TRAFFIC_THRESHOLD, WLAN_PARAM_Integer,
3803 struct hdd_config, roam_dense_traffic_thresh,
3804 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3805 CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_DEFAULT,
3806 CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_MIN,
3807 CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_MAX),
3808
3809 REG_VARIABLE(CFG_ROAM_DENSE_RSSI_THRE_OFFSET, WLAN_PARAM_Integer,
3810 struct hdd_config, roam_dense_rssi_thresh_offset,
3811 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3812 CFG_ROAM_DENSE_RSSI_THRE_OFFSET_DEFAULT,
3813 CFG_ROAM_DENSE_RSSI_THRE_OFFSET_MIN,
3814 CFG_ROAM_DENSE_RSSI_THRE_OFFSET_MAX),
3815
Abhishek Singh165bc602016-03-21 12:43:00 +05303816 REG_VARIABLE(CFG_IGNORE_PEER_HT_MODE_NAME, WLAN_PARAM_Integer,
3817 struct hdd_config, ignore_peer_ht_opmode,
3818 VAR_FLAGS_OPTIONAL |
3819 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3820 CFG_IGNORE_PEER_HT_MODE_DEFAULT,
3821 CFG_IGNORE_PEER_HT_MODE_MIN,
3822 CFG_IGNORE_PEER_HT_MODE_MAX),
3823
Gupta, Kapilc68ad462016-02-01 19:17:23 +05303824 REG_VARIABLE(CFG_ROAM_DENSE_MIN_APS, WLAN_PARAM_Integer,
3825 struct hdd_config, roam_dense_min_aps,
3826 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3827 CFG_ROAM_DENSE_MIN_APS_DEFAULT,
3828 CFG_ROAM_DENSE_MIN_APS_MIN,
3829 CFG_ROAM_DENSE_MIN_APS_MAX),
3830
Varun Reddy Yeturufaad37e2017-07-26 10:54:13 -07003831 REG_VARIABLE(CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_NAME,
3832 WLAN_PARAM_SignedInteger, struct hdd_config,
3833 roam_bg_scan_bad_rssi_thresh,
3834 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3835 CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_DEFAULT,
3836 CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_MIN,
3837 CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_MAX),
3838
3839 REG_VARIABLE(CFG_ROAM_BG_SCAN_CLIENT_BITMAP_NAME, WLAN_PARAM_Integer,
3840 struct hdd_config, roam_bg_scan_client_bitmap,
3841 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3842 CFG_ROAM_BG_SCAN_CLIENT_BITMAP_DEFAULT,
3843 CFG_ROAM_BG_SCAN_CLIENT_BITMAP_MIN,
3844 CFG_ROAM_BG_SCAN_CLIENT_BITMAP_MAX),
3845
Vignesh Viswanathanc018e982017-09-07 18:49:19 +05303846 REG_VARIABLE(CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_NAME,
3847 WLAN_PARAM_Integer, struct hdd_config,
3848 roam_bad_rssi_thresh_offset_2g,
3849 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3850 CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_DEFAULT,
3851 CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_MIN,
3852 CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_MAX),
3853
Abhinav Kumara083f212018-04-05 18:49:45 +05303854 REG_VARIABLE(CFG_ROAM_HO_DELAY_FOR_RX_NAME,
3855 WLAN_PARAM_Integer, struct hdd_config,
3856 ho_delay_for_rx,
3857 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3858 CFG_ROAM_HO_DELAY_FOR_RX_DEFAULT,
3859 CFG_ROAM_HO_DELAY_FOR_RX_MIN,
3860 CFG_ROAM_HO_DELAY_FOR_RX_MAX),
3861
Abhinav Kumara95af7c2018-04-06 17:08:00 +05303862 REG_VARIABLE(CFG_MIN_DELAY_BTW_ROAM_SCAN_NAME,
3863 WLAN_PARAM_Integer, struct hdd_config,
3864 min_delay_btw_roam_scans,
3865 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3866 CFG_MIN_DELAY_BTW_ROAM_SCAN_DEFAULT,
3867 CFG_MIN_DELAY_BTW_ROAM_SCAN_MIN,
3868 CFG_MIN_DELAY_BTW_ROAM_SCAN_MAX),
3869
3870 REG_VARIABLE(CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_NAME,
3871 WLAN_PARAM_HexInteger, struct hdd_config,
3872 roam_trigger_reason_bitmask,
3873 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3874 CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_DEFAULT,
3875 CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_MIN,
3876 CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_MAX),
3877
Abhishek Singh5ea86532016-04-27 14:10:53 +05303878 REG_VARIABLE(CFG_ENABLE_FATAL_EVENT_TRIGGER, WLAN_PARAM_Integer,
3879 struct hdd_config, enable_fatal_event,
3880 VAR_FLAGS_OPTIONAL |
3881 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3882 CFG_ENABLE_FATAL_EVENT_TRIGGER_DEFAULT,
3883 CFG_ENABLE_FATAL_EVENT_TRIGGER_MIN,
3884 CFG_ENABLE_FATAL_EVENT_TRIGGER_MAX),
3885
Abhishek Singh10ecf582016-05-04 17:48:59 +05303886 REG_VARIABLE(CFG_ENABLE_EDCA_INI_NAME, WLAN_PARAM_Integer,
3887 struct hdd_config, enable_edca_params,
3888 VAR_FLAGS_OPTIONAL |
3889 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3890 CFG_ENABLE_EDCA_INI_DEFAULT,
3891 CFG_ENABLE_EDCA_INI_MIN,
3892 CFG_ENABLE_EDCA_INI_MAX),
3893
Agrawal Ashishb2d1a452016-05-05 12:23:58 +05303894 REG_VARIABLE(CFG_ENABLE_GO_CTS2SELF_FOR_STA, WLAN_PARAM_Integer,
3895 struct hdd_config, enable_go_cts2self_for_sta,
3896 VAR_FLAGS_OPTIONAL |
3897 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3898 CFG_ENABLE_GO_CTS2SELF_FOR_STA_DEFAULT,
3899 CFG_ENABLE_GO_CTS2SELF_FOR_STA_MIN,
3900 CFG_ENABLE_GO_CTS2SELF_FOR_STA_MAX),
3901
Abhishek Singh10ecf582016-05-04 17:48:59 +05303902 REG_VARIABLE(CFG_EDCA_VO_CWMIN_VALUE_NAME, WLAN_PARAM_Integer,
3903 struct hdd_config, edca_vo_cwmin,
3904 VAR_FLAGS_OPTIONAL |
3905 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3906 CFG_EDCA_VO_CWMIN_VALUE_DEFAULT,
3907 CFG_EDCA_VO_CWMIN_VALUE_MIN,
3908 CFG_EDCA_VO_CWMIN_VALUE_MAX),
3909
3910 REG_VARIABLE(CFG_EDCA_VI_CWMIN_VALUE_NAME, WLAN_PARAM_Integer,
3911 struct hdd_config, edca_vi_cwmin,
3912 VAR_FLAGS_OPTIONAL |
3913 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3914 CFG_EDCA_VI_CWMIN_VALUE_DEFAULT,
3915 CFG_EDCA_VI_CWMIN_VALUE_MIN,
3916 CFG_EDCA_VI_CWMIN_VALUE_MAX),
3917
3918 REG_VARIABLE(CFG_EDCA_BK_CWMIN_VALUE_NAME, WLAN_PARAM_Integer,
3919 struct hdd_config, edca_bk_cwmin,
3920 VAR_FLAGS_OPTIONAL |
3921 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3922 CFG_EDCA_BK_CWMIN_VALUE_DEFAULT,
3923 CFG_EDCA_BK_CWMIN_VALUE_MIN,
3924 CFG_EDCA_BK_CWMIN_VALUE_MAX),
3925
3926 REG_VARIABLE(CFG_EDCA_BE_CWMIN_VALUE_NAME, WLAN_PARAM_Integer,
3927 struct hdd_config, edca_be_cwmin,
3928 VAR_FLAGS_OPTIONAL |
3929 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3930 CFG_EDCA_BE_CWMIN_VALUE_DEFAULT,
3931 CFG_EDCA_BE_CWMIN_VALUE_MIN,
3932 CFG_EDCA_BE_CWMIN_VALUE_MAX),
3933
3934 REG_VARIABLE(CFG_EDCA_VO_CWMAX_VALUE_NAME, WLAN_PARAM_Integer,
3935 struct hdd_config, edca_vo_cwmax,
3936 VAR_FLAGS_OPTIONAL |
3937 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3938 CFG_EDCA_VO_CWMAX_VALUE_DEFAULT,
3939 CFG_EDCA_VO_CWMAX_VALUE_MIN,
3940 CFG_EDCA_VO_CWMAX_VALUE_MAX),
3941
3942 REG_VARIABLE(CFG_EDCA_VI_CWMAX_VALUE_NAME, WLAN_PARAM_Integer,
3943 struct hdd_config, edca_vi_cwmax,
3944 VAR_FLAGS_OPTIONAL |
3945 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3946 CFG_EDCA_VI_CWMAX_VALUE_DEFAULT,
3947 CFG_EDCA_VI_CWMAX_VALUE_MIN,
3948 CFG_EDCA_VI_CWMAX_VALUE_MAX),
3949
3950 REG_VARIABLE(CFG_EDCA_BK_CWMAX_VALUE_NAME, WLAN_PARAM_Integer,
3951 struct hdd_config, edca_bk_cwmax,
3952 VAR_FLAGS_OPTIONAL |
3953 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3954 CFG_EDCA_BK_CWMAX_VALUE_DEFAULT,
3955 CFG_EDCA_BK_CWMAX_VALUE_MIN,
3956 CFG_EDCA_BK_CWMAX_VALUE_MAX),
3957
3958 REG_VARIABLE(CFG_EDCA_BE_CWMAX_VALUE_NAME, WLAN_PARAM_Integer,
3959 struct hdd_config, edca_be_cwmax,
3960 VAR_FLAGS_OPTIONAL |
3961 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3962 CFG_EDCA_BE_CWMAX_VALUE_DEFAULT,
3963 CFG_EDCA_BE_CWMAX_VALUE_MIN,
3964 CFG_EDCA_BE_CWMAX_VALUE_MAX),
3965
3966 REG_VARIABLE(CFG_EDCA_VO_AIFS_VALUE_NAME, WLAN_PARAM_Integer,
3967 struct hdd_config, edca_vo_aifs,
3968 VAR_FLAGS_OPTIONAL |
3969 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3970 CFG_EDCA_VO_AIFS_VALUE_DEFAULT,
3971 CFG_EDCA_VO_AIFS_VALUE_MIN,
3972 CFG_EDCA_VO_AIFS_VALUE_MAX),
3973
3974 REG_VARIABLE(CFG_EDCA_VI_AIFS_VALUE_NAME, WLAN_PARAM_Integer,
3975 struct hdd_config, edca_vi_aifs,
3976 VAR_FLAGS_OPTIONAL |
3977 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3978 CFG_EDCA_VI_AIFS_VALUE_DEFAULT,
3979 CFG_EDCA_VI_AIFS_VALUE_MIN,
3980 CFG_EDCA_VI_AIFS_VALUE_MAX),
3981
3982 REG_VARIABLE(CFG_EDCA_BK_AIFS_VALUE_NAME, WLAN_PARAM_Integer,
3983 struct hdd_config, edca_bk_aifs,
3984 VAR_FLAGS_OPTIONAL |
3985 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3986 CFG_EDCA_BK_AIFS_VALUE_DEFAULT,
3987 CFG_EDCA_BK_AIFS_VALUE_MIN,
3988 CFG_EDCA_BK_AIFS_VALUE_MAX),
3989
3990 REG_VARIABLE(CFG_EDCA_BE_AIFS_VALUE_NAME, WLAN_PARAM_Integer,
3991 struct hdd_config, edca_be_aifs,
3992 VAR_FLAGS_OPTIONAL |
3993 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3994 CFG_EDCA_BE_AIFS_VALUE_DEFAULT,
3995 CFG_EDCA_BE_AIFS_VALUE_MIN,
3996 CFG_EDCA_BE_AIFS_VALUE_MAX),
gbian62edd7e2017-03-07 13:12:13 +08003997
3998 REG_VARIABLE_STRING(CFG_ENABLE_TX_SCHED_WRR_VO_NAME,
3999 WLAN_PARAM_String,
4000 struct hdd_config, tx_sched_wrr_vo,
4001 VAR_FLAGS_OPTIONAL,
4002 (void *) CFG_ENABLE_TX_SCHED_WRR_VO_DEFAULT),
4003
4004 REG_VARIABLE_STRING(CFG_ENABLE_TX_SCHED_WRR_VI_NAME,
4005 WLAN_PARAM_String,
4006 struct hdd_config, tx_sched_wrr_vi,
4007 VAR_FLAGS_OPTIONAL,
4008 (void *) CFG_ENABLE_TX_SCHED_WRR_VI_DEFAULT),
4009
4010 REG_VARIABLE_STRING(CFG_ENABLE_TX_SCHED_WRR_BE_NAME,
4011 WLAN_PARAM_String,
4012 struct hdd_config, tx_sched_wrr_be,
4013 VAR_FLAGS_OPTIONAL,
4014 (void *) CFG_ENABLE_TX_SCHED_WRR_BE_DEFAULT),
4015
4016 REG_VARIABLE_STRING(CFG_ENABLE_TX_SCHED_WRR_BK_NAME,
4017 WLAN_PARAM_String,
4018 struct hdd_config, tx_sched_wrr_bk,
4019 VAR_FLAGS_OPTIONAL,
4020 (void *) CFG_ENABLE_TX_SCHED_WRR_BK_DEFAULT),
4021
Deepak Dhamdhere3385d752016-05-25 20:36:47 -07004022#ifdef WLAN_FEATURE_NAN_DATAPATH
4023 REG_VARIABLE(CFG_ENABLE_NAN_DATAPATH_NAME, WLAN_PARAM_Integer,
4024 struct hdd_config, enable_nan_datapath,
4025 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4026 CFG_ENABLE_NAN_DATAPATH_DEFAULT,
4027 CFG_ENABLE_NAN_DATAPATH_MIN,
4028 CFG_ENABLE_NAN_DATAPATH_MAX),
4029
4030 REG_VARIABLE(CFG_ENABLE_NAN_NDI_CHANNEL_NAME, WLAN_PARAM_Integer,
4031 struct hdd_config, nan_datapath_ndi_channel,
4032 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4033 CFG_ENABLE_NAN_NDI_CHANNEL_DEFAULT,
4034 CFG_ENABLE_NAN_NDI_CHANNEL_MIN,
4035 CFG_ENABLE_NAN_NDI_CHANNEL_MAX),
4036#endif
Wu Gao94488c22018-03-14 14:37:25 +08004037
Kapil Gupta0ed58dc2016-04-22 15:35:26 +05304038 REG_VARIABLE(CFG_CREATE_BUG_REPORT_FOR_SCAN, WLAN_PARAM_Integer,
4039 struct hdd_config, bug_report_for_no_scan_results,
4040 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4041 CFG_CREATE_BUG_REPORT_FOR_SCAN_DEFAULT,
4042 CFG_CREATE_BUG_REPORT_FOR_SCAN_DISABLE,
4043 CFG_CREATE_BUG_REPORT_FOR_SCAN_ENABLE),
Abhishek Singh5ea86532016-04-27 14:10:53 +05304044
Kapil Gupta8878ad92017-02-13 11:56:04 +05304045 REG_VARIABLE(CFG_USER_AUTO_CHANNEL_SELECTION, WLAN_PARAM_Integer,
4046 struct hdd_config, vendor_acs_support,
4047 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4048 CFG_USER_AUTO_CHANNEL_SELECTION_DEFAULT,
4049 CFG_USER_AUTO_CHANNEL_SELECTION_DISABLE,
4050 CFG_USER_AUTO_CHANNEL_SELECTION_ENABLE),
4051
4052 REG_VARIABLE(CFG_USER_ACS_DFS_LTE, WLAN_PARAM_Integer,
4053 struct hdd_config, acs_support_for_dfs_ltecoex,
4054 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4055 CFG_USER_ACS_DFS_LTE_DEFAULT,
4056 CFG_USER_ACS_DFS_LTE_DISABLE,
4057 CFG_USER_ACS_DFS_LTE_ENABLE),
4058
Nirav Shahcc1f1ae2016-04-26 11:41:29 +05304059 REG_VARIABLE(CFG_ENABLE_DP_TRACE, WLAN_PARAM_Integer,
4060 struct hdd_config, enable_dp_trace,
4061 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4062 CFG_ENABLE_DP_TRACE_DEFAULT,
4063 CFG_ENABLE_DP_TRACE_MIN,
4064 CFG_ENABLE_DP_TRACE_MAX),
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05304065
Mohit Khannaf8f96822017-05-17 17:11:59 -07004066
4067 REG_VARIABLE_STRING(CFG_ENABLE_DP_TRACE_CONFIG, WLAN_PARAM_String,
4068 struct hdd_config, dp_trace_config,
4069 VAR_FLAGS_OPTIONAL,
4070 (void *) CFG_ENABLE_DP_TRACE_CONFIG_DEFAULT),
4071
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05304072 REG_VARIABLE(CFG_ADAPTIVE_SCAN_DWELL_MODE_NAME, WLAN_PARAM_Integer,
4073 struct hdd_config, scan_adaptive_dwell_mode,
4074 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4075 CFG_ADAPTIVE_SCAN_DWELL_MODE_DEFAULT,
4076 CFG_ADAPTIVE_SCAN_DWELL_MODE_MIN,
4077 CFG_ADAPTIVE_SCAN_DWELL_MODE_MAX),
4078
Paul Zhang72697bd2017-12-20 09:24:25 +08004079 REG_VARIABLE(CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_NAME, WLAN_PARAM_Integer,
4080 struct hdd_config, scan_adaptive_dwell_mode_nc,
4081 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4082 CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_DEFAULT,
4083 CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_MIN,
4084 CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_MAX),
4085
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05304086 REG_VARIABLE(CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_NAME, WLAN_PARAM_Integer,
4087 struct hdd_config, roamscan_adaptive_dwell_mode,
4088 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4089 CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_DEFAULT,
4090 CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_MIN,
4091 CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_MAX),
4092
4093 REG_VARIABLE(CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_NAME, WLAN_PARAM_Integer,
4094 struct hdd_config, extscan_adaptive_dwell_mode,
4095 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4096 CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_DEFAULT,
4097 CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_MIN,
4098 CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_MAX),
4099
4100 REG_VARIABLE(CFG_ADAPTIVE_DWELL_MODE_ENABLED_NAME, WLAN_PARAM_Integer,
4101 struct hdd_config, adaptive_dwell_mode_enabled,
4102 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4103 CFG_ADAPTIVE_DWELL_MODE_ENABLED_DEFAULT,
4104 CFG_ADAPTIVE_DWELL_MODE_ENABLED_MIN,
4105 CFG_ADAPTIVE_DWELL_MODE_ENABLED_MAX),
4106
4107 REG_VARIABLE(CFG_GLOBAL_ADAPTIVE_DWELL_MODE_NAME, WLAN_PARAM_Integer,
4108 struct hdd_config, global_adapt_dwelltime_mode,
4109 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4110 CFG_GLOBAL_ADAPTIVE_DWELL_MODE_DEFAULT,
4111 CFG_GLOBAL_ADAPTIVE_DWELL_MODE_MIN,
4112 CFG_GLOBAL_ADAPTIVE_DWELL_MODE_MAX),
4113
4114 REG_VARIABLE(CFG_ADAPT_DWELL_LPF_WEIGHT_NAME, WLAN_PARAM_Integer,
4115 struct hdd_config, adapt_dwell_lpf_weight,
4116 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4117 CFG_ADAPT_DWELL_LPF_WEIGHT_DEFAULT,
4118 CFG_ADAPT_DWELL_LPF_WEIGHT_MIN,
4119 CFG_ADAPT_DWELL_LPF_WEIGHT_MAX),
4120
Naveen Rawat64e477e2016-05-20 10:34:56 -07004121 REG_VARIABLE(CFG_SUB_20_CHANNEL_WIDTH_NAME, WLAN_PARAM_Integer,
4122 struct hdd_config, enable_sub_20_channel_width,
4123 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4124 CFG_SUB_20_CHANNEL_WIDTH_DEFAULT,
4125 CFG_SUB_20_CHANNEL_WIDTH_MIN,
4126 CFG_SUB_20_CHANNEL_WIDTH_MAX),
4127
Rajeev Kumar Sirasanagandlaaf474742016-09-06 17:54:50 +05304128 REG_VARIABLE(CFG_TGT_GTX_USR_CFG_NAME, WLAN_PARAM_Integer,
4129 struct hdd_config, tgt_gtx_usr_cfg,
4130 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4131 CFG_TGT_GTX_USR_CFG_DEFAULT,
4132 CFG_TGT_GTX_USR_CFG_MIN,
4133 CFG_TGT_GTX_USR_CFG_MAX),
4134
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05304135 REG_VARIABLE(CFG_ADAPT_DWELL_PASMON_INTVAL_NAME, WLAN_PARAM_Integer,
4136 struct hdd_config, adapt_dwell_passive_mon_intval,
4137 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4138 CFG_ADAPT_DWELL_PASMON_INTVAL_DEFAULT,
4139 CFG_ADAPT_DWELL_PASMON_INTVAL_MIN,
4140 CFG_ADAPT_DWELL_PASMON_INTVAL_MAX),
4141
4142 REG_VARIABLE(CFG_ADAPT_DWELL_WIFI_THRESH_NAME, WLAN_PARAM_Integer,
4143 struct hdd_config, adapt_dwell_wifi_act_threshold,
4144 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4145 CFG_ADAPT_DWELL_WIFI_THRESH_DEFAULT,
4146 CFG_ADAPT_DWELL_WIFI_THRESH_MIN,
4147 CFG_ADAPT_DWELL_WIFI_THRESH_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004148
Nirav Shahbd36b062016-07-18 11:12:59 +05304149 REG_VARIABLE(CFG_RX_MODE_NAME, WLAN_PARAM_Integer,
4150 struct hdd_config, rx_mode,
4151 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4152 CFG_RX_MODE_DEFAULT,
4153 CFG_RX_MODE_MIN,
4154 CFG_RX_MODE_MAX),
4155
4156 REG_VARIABLE_STRING(CFG_RPS_RX_QUEUE_CPU_MAP_LIST_NAME,
4157 WLAN_PARAM_String,
4158 struct hdd_config, cpu_map_list,
4159 VAR_FLAGS_OPTIONAL,
4160 (void *)CFG_RPS_RX_QUEUE_CPU_MAP_LIST_DEFAULT),
4161
Amar Singhal18517882016-08-08 12:26:20 -07004162 REG_VARIABLE(CFG_INDOOR_CHANNEL_SUPPORT_NAME,
4163 WLAN_PARAM_Integer,
4164 struct hdd_config, indoor_channel_support,
4165 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4166 CFG_INDOOR_CHANNEL_SUPPORT_DEFAULT,
4167 CFG_INDOOR_CHANNEL_SUPPORT_MIN,
4168 CFG_INDOOR_CHANNEL_SUPPORT_MAX),
4169
Mukul Sharmaecf8e092017-12-19 22:36:31 +05304170 REG_VARIABLE(CFG_MARK_INDOOR_AS_DISABLE_NAME,
4171 WLAN_PARAM_Integer,
4172 struct hdd_config, force_ssc_disable_indoor_channel,
4173 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4174 CFG_MARK_INDOOR_AS_DISABLE_DEFAULT,
4175 CFG_MARK_INDOOR_AS_DISABLE_MIN,
4176 CFG_MARK_INDOOR_AS_DISABLE_MAX),
4177
Yingying Tangb4832f72016-10-20 13:44:55 +08004178 REG_VARIABLE(CFG_SAP_TX_LEAKAGE_THRESHOLD_NAME,
4179 WLAN_PARAM_Integer,
4180 struct hdd_config, sap_tx_leakage_threshold,
4181 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4182 CFG_SAP_TX_LEAKAGE_THRESHOLD_DEFAULT,
4183 CFG_SAP_TX_LEAKAGE_THRESHOLD_MIN,
4184 CFG_SAP_TX_LEAKAGE_THRESHOLD_MAX),
4185
Mukul Sharmaf7d62e12016-09-03 15:16:22 +05304186 REG_VARIABLE(CFG_BUG_ON_REINIT_FAILURE_NAME, WLAN_PARAM_Integer,
4187 struct hdd_config, bug_on_reinit_failure,
4188 VAR_FLAGS_OPTIONAL |
4189 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4190 CFG_BUG_ON_REINIT_FAILURE_DEFAULT,
4191 CFG_BUG_ON_REINIT_FAILURE_MIN,
4192 CFG_BUG_ON_REINIT_FAILURE_MAX),
4193
Rajeev Kumar Sirasanagandlab79b5462016-09-06 18:33:17 +05304194 REG_VARIABLE(CFG_SAP_FORCE_11N_FOR_11AC_NAME, WLAN_PARAM_Integer,
4195 struct hdd_config, sap_force_11n_for_11ac,
4196 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4197 CFG_SAP_FORCE_11N_FOR_11AC_DEFAULT,
4198 CFG_SAP_FORCE_11N_FOR_11AC_MIN,
4199 CFG_SAP_FORCE_11N_FOR_11AC_MAX),
4200
Bala Venkateshb9cf3362017-11-09 15:48:46 +05304201 REG_VARIABLE(CFG_GO_FORCE_11N_FOR_11AC_NAME, WLAN_PARAM_Integer,
4202 struct hdd_config, go_force_11n_for_11ac,
4203 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4204 CFG_GO_FORCE_11N_FOR_11AC_DEFAULT,
4205 CFG_GO_FORCE_11N_FOR_11AC_MIN,
4206 CFG_GO_FORCE_11N_FOR_11AC_MAX),
4207
Arun Khandavallifae92942016-08-01 13:31:08 +05304208 REG_VARIABLE(CFG_INTERFACE_CHANGE_WAIT_NAME, WLAN_PARAM_Integer,
4209 struct hdd_config, iface_change_wait_time,
4210 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
4211 CFG_INTERFACE_CHANGE_WAIT_DEFAULT,
4212 CFG_INTERFACE_CHANGE_WAIT_MIN,
4213 CFG_INTERFACE_CHANGE_WAIT_MAX),
Ravi Joshibb8d4512016-08-22 10:14:52 -07004214
4215 REG_VARIABLE(CFG_FILTER_MULTICAST_REPLAY_NAME,
4216 WLAN_PARAM_Integer,
4217 struct hdd_config, multicast_replay_filter,
4218 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4219 CFG_FILTER_MULTICAST_REPLAY_DEFAULT,
4220 CFG_FILTER_MULTICAST_REPLAY_MIN,
4221 CFG_FILTER_MULTICAST_REPLAY_MAX),
Manjeet Singhe7ecb7c2016-09-03 12:34:53 +05304222
4223 REG_VARIABLE(CFG_SIFS_BURST_DURATION_NAME, WLAN_PARAM_Integer,
4224 struct hdd_config, sifs_burst_duration,
4225 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4226 CFG_SIFS_BURST_DURATION_DEFAULT,
4227 CFG_SIFS_BURST_DURATION_MIN,
4228 CFG_SIFS_BURST_DURATION_MAX),
Ravi Kumar Bokka990edcc2017-01-09 20:02:58 +05304229
4230 REG_VARIABLE(CFG_ENABLE_PHY_REG, WLAN_PARAM_HexInteger,
4231 struct hdd_config, enable_phy_reg_retention,
4232 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4233 CFG_PHY_REG_DEFAULT,
4234 CFG_PHY_REG_MIN,
4235 CFG_PHY_REG_MAX),
4236
Selvaraj, Sridharebda0f22016-08-29 16:05:23 +05304237 REG_VARIABLE(CFG_OPTIMIZE_CA_EVENT_NAME, WLAN_PARAM_Integer,
4238 struct hdd_config, goptimize_chan_avoid_event,
4239 VAR_FLAGS_OPTIONAL |
4240 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4241 CFG_OPTIMIZE_CA_EVENT_DEFAULT,
4242 CFG_OPTIMIZE_CA_EVENT_DISABLE,
4243 CFG_OPTIMIZE_CA_EVENT_ENABLE),
Padma, Santhosh Kumara7119672016-08-16 16:05:14 +05304244
4245 REG_VARIABLE(CFG_TX_AGGREGATION_SIZE, WLAN_PARAM_Integer,
4246 struct hdd_config, tx_aggregation_size,
4247 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4248 CFG_TX_AGGREGATION_SIZE_DEFAULT,
4249 CFG_TX_AGGREGATION_SIZE_MIN,
4250 CFG_TX_AGGREGATION_SIZE_MAX),
4251
4252 REG_VARIABLE(CFG_RX_AGGREGATION_SIZE, WLAN_PARAM_Integer,
4253 struct hdd_config, rx_aggregation_size,
4254 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4255 CFG_RX_AGGREGATION_SIZE_DEFAULT,
4256 CFG_RX_AGGREGATION_SIZE_MIN,
4257 CFG_RX_AGGREGATION_SIZE_MAX),
Agrawal, Ashish4e5fa1c2016-09-21 19:03:43 +05304258 REG_VARIABLE(CFG_SAP_MAX_INACTIVITY_OVERRIDE_NAME, WLAN_PARAM_Integer,
4259 struct hdd_config, sap_max_inactivity_override,
4260 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4261 CFG_SAP_MAX_INACTIVITY_OVERRIDE_DEFAULT,
4262 CFG_SAP_MAX_INACTIVITY_OVERRIDE_MIN,
Sandeep Puligillaafa52892016-10-26 19:03:16 -07004263 CFG_SAP_MAX_INACTIVITY_OVERRIDE_MAX),
4264 REG_VARIABLE(CFG_CRASH_FW_TIMEOUT_NAME, WLAN_PARAM_Integer,
4265 struct hdd_config, fw_timeout_crash,
4266 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4267 CFG_CRASH_FW_TIMEOUT_DEFAULT,
4268 CFG_CRASH_FW_TIMEOUT_DISABLE,
4269 CFG_CRASH_FW_TIMEOUT_ENABLE),
Dustin Browncd756942016-11-23 12:25:33 -08004270 REG_VARIABLE(CFG_RX_WAKELOCK_TIMEOUT_NAME, WLAN_PARAM_Integer,
4271 struct hdd_config, rx_wakelock_timeout,
4272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4273 CFG_RX_WAKELOCK_TIMEOUT_DEFAULT,
4274 CFG_RX_WAKELOCK_TIMEOUT_MIN,
Anurag Chouhan7c01cc42016-12-16 21:33:43 +05304275 CFG_RX_WAKELOCK_TIMEOUT_MAX),
gaoleze2920bd2017-03-21 17:38:42 +08004276 REG_VARIABLE(CFG_SAP_CH_SWITCH_BEACON_CNT, WLAN_PARAM_Integer,
4277 struct hdd_config, sap_chanswitch_beacon_cnt,
4278 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4279 CFG_SAP_CH_SWITCH_BEACON_CNT_DEFAULT,
4280 CFG_SAP_CH_SWITCH_BEACON_CNT_MIN,
4281 CFG_SAP_CH_SWITCH_BEACON_CNT_MAX),
gaolez76d2a162017-03-21 19:23:58 +08004282 REG_VARIABLE(CFG_SAP_CH_SWITCH_MODE, WLAN_PARAM_Integer,
4283 struct hdd_config, sap_chanswitch_mode,
4284 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4285 CFG_SAP_CH_SWITCH_MODE_DEFAULT,
4286 CFG_SAP_CH_SWITCH_MODE_MIN,
4287 CFG_SAP_CH_SWITCH_MODE_MAX),
Anurag Chouhan7c01cc42016-12-16 21:33:43 +05304288 REG_VARIABLE(CFG_MAX_SCHED_SCAN_PLAN_INT_NAME, WLAN_PARAM_Integer,
4289 struct hdd_config, max_sched_scan_plan_interval,
4290 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4291 CFG_MAX_SCHED_SCAN_PLAN_INT_DEFAULT,
4292 CFG_MAX_SCHED_SCAN_PLAN_INT_MIN,
4293 CFG_MAX_SCHED_SCAN_PLAN_INT_MAX),
4294 REG_VARIABLE(CFG_MAX_SCHED_SCAN_PLAN_ITRNS_NAME, WLAN_PARAM_Integer,
4295 struct hdd_config, max_sched_scan_plan_iterations,
4296 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4297 CFG_MAX_SCHED_SCAN_PLAN_ITRNS_DEFAULT,
4298 CFG_MAX_SCHED_SCAN_PLAN_ITRNS_MIN,
4299 CFG_MAX_SCHED_SCAN_PLAN_ITRNS_MAX),
Kapil Gupta5cda2252016-12-29 18:44:26 +05304300
Jeff Johnson441e1f72017-02-07 08:50:49 -08004301 REG_VARIABLE(CFG_PRIVATE_WEXT_CONTROL_NAME, WLAN_PARAM_Integer,
4302 struct hdd_config, private_wext_control,
4303 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4304 CFG_PRIVATE_WEXT_CONTROL_DEFAULT,
4305 CFG_PRIVATE_WEXT_CONTROL_MIN,
4306 CFG_PRIVATE_WEXT_CONTROL_MAX),
Kapil Gupta5cda2252016-12-29 18:44:26 +05304307
Arun Khandavallicc544b32017-01-30 19:52:16 +05304308 REG_VARIABLE(CFG_SAP_INTERNAL_RESTART_NAME, WLAN_PARAM_Integer,
4309 struct hdd_config, sap_internal_restart,
4310 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4311 CFG_SAP_INTERNAL_RESTART_DEFAULT,
4312 CFG_SAP_INTERNAL_RESTART_MIN,
4313 CFG_SAP_INTERNAL_RESTART_MAX),
Srinivas Girigowda70e169a2017-03-07 23:55:57 -08004314
Hanumanth Reddy Pothulaffc2d482017-07-04 11:32:44 +05304315 REG_VARIABLE(CFG_RESTART_BEACONING_ON_CH_AVOID_NAME, WLAN_PARAM_Integer,
4316 struct hdd_config, restart_beaconing_on_chan_avoid_event,
Hanumanth Reddy Pothula9c161dd2017-03-23 19:03:08 +05304317 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Hanumanth Reddy Pothulaffc2d482017-07-04 11:32:44 +05304318 CFG_RESTART_BEACONING_ON_CH_AVOID_DEFAULT,
4319 CFG_RESTART_BEACONING_ON_CH_AVOID_MIN,
4320 CFG_RESTART_BEACONING_ON_CH_AVOID_MAX),
Hanumanth Reddy Pothula9c161dd2017-03-23 19:03:08 +05304321
Kapil Gupta5cda2252016-12-29 18:44:26 +05304322 REG_VARIABLE(CFG_PER_ROAM_ENABLE_NAME, WLAN_PARAM_Integer,
4323 struct hdd_config, is_per_roam_enabled,
4324 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4325 CFG_PER_ROAM_ENABLE_DEFAULT,
4326 CFG_PER_ROAM_ENABLE_MIN,
4327 CFG_PER_ROAM_ENABLE_MAX),
4328
4329 REG_VARIABLE(CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_NAME, WLAN_PARAM_Integer,
4330 struct hdd_config, per_roam_high_rate_threshold,
4331 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4332 CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_DEFAULT,
4333 CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_MIN,
4334 CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_MAX),
4335
4336 REG_VARIABLE(CFG_PER_ROAM_CONFIG_LOW_RATE_TH_NAME, WLAN_PARAM_Integer,
4337 struct hdd_config, per_roam_low_rate_threshold,
4338 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4339 CFG_PER_ROAM_CONFIG_LOW_RATE_TH_DEFAULT,
4340 CFG_PER_ROAM_CONFIG_LOW_RATE_TH_MIN,
4341 CFG_PER_ROAM_CONFIG_LOW_RATE_TH_MAX),
4342
4343 REG_VARIABLE(CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_NAME,
4344 WLAN_PARAM_Integer, struct hdd_config, per_roam_th_percent,
4345 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4346 CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_DEFAULT,
4347 CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_MIN,
4348 CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_MAX),
4349
4350 REG_VARIABLE(CFG_PER_ROAM_REST_TIME_NAME, WLAN_PARAM_Integer,
4351 struct hdd_config, per_roam_rest_time,
4352 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4353 CFG_PER_ROAM_REST_TIME_DEFAULT,
4354 CFG_PER_ROAM_REST_TIME_MIN,
4355 CFG_PER_ROAM_REST_TIME_MAX),
Kapil Gupta957827b2017-02-13 15:47:04 +05304356
4357 REG_VARIABLE(CFG_PER_ROAM_MONITOR_TIME, WLAN_PARAM_Integer,
4358 struct hdd_config, per_roam_mon_time,
4359 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4360 CFG_PER_ROAM_MONTIOR_TIME_DEFAULT,
4361 CFG_PER_ROAM_MONITOR_TIME_MIN,
4362 CFG_PER_ROAM_MONITOR_TIME_MAX),
4363
Selvaraj, Sridhar0641fab2017-05-17 16:02:00 +05304364 REG_VARIABLE(CFG_PER_ROAM_MIN_CANDIDATE_RSSI, WLAN_PARAM_Integer,
4365 struct hdd_config, min_candidate_rssi,
4366 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4367 CFG_PER_ROAM_MIN_CANDIDATE_RSSI_DEFAULT,
4368 CFG_PER_ROAM_MIN_CANDIDATE_RSSI_MIN,
4369 CFG_PER_ROAM_MIN_CANDIDATE_RSSI_MAX),
4370
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05304371 REG_VARIABLE(CFG_ACTIVE_UC_BPF_MODE_NAME, WLAN_PARAM_Integer,
4372 struct hdd_config, active_uc_bpf_mode,
Dustin Brown13995f02017-01-12 15:38:42 -08004373 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05304374 CFG_ACTIVE_UC_BPF_MODE_DEFAULT,
4375 CFG_ACTIVE_UC_BPF_MODE_MIN,
4376 CFG_ACTIVE_UC_BPF_MODE_MAX),
4377
4378 REG_VARIABLE(CFG_ACTIVE_MC_BC_BPF_MODE_NAME, WLAN_PARAM_Integer,
4379 struct hdd_config, active_mc_bc_bpf_mode,
4380 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4381 CFG_ACTIVE_MC_BC_BPF_MODE_DEFAULT,
4382 CFG_ACTIVE_MC_BC_BPF_MODE_MIN,
4383 CFG_ACTIVE_MC_BC_BPF_MODE_MAX),
4384
Selvaraj, Sridhar4f684bb2017-01-19 15:59:23 +05304385 REG_VARIABLE(CFG_ENABLE_BCAST_PROBE_RESP_NAME, WLAN_PARAM_Integer,
4386 struct hdd_config, enable_bcast_probe_rsp,
4387 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4388 CFG_ENABLE_BCAST_PROBE_RESP_DEFAULT,
4389 CFG_ENABLE_BCAST_PROBE_RESP_MIN,
4390 CFG_ENABLE_BCAST_PROBE_RESP_MAX),
Naveen Rawatb2fc4132017-05-10 20:42:05 -07004391
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08004392#ifdef WLAN_FEATURE_11AX
4393 REG_VARIABLE(CFG_ENABLE_UL_MIMO_NAME, WLAN_PARAM_Integer,
4394 struct hdd_config, enable_ul_mimo,
4395 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4396 CFG_ENABLE_UL_MIMO_DEFAULT,
4397 CFG_ENABLE_UL_MIMO_MIN,
4398 CFG_ENABLE_UL_MIMO_MAX),
4399
Kiran Kumar Lokere4aa08a52017-12-15 19:00:39 -08004400 REG_VARIABLE(CFG_HE_DYNAMIC_FRAGMENTATION_NAME, WLAN_PARAM_Integer,
4401 struct hdd_config, he_dynamic_frag_support,
4402 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4403 CFG_HE_DYNAMIC_FRAGMENTATION_DEFAULT,
4404 CFG_HE_DYNAMIC_FRAGMENTATION_MIN,
4405 CFG_HE_DYNAMIC_FRAGMENTATION_MAX),
4406
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08004407 REG_VARIABLE(CFG_ENABLE_UL_OFDMA_NAME, WLAN_PARAM_Integer,
4408 struct hdd_config, enable_ul_ofdma,
4409 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4410 CFG_ENABLE_UL_OFDMA_DEFAULT,
4411 CFG_ENABLE_UL_OFDMA_MIN,
4412 CFG_ENABLE_UL_OFDMA_MAX),
Manikandan Mohan39accff2017-05-02 16:09:00 -07004413
4414 REG_VARIABLE(CFG_HE_STA_OBSSPD_NAME, WLAN_PARAM_HexInteger,
4415 struct hdd_config, he_sta_obsspd,
4416 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4417 CFG_HE_STA_OBSSPD_DEFAULT,
4418 CFG_HE_STA_OBSSPD_MIN,
4419 CFG_HE_STA_OBSSPD_MAX),
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08004420#endif
Dustin Brownab1364a2017-03-27 16:59:08 -07004421
Srinivas Girigowda70e169a2017-03-07 23:55:57 -08004422 REG_VARIABLE(CFG_ARP_AC_CATEGORY, WLAN_PARAM_Integer,
4423 struct hdd_config, arp_ac_category,
4424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4425 CFG_ARP_AC_CATEGORY_DEFAULT,
4426 CFG_ARP_AC_CATEGORY_MIN,
4427 CFG_ARP_AC_CATEGORY_MAX),
Jeff Johnson12a744b2017-04-04 08:19:37 -07004428
4429 REG_VARIABLE(CFG_ENABLE_ANI_NAME, WLAN_PARAM_Integer,
4430 struct hdd_config, ani_enabled,
4431 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4432 CFG_ENABLE_ANI_DEFAULT,
4433 CFG_ENABLE_ANI_MIN,
4434 CFG_ENABLE_ANI_MAX),
Amar Singhal5cccafe2017-02-15 12:42:58 -08004435
Selvaraj, Sridhara521aab2017-03-25 16:42:34 +05304436 REG_VARIABLE(CFG_QCN_IE_SUPPORT_NAME, WLAN_PARAM_Integer,
4437 struct hdd_config, qcn_ie_support,
4438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4439 CFG_QCN_IE_SUPPORT_DEFAULT,
4440 CFG_QCN_IE_SUPPORT_MIN,
4441 CFG_QCN_IE_SUPPORT_MAX),
Amar Singhal5cccafe2017-02-15 12:42:58 -08004442
Dustin Brown7f939932017-05-18 15:02:17 -07004443 REG_VARIABLE(CFG_TIMER_MULTIPLIER_NAME, WLAN_PARAM_Integer,
4444 struct hdd_config, timer_multiplier,
4445 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4446 CFG_TIMER_MULTIPLIER_DEFAULT,
4447 CFG_TIMER_MULTIPLIER_MIN,
4448 CFG_TIMER_MULTIPLIER_MAX),
4449
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05304450 REG_VARIABLE(CFG_PRB_REQ_IE_WHITELIST_NAME, WLAN_PARAM_Integer,
4451 struct hdd_config, probe_req_ie_whitelist,
4452 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4453 CFG_PRB_REQ_IE_WHITELIST_DEFAULT,
4454 CFG_PRB_REQ_IE_WHITELIST_MIN,
4455 CFG_PRB_REQ_IE_WHITELIST_MAX),
4456
4457 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP0_NAME, WLAN_PARAM_HexInteger,
4458 struct hdd_config, probe_req_ie_bitmap_0,
4459 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4460 CFG_PRB_REQ_IE_BIT_MAP0_DEFAULT,
4461 CFG_PRB_REQ_IE_BIT_MAP0_MIN,
4462 CFG_PRB_REQ_IE_BIT_MAP0_MAX),
4463
4464 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP1_NAME, WLAN_PARAM_HexInteger,
4465 struct hdd_config, probe_req_ie_bitmap_1,
4466 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4467 CFG_PRB_REQ_IE_BIT_MAP1_DEFAULT,
4468 CFG_PRB_REQ_IE_BIT_MAP1_MIN,
4469 CFG_PRB_REQ_IE_BIT_MAP1_MAX),
4470
4471 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP2_NAME, WLAN_PARAM_HexInteger,
4472 struct hdd_config, probe_req_ie_bitmap_2,
4473 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4474 CFG_PRB_REQ_IE_BIT_MAP2_DEFAULT,
4475 CFG_PRB_REQ_IE_BIT_MAP2_MIN,
4476 CFG_PRB_REQ_IE_BIT_MAP2_MAX),
4477
4478 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP3_NAME, WLAN_PARAM_HexInteger,
4479 struct hdd_config, probe_req_ie_bitmap_3,
4480 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4481 CFG_PRB_REQ_IE_BIT_MAP3_DEFAULT,
4482 CFG_PRB_REQ_IE_BIT_MAP3_MIN,
4483 CFG_PRB_REQ_IE_BIT_MAP3_MAX),
4484
4485 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP4_NAME, WLAN_PARAM_HexInteger,
4486 struct hdd_config, probe_req_ie_bitmap_4,
4487 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4488 CFG_PRB_REQ_IE_BIT_MAP4_DEFAULT,
4489 CFG_PRB_REQ_IE_BIT_MAP4_MIN,
4490 CFG_PRB_REQ_IE_BIT_MAP4_MAX),
4491
4492 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP5_NAME, WLAN_PARAM_HexInteger,
4493 struct hdd_config, probe_req_ie_bitmap_5,
4494 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4495 CFG_PRB_REQ_IE_BIT_MAP5_DEFAULT,
4496 CFG_PRB_REQ_IE_BIT_MAP5_MIN,
4497 CFG_PRB_REQ_IE_BIT_MAP5_MAX),
4498
4499 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP6_NAME, WLAN_PARAM_HexInteger,
4500 struct hdd_config, probe_req_ie_bitmap_6,
4501 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4502 CFG_PRB_REQ_IE_BIT_MAP6_DEFAULT,
4503 CFG_PRB_REQ_IE_BIT_MAP6_MIN,
4504 CFG_PRB_REQ_IE_BIT_MAP6_MAX),
4505
4506 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP7_NAME, WLAN_PARAM_HexInteger,
4507 struct hdd_config, probe_req_ie_bitmap_7,
4508 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4509 CFG_PRB_REQ_IE_BIT_MAP7_DEFAULT,
4510 CFG_PRB_REQ_IE_BIT_MAP7_MIN,
4511 CFG_PRB_REQ_IE_BIT_MAP7_MAX),
4512
4513 REG_VARIABLE_STRING(CFG_PROBE_REQ_OUI_NAME, WLAN_PARAM_String,
4514 struct hdd_config, probe_req_ouis,
4515 VAR_FLAGS_OPTIONAL,
4516 (void *)CFG_PROBE_REQ_OUI_DEFAULT),
4517
Selvaraj, Sridhar97ce6582017-01-20 17:06:34 +05304518 REG_VARIABLE(CFG_FILS_MAX_CHAN_GUARD_TIME_NAME, WLAN_PARAM_Integer,
4519 struct hdd_config, fils_max_chan_guard_time,
4520 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4521 CFG_FILS_MAX_CHAN_GUARD_TIME_DEFAULT,
4522 CFG_FILS_MAX_CHAN_GUARD_TIME_MIN,
4523 CFG_FILS_MAX_CHAN_GUARD_TIME_MAX),
Naveen Rawat2b6e3c92017-03-20 13:59:07 -07004524
Dustin Brown20b6fcf2017-05-17 15:35:17 -07004525 REG_VARIABLE(CFG_SCAN_BACKOFF_MULTIPLIER_NAME, WLAN_PARAM_Integer,
4526 struct hdd_config, scan_backoff_multiplier,
4527 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4528 CFG_SCAN_BACKOFF_MULTIPLIER_DEFAULT,
4529 CFG_SCAN_BACKOFF_MULTIPLIER_MIN,
4530 CFG_SCAN_BACKOFF_MULTIPLIER_MAX),
4531
Varun Reddy Yeturubba32e92017-09-06 13:31:40 -07004532 REG_VARIABLE(CFG_MAWC_NLO_ENABLED_NAME, WLAN_PARAM_Integer,
4533 struct hdd_config, mawc_nlo_enabled,
4534 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4535 CFG_MAWC_NLO_ENABLED_DEFAULT,
4536 CFG_MAWC_NLO_ENABLED_MIN,
4537 CFG_MAWC_NLO_ENABLED_MAX),
4538
4539 REG_VARIABLE(CFG_MAWC_NLO_EXP_BACKOFF_RATIO_NAME, WLAN_PARAM_Integer,
4540 struct hdd_config, mawc_nlo_exp_backoff_ratio,
4541 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4542 CFG_MAWC_NLO_EXP_BACKOFF_RATIO_DEFAULT,
4543 CFG_MAWC_NLO_EXP_BACKOFF_RATIO_MIN,
4544 CFG_MAWC_NLO_EXP_BACKOFF_RATIO_MAX),
4545
4546 REG_VARIABLE(CFG_MAWC_NLO_INIT_SCAN_INTERVAL_NAME, WLAN_PARAM_Integer,
4547 struct hdd_config, mawc_nlo_init_scan_interval,
4548 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4549 CFG_MAWC_NLO_INIT_SCAN_INTERVAL_DEFAULT,
4550 CFG_MAWC_NLO_INIT_SCAN_INTERVAL_MIN,
4551 CFG_MAWC_NLO_INIT_SCAN_INTERVAL_MAX),
4552
4553 REG_VARIABLE(CFG_MAWC_NLO_MAX_SCAN_INTERVAL_NAME, WLAN_PARAM_Integer,
4554 struct hdd_config, mawc_nlo_max_scan_interval,
4555 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4556 CFG_MAWC_NLO_MAX_SCAN_INTERVAL_DEFAULT,
4557 CFG_MAWC_NLO_MAX_SCAN_INTERVAL_MIN,
4558 CFG_MAWC_NLO_MAX_SCAN_INTERVAL_MAX),
4559
4560
Jayachandran Sreekumaran68c952c2017-04-24 12:42:03 +05304561 REG_VARIABLE(CFG_EXTERNAL_ACS_POLICY, WLAN_PARAM_Integer,
4562 struct hdd_config, external_acs_policy,
4563 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4564 CFG_EXTERNAL_ACS_POLICY_DEFAULT,
4565 CFG_EXTERNAL_ACS_POLICY_MIN,
4566 CFG_EXTERNAL_ACS_POLICY_MAX),
4567
Naveen Rawat2b6e3c92017-03-20 13:59:07 -07004568 REG_VARIABLE(CFG_DROPPED_PKT_DISCONNECT_TH_NAME, WLAN_PARAM_Integer,
4569 struct hdd_config, pkt_err_disconn_th,
4570 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4571 CFG_DROPPED_PKT_DISCONNECT_TH_DEFAULT,
4572 CFG_DROPPED_PKT_DISCONNECT_TH_MIN,
4573 CFG_DROPPED_PKT_DISCONNECT_TH_MAX),
Naveen Rawatb2fc4132017-05-10 20:42:05 -07004574
4575 REG_VARIABLE(CFG_FORCE_1X1_NAME, WLAN_PARAM_Integer,
4576 struct hdd_config, is_force_1x1,
4577 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4578 CFG_FORCE_1X1_DEFAULT,
4579 CFG_FORCE_1X1_MIN,
4580 CFG_FORCE_1X1_MAX),
lifeng959a04c2017-05-10 14:21:28 +08004581
4582 REG_VARIABLE(CFG_SET_RTS_FOR_SIFS_BURSTING, WLAN_PARAM_Integer,
4583 struct hdd_config, enable_rts_sifsbursting,
4584 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4585 CFG_SET_RTS_FOR_SIFS_BURSTING_DEFAULT,
4586 CFG_SET_RTS_FOR_SIFS_BURSTING_MIN,
4587 CFG_SET_RTS_FOR_SIFS_BURSTING_MAX),
4588
4589 REG_VARIABLE(CFG_MAX_MPDUS_IN_AMPDU, WLAN_PARAM_Integer,
4590 struct hdd_config, max_mpdus_inampdu,
4591 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4592 CFG_MAX_MPDUS_IN_AMPDU_DEFAULT,
4593 CFG_MAX_MPDUS_IN_AMPDU_MIN,
4594 CFG_MAX_MPDUS_IN_AMPDU_MAX),
lifeng13a89d72017-05-10 14:49:29 +08004595
4596 REG_VARIABLE(CFG_SAP_MAX_MCS_FOR_TX_DATA, WLAN_PARAM_Integer,
4597 struct hdd_config, sap_max_mcs_txdata,
4598 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4599 CFG_SAP_MAX_MCS_FOR_TX_DATA_DEFAULT,
4600 CFG_SAP_MAX_MCS_FOR_TX_DATA_MIN,
4601 CFG_SAP_MAX_MCS_FOR_TX_DATA_MAX),
Manjunathappa Prakashdab74fa2017-06-19 12:11:03 -07004602
4603 REG_VARIABLE(CFG_TX_ORPHAN_ENABLE_NAME, WLAN_PARAM_Integer,
4604 struct hdd_config, tx_orphan_enable,
4605 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4606 CFG_TX_ORPHAN_ENABLE_DEFAULT,
4607 CFG_TX_ORPHAN_ENABLE_MIN,
4608 CFG_TX_ORPHAN_ENABLE_MAX),
Ravi Kumar Bokka05c14e52017-03-27 14:48:23 +05304609
4610 REG_VARIABLE(CFG_AUTO_DETECT_POWER_FAIL_MODE_NAME, WLAN_PARAM_Integer,
4611 struct hdd_config, auto_pwr_save_fail_mode,
4612 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4613 CFG_AUTO_DETECT_POWER_FAIL_MODE_DEFAULT,
4614 CFG_AUTO_DETECT_POWER_FAIL_MODE_MIN,
4615 CFG_AUTO_DETECT_POWER_FAIL_MODE_MAX),
4616
Naveen Rawat247a8682017-06-05 15:00:31 -07004617 REG_VARIABLE(CFG_11B_NUM_TX_CHAIN_NAME, WLAN_PARAM_Integer,
4618 struct hdd_config, num_11b_tx_chains,
4619 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4620 CFG_11B_NUM_TX_CHAIN_DEFAULT,
4621 CFG_11B_NUM_TX_CHAIN_MIN,
4622 CFG_11B_NUM_TX_CHAIN_MAX),
4623
4624 REG_VARIABLE(CFG_11AG_NUM_TX_CHAIN_NAME, WLAN_PARAM_Integer,
4625 struct hdd_config, num_11ag_tx_chains,
4626 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4627 CFG_11AG_NUM_TX_CHAIN_DEFAULT,
4628 CFG_11AG_NUM_TX_CHAIN_MIN,
4629 CFG_11AG_NUM_TX_CHAIN_MAX),
Ashish Kumar Dhanotiya9335d812017-06-30 16:57:20 +05304630
4631 REG_VARIABLE(CFG_ITO_REPEAT_COUNT_NAME, WLAN_PARAM_Integer,
4632 struct hdd_config, ito_repeat_count,
4633 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4634 CFG_ITO_REPEAT_COUNT_DEFAULT,
4635 CFG_ITO_REPEAT_COUNT_MIN,
4636 CFG_ITO_REPEAT_COUNT_MAX),
4637
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05304638 REG_VARIABLE(CFG_ROAM_DISALLOW_DURATION_NAME, WLAN_PARAM_Integer,
4639 struct hdd_config, disallow_duration,
4640 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4641 CFG_ROAM_DISALLOW_DURATION_DEFAULT,
4642 CFG_ROAM_DISALLOW_DURATION_MIN,
4643 CFG_ROAM_DISALLOW_DURATION_MAX),
4644
4645 REG_VARIABLE(CFG_ROAM_RSSI_CHANNEL_PENALIZATION_NAME,
4646 WLAN_PARAM_Integer, struct hdd_config,
4647 rssi_channel_penalization,
4648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4649 CFG_ROAM_RSSI_CHANNEL_PENALIZATION_DEFAULT,
4650 CFG_ROAM_RSSI_CHANNEL_PENALIZATION_MIN,
4651 CFG_ROAM_RSSI_CHANNEL_PENALIZATION_MAX),
4652
4653 REG_VARIABLE(CFG_ROAM_NUM_DISALLOWED_APS_NAME, WLAN_PARAM_Integer,
4654 struct hdd_config, num_disallowed_aps,
4655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4656 CFG_ROAM_NUM_DISALLOWED_APS_DEFAULT,
4657 CFG_ROAM_NUM_DISALLOWED_APS_MIN,
4658 CFG_ROAM_NUM_DISALLOWED_APS_MAX),
yeshwanth sriram guntuka1413dfb2017-06-23 14:09:48 +05304659
4660 REG_VARIABLE(CFG_OCE_ENABLE_STA_NAME, WLAN_PARAM_Integer,
4661 struct hdd_config, oce_sta_enabled,
4662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4663 CFG_OCE_ENABLE_STA_DEFAULT,
4664 CFG_OCE_ENABLE_STA_MIN,
4665 CFG_OCE_ENABLE_STA_MAX),
4666
4667 REG_VARIABLE(CFG_OCE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
4668 struct hdd_config, oce_sap_enabled,
4669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4670 CFG_OCE_ENABLE_SAP_DEFAULT,
4671 CFG_OCE_ENABLE_SAP_MIN,
4672 CFG_OCE_ENABLE_SAP_MAX),
Ashwini Patilf2bf05e2017-03-10 03:41:03 +05304673
Manjeet Singha9cae432017-02-28 11:58:22 +05304674 REG_VARIABLE(CFG_ENABLE_5G_BAND_PREF_NAME, WLAN_PARAM_Integer,
4675 struct hdd_config, enable_5g_band_pref,
4676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4677 CFG_ENABLE_5G_BAND_PREF_DEFAULT,
4678 CFG_ENABLE_5G_BAND_PREF_MIN,
4679 CFG_ENABLE_5G_BAND_PREF_MAX),
4680
4681 REG_VARIABLE(CFG_5G_RSSI_BOOST_THRESHOLD_NAME, WLAN_PARAM_Integer,
4682 struct hdd_config, rssi_boost_threshold_5g,
4683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4684 CFG_5G_RSSI_BOOST_THRESHOLD_DEFAULT,
4685 CFG_5G_RSSI_BOOST_THRESHOLD_MIN,
4686 CFG_5G_RSSI_BOOST_THRESHOLD_MAX),
4687
4688 REG_VARIABLE(CFG_5G_RSSI_BOOST_FACTOR_NAME, WLAN_PARAM_Integer,
4689 struct hdd_config, rssi_boost_factor_5g,
4690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4691 CFG_5G_RSSI_BOOST_FACTOR_DEFAULT,
4692 CFG_5G_RSSI_BOOST_FACTOR_MIN,
4693 CFG_5G_RSSI_BOOST_FACTOR_MAX),
4694
4695 REG_VARIABLE(CFG_5G_MAX_RSSI_BOOST_NAME, WLAN_PARAM_Integer,
4696 struct hdd_config, max_rssi_boost_5g,
4697 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4698 CFG_5G_MAX_RSSI_BOOST_DEFAULT,
4699 CFG_5G_MAX_RSSI_BOOST_MIN,
4700 CFG_5G_MAX_RSSI_BOOST_MAX),
4701
4702 REG_VARIABLE(CFG_5G_RSSI_PENALIZE_THRESHOLD_NAME, WLAN_PARAM_Integer,
4703 struct hdd_config, rssi_penalize_threshold_5g,
4704 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4705 CFG_5G_RSSI_PENALIZE_THRESHOLD_DEFAULT,
4706 CFG_5G_RSSI_PENALIZE_THRESHOLD_MIN,
4707 CFG_5G_RSSI_PENALIZE_THRESHOLD_MAX),
4708
4709 REG_VARIABLE(CFG_5G_RSSI_PENALIZE_FACTOR_NAME, WLAN_PARAM_Integer,
4710 struct hdd_config, rssi_penalize_factor_5g,
4711 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4712 CFG_5G_RSSI_PENALIZE_FACTOR_DEFAULT,
4713 CFG_5G_RSSI_PENALIZE_FACTOR_MIN,
4714 CFG_5G_RSSI_PENALIZE_FACTOR_MAX),
4715
4716 REG_VARIABLE(CFG_5G_MAX_RSSI_PENALIZE_NAME, WLAN_PARAM_Integer,
4717 struct hdd_config, max_rssi_penalize_5g,
4718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4719 CFG_5G_MAX_RSSI_PENALIZE_DEFAULT,
4720 CFG_5G_MAX_RSSI_PENALIZE_MIN,
4721 CFG_5G_MAX_RSSI_PENALIZE_MAX),
Ashish Kumar Dhanotiyab8630ab2017-07-21 14:18:14 +05304722
4723 REG_VARIABLE(CFG_LPRx_NAME, WLAN_PARAM_Integer,
4724 struct hdd_config, enable_lprx,
4725 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4726 CFG_LPRx_DEFAULT,
4727 CFG_LPRx_MIN,
4728 CFG_LPRx_MAX),
Ashish Kumar Dhanotiyab28338c2017-07-21 20:12:34 +05304729
4730 REG_VARIABLE(CFG_UPPER_BRSSI_THRESH_NAME, WLAN_PARAM_Integer,
4731 struct hdd_config, upper_brssi_thresh,
4732 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4733 CFG_UPPER_BRSSI_THRESH_DEFAULT,
4734 CFG_UPPER_BRSSI_THRESH_MIN,
4735 CFG_UPPER_BRSSI_THRESH_MAX),
4736
4737 REG_VARIABLE(CFG_LOWER_BRSSI_THRESH_NAME, WLAN_PARAM_Integer,
4738 struct hdd_config, lower_brssi_thresh,
4739 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4740 CFG_LOWER_BRSSI_THRESH_DEFAULT,
4741 CFG_LOWER_BRSSI_THRESH_MIN,
4742 CFG_LOWER_BRSSI_THRESH_MAX),
4743
4744 REG_VARIABLE(CFG_DTIM_1CHRX_ENABLE_NAME, WLAN_PARAM_Integer,
4745 struct hdd_config, enable_dtim_1chrx,
4746 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4747 CFG_DTIM_1CHRX_ENABLE_DEFAULT,
4748 CFG_DTIM_1CHRX_ENABLE_MIN,
4749 CFG_DTIM_1CHRX_ENABLE_MAX),
Ravi Joshi9771d432017-06-26 13:58:12 -07004750
4751 REG_VARIABLE(CFG_RANDOMIZE_NDI_MAC_NAME, WLAN_PARAM_Integer,
4752 struct hdd_config, is_ndi_mac_randomized,
4753 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4754 CFG_RANDOMIZE_NDI_MAC_DEFAULT,
4755 CFG_RANDOMIZE_NDI_MAC_MIN,
4756 CFG_RANDOMIZE_NDI_MAC_MAX),
Amar Singhale4a2dd52017-08-07 13:59:05 -07004757
4758 REG_VARIABLE(CFG_SCAN_11D_INTERVAL_NAME, WLAN_PARAM_Integer,
4759 struct hdd_config, scan_11d_interval,
4760 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4761 CFG_SCAN_11D_INTERVAL_DEFAULT,
4762 CFG_SCAN_11D_INTERVAL_MIN,
4763 CFG_SCAN_11D_INTERVAL_MAX),
hqu16d6e082017-09-04 10:52:31 +08004764
4765 REG_VARIABLE(CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME,
4766 WLAN_PARAM_Integer,
4767 struct hdd_config, chan_switch_hostapd_rate_enabled,
4768 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4769 CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_DEFAULT,
4770 CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_MIN,
4771 CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_MAX),
Ashwini Patilf2bf05e2017-03-10 03:41:03 +05304772
Abhishek Singhb58164a2017-07-19 18:47:23 +05304773 REG_VARIABLE(CFG_IS_BSSID_HINT_PRIORITY_NAME, WLAN_PARAM_Integer,
4774 struct hdd_config, is_bssid_hint_priority,
4775 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4776 CFG_IS_BSSID_HINT_PRIORITY_DEFAULT,
4777 CFG_IS_BSSID_HINT_PRIORITY_MIN,
4778 CFG_IS_BSSID_HINT_PRIORITY_MAX),
4779
Paul Zhang99fe8842017-12-08 14:43:46 +08004780 REG_VARIABLE(CFG_LATENCY_ENABLE_NAME, WLAN_PARAM_Integer,
4781 struct hdd_config, wlm_latency_enable,
4782 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4783 CFG_LATENCY_ENABLE_DEFAULT,
4784 CFG_LATENCY_ENABLE_MIN,
4785 CFG_LATENCY_ENABLE_MAX),
4786
4787 REG_VARIABLE(CFG_LATENCY_LEVEL_NAME, WLAN_PARAM_Integer,
4788 struct hdd_config, wlm_latency_level,
4789 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4790 CFG_LATENCY_LEVEL_DEFAULT,
4791 CFG_LATENCY_LEVEL_MIN,
4792 CFG_LATENCY_LEVEL_MAX),
4793
4794 REG_VARIABLE(CFG_LATENCY_FLAGS_NORMAL_NAME, WLAN_PARAM_HexInteger,
4795 struct hdd_config, wlm_latency_flags_normal,
4796 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4797 CFG_LATENCY_FLAGS_NORMAL_DEFAULT,
4798 CFG_LATENCY_FLAGS_NORMAL_MIN,
4799 CFG_LATENCY_FLAGS_NORMAL_MAX),
4800
4801 REG_VARIABLE(CFG_LATENCY_FLAGS_MODERATE_NAME, WLAN_PARAM_HexInteger,
4802 struct hdd_config, wlm_latency_flags_moderate,
4803 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4804 CFG_LATENCY_FLAGS_MODERATE_DEFAULT,
4805 CFG_LATENCY_FLAGS_MODERATE_MIN,
4806 CFG_LATENCY_FLAGS_MODERATE_MAX),
4807
4808 REG_VARIABLE(CFG_LATENCY_FLAGS_LOW_NAME, WLAN_PARAM_HexInteger,
4809 struct hdd_config, wlm_latency_flags_low,
4810 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4811 CFG_LATENCY_FLAGS_LOW_DEFAULT,
4812 CFG_LATENCY_FLAGS_LOW_MIN,
4813 CFG_LATENCY_FLAGS_LOW_MAX),
4814
4815 REG_VARIABLE(CFG_LATENCY_FLAGS_ULTRALOW_NAME, WLAN_PARAM_HexInteger,
4816 struct hdd_config, wlm_latency_flags_ultralow,
4817 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4818 CFG_LATENCY_FLAGS_ULTRALOW_DEFAULT,
4819 CFG_LATENCY_FLAGS_ULTRALOW_MIN,
4820 CFG_LATENCY_FLAGS_ULTRALOW_MAX),
4821
Himanshu Agarwal8bcec572017-09-28 11:54:37 +05304822 REG_VARIABLE(CFG_RSSI_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4823 struct hdd_config, rssi_weightage,
4824 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4825 CFG_RSSI_WEIGHTAGE_DEFAULT,
4826 CFG_RSSI_WEIGHTAGE_MIN,
4827 CFG_RSSI_WEIGHTAGE_MAX),
4828
4829 REG_VARIABLE(CFG_HT_CAPABILITY_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4830 struct hdd_config, ht_caps_weightage,
4831 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4832 CFG_HT_CAPABILITY_WEIGHTAGE_DEFAULT,
4833 CFG_HT_CAPABILITY_WEIGHTAGE_MIN,
4834 CFG_HT_CAPABILITY_WEIGHTAGE_MAX),
4835
4836 REG_VARIABLE(CFG_VHT_CAPABILITY_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4837 struct hdd_config, vht_caps_weightage,
4838 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4839 CFG_VHT_CAPABILITY_WEIGHTAGE_DEFAULT,
4840 CFG_VHT_CAPABILITY_WEIGHTAGE_MIN,
4841 CFG_VHT_CAPABILITY_WEIGHTAGE_MAX),
4842
4843 REG_VARIABLE(CFG_HE_CAPABILITY_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4844 struct hdd_config, he_caps_weightage,
4845 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4846 CFG_HE_CAPABILITY_WEIGHTAGE_DEFAULT,
4847 CFG_HE_CAPABILITY_WEIGHTAGE_MIN,
4848 CFG_HE_CAPABILITY_WEIGHTAGE_MAX),
4849
4850 REG_VARIABLE(CFG_CHAN_WIDTH_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4851 struct hdd_config, chan_width_weightage,
4852 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4853 CFG_CHAN_WIDTH_WEIGHTAGE_DEFAULT,
4854 CFG_CHAN_WIDTH_WEIGHTAGE_MIN,
4855 CFG_CHAN_WIDTH_WEIGHTAGE_MAX),
4856
4857 REG_VARIABLE(CFG_CHAN_BAND_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4858 struct hdd_config, chan_band_weightage,
4859 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4860 CFG_CHAN_BAND_WEIGHTAGE_DEFAULT,
4861 CFG_CHAN_BAND_WEIGHTAGE_MIN,
4862 CFG_CHAN_BAND_WEIGHTAGE_MAX),
4863
4864 REG_VARIABLE(CFG_NSS_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4865 struct hdd_config, nss_weightage,
4866 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4867 CFG_NSS_WEIGHTAGE_DEFAULT,
4868 CFG_NSS_WEIGHTAGE_MIN,
4869 CFG_NSS_WEIGHTAGE_MAX),
4870
4871 REG_VARIABLE(CFG_BEAMFORMING_CAP_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4872 struct hdd_config, beamforming_cap_weightage,
4873 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4874 CFG_BEAMFORMING_CAP_WEIGHTAGE_DEFAULT,
4875 CFG_BEAMFORMING_CAP_WEIGHTAGE_MIN,
4876 CFG_BEAMFORMING_CAP_WEIGHTAGE_MAX),
4877
4878 REG_VARIABLE(CFG_PCL_WEIGHT_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4879 struct hdd_config, pcl_weightage,
4880 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4881 CFG_PCL_WEIGHT_DEFAULT,
4882 CFG_PCL_WEIGHT_MIN,
4883 CFG_PCL_WEIGHT_MAX),
4884
4885 REG_VARIABLE(CFG_CHANNEL_CONGESTION_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4886 struct hdd_config, channel_congestion_weightage,
4887 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4888 CFG_CHANNEL_CONGESTION_WEIGHTAGE_DEFAULT,
4889 CFG_CHANNEL_CONGESTION_WEIGHTAGE_MIN,
4890 CFG_CHANNEL_CONGESTION_WEIGHTAGE_MAX),
4891
4892 REG_VARIABLE(CFG_OCE_WAN_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4893 struct hdd_config, oce_wan_weightage,
4894 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4895 CFG_OCE_WAN_WEIGHTAGE_DEFAULT,
4896 CFG_OCE_WAN_WEIGHTAGE_MIN,
4897 CFG_OCE_WAN_WEIGHTAGE_MAX),
4898
4899 REG_VARIABLE(CFG_BEST_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
4900 struct hdd_config, best_rssi_threshold,
4901 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4902 CFG_BEST_RSSI_THRESHOLD_DEFAULT,
4903 CFG_BEST_RSSI_THRESHOLD_MIN,
4904 CFG_BEST_RSSI_THRESHOLD_MAX),
4905
4906 REG_VARIABLE(CFG_GOOD_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
4907 struct hdd_config, good_rssi_threshold,
4908 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4909 CFG_GOOD_RSSI_THRESHOLD_DEFAULT,
4910 CFG_GOOD_RSSI_THRESHOLD_MIN,
4911 CFG_GOOD_RSSI_THRESHOLD_MAX),
4912
4913 REG_VARIABLE(CFG_BAD_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
4914 struct hdd_config, bad_rssi_threshold,
4915 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4916 CFG_BAD_RSSI_THRESHOLD_DEFAULT,
4917 CFG_BAD_RSSI_THRESHOLD_MIN,
4918 CFG_BAD_RSSI_THRESHOLD_MAX),
4919
4920 REG_VARIABLE(CFG_GOOD_RSSI_PCNT_NAME, WLAN_PARAM_Integer,
4921 struct hdd_config, good_rssi_pcnt,
4922 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4923 CFG_GOOD_RSSI_PCNT_DEFAULT,
4924 CFG_GOOD_RSSI_PCNT_MIN,
4925 CFG_GOOD_RSSI_PCNT_MAX),
4926
4927 REG_VARIABLE(CFG_BAD_RSSI_PCNT_NAME, WLAN_PARAM_Integer,
4928 struct hdd_config, bad_rssi_pcnt,
4929 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4930 CFG_BAD_RSSI_PCNT_DEFAULT,
4931 CFG_BAD_RSSI_PCNT_MIN,
4932 CFG_BAD_RSSI_PCNT_MAX),
4933
4934 REG_VARIABLE(CFG_GOOD_RSSI_BUCKET_SIZE_NAME, WLAN_PARAM_Integer,
4935 struct hdd_config, good_rssi_bucket_size,
4936 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4937 CFG_GOOD_RSSI_BUCKET_SIZE_DEFAULT,
4938 CFG_GOOD_RSSI_BUCKET_SIZE_MIN,
4939 CFG_GOOD_RSSI_BUCKET_SIZE_MAX),
4940
4941 REG_VARIABLE(CFG_BAD_RSSI_BUCKET_SIZE_NAME, WLAN_PARAM_Integer,
4942 struct hdd_config, bad_rssi_bucket_size,
4943 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4944 CFG_BAD_RSSI_BUCKET_SIZE_DEFAULT,
4945 CFG_BAD_RSSI_BUCKET_SIZE_MIN,
4946 CFG_BAD_RSSI_BUCKET_SIZE_MAX),
4947
4948 REG_VARIABLE(CFG_RSSI_PERF_5G_THRESHOLD_NAME, WLAN_PARAM_Integer,
4949 struct hdd_config, rssi_pref_5g_rssi_thresh,
4950 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4951 CFG_RSSI_PERF_5G_THRESHOLD_DEFAULT,
4952 CFG_RSSI_PERF_5G_THRESHOLD_MIN,
4953 CFG_RSSI_PERF_5G_THRESHOLD_MAX),
4954
4955 REG_VARIABLE(CFG_BAND_WIDTH_WEIGHT_PER_INDEX_NAME,
4956 WLAN_PARAM_HexInteger,
4957 struct hdd_config, bandwidth_weight_per_index,
4958 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4959 CFG_BAND_WIDTH_WEIGHT_PER_INDEX_DEFAULT,
4960 CFG_BAND_WIDTH_WEIGHT_PER_INDEX_MIN,
4961 CFG_BAND_WIDTH_WEIGHT_PER_INDEX_MAX),
4962
4963 REG_VARIABLE(CFG_NSS_WEIGHT_PER_INDEX_NAME, WLAN_PARAM_HexInteger,
4964 struct hdd_config, nss_weight_per_index,
4965 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4966 CFG_NSS_WEIGHT_PER_INDEX_DEFAULT,
4967 CFG_NSS_WEIGHT_PER_INDEX_MIN,
4968 CFG_NSS_WEIGHT_PER_INDEX_MAX),
4969
4970 REG_VARIABLE(CFG_BAND_WEIGHT_PER_INDEX_NAME, WLAN_PARAM_HexInteger,
4971 struct hdd_config, band_weight_per_index,
4972 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4973 CFG_BAND_WEIGHT_PER_INDEX_DEFAULT,
4974 CFG_BAND_WEIGHT_PER_INDEX_MIN,
4975 CFG_BAND_WEIGHT_PER_INDEX_MAX),
4976
4977 REG_VARIABLE(CFG_ESP_QBSS_SLOTS_NAME, WLAN_PARAM_Integer,
4978 struct hdd_config, num_esp_qbss_slots,
4979 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4980 CFG_ESP_QBSS_SLOTS_DEFAULT,
4981 CFG_ESP_QBSS_SLOTS_MIN,
4982 CFG_ESP_QBSS_SLOTS_MAX),
4983
4984 REG_VARIABLE(CFG_ESP_QBSS_SCORE_IDX3_TO_0_NAME, WLAN_PARAM_HexInteger,
4985 struct hdd_config, esp_qbss_score_slots3_to_0,
4986 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4987 CFG_ESP_QBSS_SCORE_IDX3_TO_0_DEFAULT,
4988 CFG_ESP_QBSS_SCORE_IDX3_TO_0_MIN,
4989 CFG_ESP_QBSS_SCORE_IDX3_TO_0_MAX),
4990
4991 REG_VARIABLE(CFG_ESP_QBSS_SCORE_IDX7_TO_4_NAME, WLAN_PARAM_HexInteger,
4992 struct hdd_config, esp_qbss_score_slots7_to_4,
4993 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4994 CFG_ESP_QBSS_SCORE_IDX7_TO_4_DEFAULT,
4995 CFG_ESP_QBSS_SCORE_IDX7_TO_4_MIN,
4996 CFG_ESP_QBSS_SCORE_IDX7_TO_4_MAX),
4997
4998 REG_VARIABLE(CFG_ESP_QBSS_SCORE_IDX11_TO_8_NAME, WLAN_PARAM_HexInteger,
4999 struct hdd_config, esp_qbss_score_slots11_to_8,
5000 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5001 CFG_ESP_QBSS_SCORE_IDX11_TO_8_DEFAULT,
5002 CFG_ESP_QBSS_SCORE_IDX11_TO_8_MIN,
5003 CFG_ESP_QBSS_SCORE_IDX11_TO_8_MAX),
5004
5005 REG_VARIABLE(CFG_ESP_QBSS_SCORE_IDX15_TO_12_NAME, WLAN_PARAM_HexInteger,
5006 struct hdd_config, esp_qbss_score_slots15_to_12,
5007 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5008 CFG_ESP_QBSS_SCORE_IDX15_TO_12_DEFAULT,
5009 CFG_ESP_QBSS_SCORE_IDX15_TO_12_MIN,
5010 CFG_ESP_QBSS_SCORE_IDX15_TO_12_MAX),
5011
5012 REG_VARIABLE(CFG_OCE_WAN_SLOTS_NAME, WLAN_PARAM_Integer,
5013 struct hdd_config, num_oce_wan_slots,
5014 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5015 CFG_OCE_WAN_SLOTS_DEFAULT,
5016 CFG_OCE_WAN_SLOTS_MIN,
5017 CFG_OCE_WAN_SLOTS_MAX),
5018
5019 REG_VARIABLE(CFG_OCE_WAN_SCORE_IDX3_TO_0_NAME, WLAN_PARAM_HexInteger,
5020 struct hdd_config, oce_wan_score_slots3_to_0,
5021 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5022 CFG_OCE_WAN_SCORE_IDX3_TO_0_DEFAULT,
5023 CFG_OCE_WAN_SCORE_IDX3_TO_0_MIN,
5024 CFG_OCE_WAN_SCORE_IDX3_TO_0_MAX),
5025
5026 REG_VARIABLE(CFG_OCE_WAN_SCORE_IDX7_TO_4_NAME, WLAN_PARAM_HexInteger,
5027 struct hdd_config, oce_wan_score_slots7_to_4,
5028 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5029 CFG_OCE_WAN_SCORE_IDX7_TO_4_DEFAULT,
5030 CFG_OCE_WAN_SCORE_IDX7_TO_4_MIN,
5031 CFG_OCE_WAN_SCORE_IDX7_TO_4_MAX),
5032
5033 REG_VARIABLE(CFG_OCE_WAN_SCORE_IDX11_TO_8_NAME, WLAN_PARAM_HexInteger,
5034 struct hdd_config, oce_wan_score_slots11_to_8,
5035 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5036 CFG_OCE_WAN_SCORE_IDX11_TO_8_DEFAULT,
5037 CFG_OCE_WAN_SCORE_IDX11_TO_8_MIN,
5038 CFG_OCE_WAN_SCORE_IDX11_TO_8_MAX),
5039
5040 REG_VARIABLE(CFG_OCE_WAN_SCORE_IDX15_TO_12_NAME, WLAN_PARAM_HexInteger,
5041 struct hdd_config, oce_wan_score_slots15_to_12,
5042 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5043 CFG_OCE_WAN_SCORE_IDX15_TO_12_DEFAULT,
5044 CFG_OCE_WAN_SCORE_IDX15_TO_12_MIN,
5045 CFG_OCE_WAN_SCORE_IDX15_TO_12_MAX),
5046
5047 REG_VARIABLE(CFG_ENABLE_SCORING_FOR_ROAM_NAME, WLAN_PARAM_Integer,
5048 struct hdd_config, enable_scoring_for_roam,
5049 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5050 CFG_ENABLE_SCORING_FOR_ROAM_DEFAULT,
5051 CFG_ENABLE_SCORING_FOR_ROAM_MIN,
5052 CFG_ENABLE_SCORING_FOR_ROAM_MAX),
5053
Abhishek Singh6454ad32017-12-20 10:42:21 +05305054 REG_VARIABLE(CFG_FORCE_RSNE_OVERRIDE_NAME, WLAN_PARAM_Integer,
5055 struct hdd_config, force_rsne_override,
5056 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5057 CFG_FORCE_RSNE_OVERRIDE_DEFAULT,
5058 CFG_FORCE_RSNE_OVERRIDE_MIN,
5059 CFG_FORCE_RSNE_OVERRIDE_MAX),
5060
Ashwini Patilf2bf05e2017-03-10 03:41:03 +05305061 REG_VARIABLE(CFG_MBO_CANDIDATE_RSSI_THRESHOLD_NAME,
5062 WLAN_PARAM_SignedInteger, struct hdd_config,
5063 mbo_candidate_rssi_thres,
5064 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5065 CFG_CANDIDATE_RSSI_THRESHOLD_DEFAULT,
5066 CFG_CANDIDATE_RSSI_THRESHOLD_MIN,
5067 CFG_CANDIDATE_RSSI_THRESHOLD_MAX),
5068
5069 REG_VARIABLE(CFG_MBO_CURRENT_RSSI_THRESHOLD_NAME,
5070 WLAN_PARAM_SignedInteger, struct hdd_config,
5071 mbo_current_rssi_thres,
5072 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5073 CFG_CURRENT_RSSI_THRESHOLD_DEFAULT,
5074 CFG_CURRENT_RSSI_THRESHOLD_MIN,
5075 CFG_CURRENT_RSSI_THRESHOLD_MAX),
5076
5077 REG_VARIABLE(CFG_MBO_CUR_RSSI_MCC_THRESHOLD_NAME,
5078 WLAN_PARAM_SignedInteger, struct hdd_config,
5079 mbo_current_rssi_mcc_thres,
5080 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5081 CFG_MBO_CUR_RSSI_MCC_THRESHOLD_DEFAULT,
5082 CFG_MBO_CUR_RSSI_MCC_THRESHOLD_MIN,
5083 CFG_MBO_CUR_RSSI_MCC_THRESHOLD_MAX),
5084
5085 REG_VARIABLE(CFG_MBO_CAND_RSSI_BTC_THRESHOLD_NAME,
5086 WLAN_PARAM_SignedInteger, struct hdd_config,
5087 mbo_candidate_rssi_btc_thres,
5088 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5089 CFG_MBO_CAND_RSSI_BTC_THRESHOLD_DEFAULT,
5090 CFG_MBO_CAND_RSSI_BTC_THRESHOLD_MIN,
5091 CFG_MBO_CAND_RSSI_BTC_THRESHOLD_MAX),
Vignesh Viswanathancc7f1b92017-09-28 13:12:24 +05305092 REG_VARIABLE(CFG_IS_FILS_ENABLED_NAME, WLAN_PARAM_Integer,
5093 struct hdd_config, is_fils_enabled,
5094 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5095 CFG_IS_FILS_ENABLED_DEFAULT,
5096 CFG_IS_FILS_ENABLED_MIN,
5097 CFG_IS_FILS_ENABLED_MAX),
Hanumanth Reddy Pothula3def8942017-10-05 16:19:36 +05305098
5099 REG_VARIABLE(CFG_ENABLE_PACKET_FILTERS_NAME, WLAN_PARAM_Integer,
5100 struct hdd_config, packet_filters_bitmap,
5101 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5102 CFG_ENABLE_PACKET_FILTERS_DEFAULT,
5103 CFG_ENABLE_PACKET_FILTERS_MIN,
5104 CFG_ENABLE_PACKET_FILTERS_MAX),
lifeng1c16b6b2017-09-25 13:59:55 +08005105
5106 REG_VARIABLE(CFG_DFS_BEACON_TX_ENHANCED, WLAN_PARAM_Integer,
5107 struct hdd_config, dfs_beacon_tx_enhanced,
5108 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5109 CFG_DFS_BEACON_TX_ENHANCED_DEFAULT,
5110 CFG_DFS_BEACON_TX_ENHANCED_MIN,
5111 CFG_DFS_BEACON_TX_ENHANCED_MAX),
lifeng7c607dd2017-02-21 21:16:49 +08005112
5113 REG_VARIABLE(CFG_REDUCED_BEACON_INTERVAL, WLAN_PARAM_Integer,
5114 struct hdd_config, reduced_beacon_interval,
5115 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5116 CFG_REDUCED_BEACON_INTERVAL_DEFAULT,
5117 CFG_REDUCED_BEACON_INTERVAL_MIN,
5118 CFG_REDUCED_BEACON_INTERVAL_MAX),
Yeshwanth Sriram Guntuka2ba6fe92017-10-04 14:40:45 +05305119
5120 REG_VARIABLE(CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_NAME,
5121 WLAN_PARAM_Integer, struct hdd_config,
5122 rssi_assoc_reject_enabled,
5123 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5124 CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_DEFAULT,
5125 CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_MIN,
5126 CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_MAX),
5127
5128 REG_VARIABLE(CFG_OCE_PROBE_REQ_RATE_NAME, WLAN_PARAM_Integer,
5129 struct hdd_config, oce_probe_req_rate_enabled,
5130 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5131 CFG_OCE_PROBE_REQ_RATE_DEFAULT,
5132 CFG_OCE_PROBE_REQ_RATE_MIN,
5133 CFG_OCE_PROBE_REQ_RATE_MAX),
5134
5135 REG_VARIABLE(CFG_OCE_PROBE_RSP_RATE_NAME, WLAN_PARAM_Integer,
5136 struct hdd_config, oce_probe_resp_rate_enabled,
5137 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5138 CFG_OCE_PROBE_RSP_RATE_DEFAULT,
5139 CFG_OCE_PROBE_RSP_RATE_MIN,
5140 CFG_OCE_PROBE_RSP_RATE_MAX),
5141
5142 REG_VARIABLE(CFG_OCE_BEACON_RATE_NAME, WLAN_PARAM_Integer,
5143 struct hdd_config, oce_beacon_rate_enabled,
5144 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5145 CFG_OCE_BEACON_RATE_DEFAULT,
5146 CFG_OCE_BEACON_RATE_MIN,
5147 CFG_OCE_BEACON_RATE_MAX),
5148
5149 REG_VARIABLE(CFG_ENABLE_PROBE_REQ_DEFERRAL_NAME, WLAN_PARAM_Integer,
5150 struct hdd_config, probe_req_deferral_enabled,
5151 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5152 CFG_ENABLE_PROBE_REQ_DEFERRAL_DEFAULT,
5153 CFG_ENABLE_PROBE_REQ_DEFERRAL_MIN,
5154 CFG_ENABLE_PROBE_REQ_DEFERRAL_MAX),
5155
5156 REG_VARIABLE(CFG_ENABLE_FILS_DISCOVERY_SAP_NAME, WLAN_PARAM_Integer,
5157 struct hdd_config, fils_discovery_sap_enabled,
5158 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5159 CFG_ENABLE_FILS_DISCOVERY_SAP_DEFAULT,
5160 CFG_ENABLE_FILS_DISCOVERY_SAP_MIN,
5161 CFG_ENABLE_FILS_DISCOVERY_SAP_MAX),
5162
5163 REG_VARIABLE(CFG_ENABLE_ESP_FEATURE_NAME, WLAN_PARAM_Integer,
5164 struct hdd_config, esp_for_roam_enabled,
5165 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5166 CFG_ENABLE_ESP_FEATURE_DEFAULT,
5167 CFG_ENABLE_ESP_FEATURE_MIN,
5168 CFG_ENABLE_ESP_FEATURE_MAX),
5169
Naveen Rawat269b4ed2017-12-07 06:47:32 -08005170 REG_VARIABLE(CFG_TX_CHAIN_MASK_2G_NAME, WLAN_PARAM_Integer,
5171 struct hdd_config, tx_chain_mask_2g,
5172 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5173 CFG_TX_CHAIN_MASK_2G_DEFAULT,
5174 CFG_TX_CHAIN_MASK_2G_MIN,
5175 CFG_TX_CHAIN_MASK_2G_MAX),
5176
5177 REG_VARIABLE(CFG_RX_CHAIN_MASK_2G_NAME, WLAN_PARAM_Integer,
5178 struct hdd_config, rx_chain_mask_2g,
5179 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5180 CFG_RX_CHAIN_MASK_2G_DEFAULT,
5181 CFG_RX_CHAIN_MASK_2G_MIN,
5182 CFG_RX_CHAIN_MASK_2G_MAX),
5183
5184 REG_VARIABLE(CFG_TX_CHAIN_MASK_5G_NAME, WLAN_PARAM_Integer,
5185 struct hdd_config, tx_chain_mask_5g,
5186 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5187 CFG_TX_CHAIN_MASK_5G_DEFAULT,
5188 CFG_TX_CHAIN_MASK_5G_MIN,
5189 CFG_TX_CHAIN_MASK_5G_MAX),
5190
5191 REG_VARIABLE(CFG_RX_CHAIN_MASK_5G_NAME, WLAN_PARAM_Integer,
5192 struct hdd_config, rx_chain_mask_5g,
5193 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5194 CFG_RX_CHAIN_MASK_5G_DEFAULT,
5195 CFG_RX_CHAIN_MASK_5G_MIN,
5196 CFG_RX_CHAIN_MASK_5G_MAX),
yeshwanth sriram guntuka41f936c2017-09-01 17:53:49 +05305197
5198 REG_VARIABLE(CFG_BTM_ENABLE_NAME, WLAN_PARAM_HexInteger,
5199 struct hdd_config, btm_offload_config,
5200 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5201 CFG_BTM_ENABLE_DEFAULT,
5202 CFG_BTM_ENABLE_MIN,
5203 CFG_BTM_ENABLE_MAX),
Padma, Santhosh Kumar3e47c632017-09-01 20:15:27 +05305204
5205#ifdef WLAN_FEATURE_SAE
5206 REG_VARIABLE(CFG_IS_SAE_ENABLED_NAME, WLAN_PARAM_Integer,
5207 struct hdd_config, is_sae_enabled,
5208 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5209 CFG_IS_SAE_ENABLED_DEFAULT,
5210 CFG_IS_SAE_ENABLED_MIN,
5211 CFG_IS_SAE_ENABLED_MAX),
5212#endif
Jiachao Wu84bb2ea2018-01-08 16:17:33 +08005213
5214 REG_VARIABLE(CFG_BTM_SOLICITED_TIMEOUT, WLAN_PARAM_Integer,
5215 struct hdd_config, btm_solicited_timeout,
5216 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5217 CFG_BTM_SOLICITED_TIMEOUT_DEFAULT,
5218 CFG_BTM_SOLICITED_TIMEOUT_MIN,
5219 CFG_BTM_SOLICITED_TIMEOUT_MAX),
5220
5221 REG_VARIABLE(CFG_BTM_MAX_ATTEMPT_CNT, WLAN_PARAM_Integer,
5222 struct hdd_config, btm_max_attempt_cnt,
5223 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5224 CFG_BTM_MAX_ATTEMPT_CNT_DEFAULT,
5225 CFG_BTM_MAX_ATTEMPT_CNT_MIN,
5226 CFG_BTM_MAX_ATTEMPT_CNT_MAX),
5227
5228 REG_VARIABLE(CFG_BTM_STICKY_TIME, WLAN_PARAM_Integer,
5229 struct hdd_config, btm_sticky_time,
5230 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5231 CFG_BTM_STICKY_TIME_DEFAULT,
5232 CFG_BTM_STICKY_TIME_MIN,
5233 CFG_BTM_STICKY_TIME_MAX),
Ashish Kumar Dhanotiyacb14b112018-01-19 19:26:44 +05305234
5235 REG_VARIABLE(CFG_ENABLE_GCMP_NAME, WLAN_PARAM_Integer,
5236 struct hdd_config, gcmp_enabled,
5237 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5238 CFG_ENABLE_GCMP_DEFAULT,
5239 CFG_ENABLE_GCMP_MIN,
5240 CFG_ENABLE_GCMP_MAX),
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05305241
5242 REG_VARIABLE(CFG_OFFLOAD_11K_ENABLE_BITMASK_NAME,
5243 WLAN_PARAM_Integer,
5244 struct hdd_config, offload_11k_enable_bitmask,
5245 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5246 CFG_OFFLOAD_11K_ENABLE_BITMASK_DEFAULT,
5247 CFG_OFFLOAD_11K_ENABLE_BITMASK_MIN,
5248 CFG_OFFLOAD_11K_ENABLE_BITMASK_MAX),
5249
5250 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_NAME,
5251 WLAN_PARAM_Integer,
5252 struct hdd_config, neighbor_report_offload_params_bitmask,
5253 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5254 CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_DEFAULT,
5255 CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_MIN,
5256 CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_MAX),
5257
5258 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_NAME,
5259 WLAN_PARAM_Integer,
5260 struct hdd_config, neighbor_report_offload_time_offset,
5261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5262 CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_DEFAULT,
5263 CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_MIN,
5264 CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_MAX),
5265
5266 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_NAME,
5267 WLAN_PARAM_Integer,
5268 struct hdd_config, neighbor_report_offload_low_rssi_offset,
5269 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5270 CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_DEFAULT,
5271 CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_MIN,
5272 CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_MAX),
5273
5274 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_NAME,
5275 WLAN_PARAM_Integer,
5276 struct hdd_config,
5277 neighbor_report_offload_bmiss_count_trigger,
5278 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5279 CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_DEFAULT,
5280 CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_MIN,
5281 CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_MAX),
5282
5283 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_NAME,
5284 WLAN_PARAM_Integer,
5285 struct hdd_config,
5286 neighbor_report_offload_per_threshold_offset,
5287 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5288 CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_DEFAULT,
5289 CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_MIN,
5290 CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_MAX),
5291
5292 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_NAME,
5293 WLAN_PARAM_Integer,
5294 struct hdd_config, neighbor_report_offload_cache_timeout,
5295 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5296 CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_DEFAULT,
5297 CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_MIN,
5298 CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_MAX),
5299
5300 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_NAME,
5301 WLAN_PARAM_Integer,
5302 struct hdd_config, neighbor_report_offload_max_req_cap,
5303 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5304 CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_DEFAULT,
5305 CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_MIN,
5306 CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_MAX),
Surabhi Vishnoi7f085d22018-01-30 12:11:14 +05305307
5308 REG_VARIABLE(CFG_WMI_WQ_WATCHDOG, WLAN_PARAM_Integer,
5309 struct hdd_config, wmi_wq_watchdog_timeout,
5310 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5311 CFG_WMI_WQ_WATCHDOG_DEFAULT,
5312 CFG_WMI_WQ_WATCHDOG_MIN,
5313 CFG_WMI_WQ_WATCHDOG_MAX),
Ashish Kumar Dhanotiya191d1642018-02-08 17:43:09 +05305314
5315 REG_VARIABLE(CFG_DTIM_SELECTION_DIVERSITY_NAME,
5316 WLAN_PARAM_Integer,
5317 struct hdd_config, enable_dtim_selection_diversity,
5318 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5319 CFG_DTIM_SELECTION_DIVERSITY_DEFAULT,
5320 CFG_DTIM_SELECTION_DIVERSITY_MIN,
5321 CFG_DTIM_SELECTION_DIVERSITY_MAX),
Yeshwanth Sriram Guntukadb7995d2018-01-22 16:46:59 +05305322
5323 REG_VARIABLE(CFG_CHANNEL_SELECT_LOGIC_CONC_NAME, WLAN_PARAM_HexInteger,
5324 struct hdd_config, channel_select_logic_conc,
5325 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5326 CFG_CHANNEL_SELECT_LOGIC_CONC_DEFAULT,
5327 CFG_CHANNEL_SELECT_LOGIC_CONC_MIN,
5328 CFG_CHANNEL_SELECT_LOGIC_CONC_MAX),
Ashish Kumar Dhanotiya48dac7d2018-03-28 14:59:50 +05305329
5330 REG_VARIABLE(CFG_TX_SCH_DELAY_NAME,
5331 WLAN_PARAM_Integer,
5332 struct hdd_config, enable_tx_sch_delay,
5333 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5334 CFG_TX_SCH_DELAY_DEFAULT,
5335 CFG_TX_SCH_DELAY_MIN,
5336 CFG_TX_SCH_DELAY_MAX),
Jeff Johnsonc57c13a2018-04-01 11:03:29 -07005337
5338 HDD_GREEN_AP_REG_VARIABLES
Rajeev Kumar15b40a22018-04-12 11:45:24 -07005339
5340 REG_VARIABLE(CFG_ENABLE_UNIT_TEST_FRAMEWORK_NAME,
5341 WLAN_PARAM_Integer,
5342 struct hdd_config, is_unit_test_framework_enabled,
5343 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5344 CFG_ENABLE_UINT_TEST_FRAMEWORK_DEFAULT,
5345 CFG_ENABLE_UNIT_TEST_FRAMEWORK_MIN,
5346 CFG_ENABLE_UNIT_TEST_FRAMEWORK_MAX),
Abhinav Kumar271f0632018-03-29 16:01:30 +05305347
5348 REG_VARIABLE(CFG_ROAM_FT_OPEN_ENABLE_NAME, WLAN_PARAM_Integer,
5349 struct hdd_config, enable_ftopen,
5350 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5351 CFG_ROAM_FT_OPEN_ENABLE_DEFAULT,
5352 CFG_ROAM_FT_OPEN_ENABLE_MIN,
5353 CFG_ROAM_FT_OPEN_ENABLE_MAX),
Naveen Rawat2b430892018-03-13 13:58:18 -07005354
5355 REG_VARIABLE(CFG_ENABLE_RTT_MAC_RANDOMIZATION_NAME,
5356 WLAN_PARAM_Integer,
5357 struct hdd_config, enable_rtt_mac_randomization,
5358 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5359 CFG_ENABLE_RTT_MAC_RANDOMIZATION_DEFAULT,
5360 CFG_ENABLE_RTT_MAC_RANDOMIZATION_MIN,
5361 CFG_ENABLE_RTT_MAC_RANDOMIZATION_MAX),
Arun Khandavallifae92942016-08-01 13:31:08 +05305362};
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005363
Amar Singhal5cccafe2017-02-15 12:42:58 -08005364
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005365/**
5366 * get_next_line() - find and locate the new line pointer
5367 * @str: pointer to string
5368 *
5369 * This function returns a pointer to the character after the occurence
5370 * of a new line character. It also modifies the original string by replacing
5371 * the '\n' character with the null character.
5372 *
5373 * Return: the pointer to the character at new line,
5374 * or NULL if no new line character was found
5375 */
5376static char *get_next_line(char *str)
5377{
5378 char c;
5379
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07005380 if (str == NULL || *str == '\0')
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005381 return NULL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005382
5383 c = *str;
5384 while (c != '\n' && c != '\0' && c != 0xd) {
5385 str = str + 1;
5386 c = *str;
5387 }
5388
Jeff Johnson68755312017-02-10 11:46:55 -08005389 if (c == '\0')
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005390 return NULL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005391
Jeff Johnson68755312017-02-10 11:46:55 -08005392 *str = '\0';
Jeff Johnson68755312017-02-10 11:46:55 -08005393 return str + 1;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005394}
5395
5396/** look for space. Ascii values to look are
5397 * 0x09 == horizontal tab
5398 * 0x0a == Newline ("\n")
5399 * 0x0b == vertical tab
5400 * 0x0c == Newpage or feed form.
5401 * 0x0d == carriage return (CR or "\r")
5402 * Null ('\0') should not considered as space.
5403 */
5404#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
5405
5406/**
5407 * i_trim() - trims any leading and trailing white spaces
5408 * @str: pointer to string
5409 *
5410 * Return: the pointer of the string
5411 */
5412static char *i_trim(char *str)
5413{
5414 char *ptr;
5415
5416 if (*str == '\0')
5417 return str;
5418
5419 /* Find the first non white-space */
5420 ptr = str;
5421 while (i_isspace(*ptr))
5422 ptr++;
5423
5424 if (*ptr == '\0')
5425 return str;
5426
5427 /* This is the new start of the string */
5428 str = ptr;
5429
5430 /* Find the last non white-space */
5431 ptr += strlen(ptr) - 1;
5432
5433 while (ptr != str && i_isspace(*ptr))
5434 ptr--;
5435
5436 /* Null terminate the following character */
5437 ptr[1] = '\0';
5438
5439 return str;
5440}
5441
5442/* Maximum length of the confgiuration name and value */
5443#define CFG_VALUE_MAX_LEN 256
5444#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
5445
5446/**
5447 * hdd_cfg_get_config() - get the configuration content
5448 * @reg_table: pointer to configuration table
5449 * @cRegTableEntries: number of the configuration entries
5450 * @ini_struct: pointer to the hdd config knob
Jeff Johnson723234b2017-09-03 08:49:15 -07005451 * @hdd_ctx: pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005452 * @pBuf: buffer to store the configuration
5453 * @buflen: size of the buffer
5454 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305455 * Return: QDF_STATUS_SUCCESS if the configuration and buffer size can carry
5456 * the content, otherwise QDF_STATUS_E_RESOURCES
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005457 */
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005458static QDF_STATUS hdd_cfg_get_config(struct reg_table_entry *reg_table,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005459 unsigned long cRegTableEntries,
5460 uint8_t *ini_struct,
Jeff Johnson723234b2017-09-03 08:49:15 -07005461 struct hdd_context *hdd_ctx, char *pBuf,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005462 int buflen)
5463{
5464 unsigned int idx;
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005465 struct reg_table_entry *pRegEntry = reg_table;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005466 uint32_t value;
5467 char valueStr[CFG_VALUE_MAX_LEN];
5468 char configStr[CFG_ENTRY_MAX_LEN];
5469 char *fmt;
5470 void *pField;
Anurag Chouhan6d760662016-02-20 16:05:43 +05305471 struct qdf_mac_addr *pMacAddr;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005472 char *pCur = pBuf;
5473 int curlen;
5474
5475 /* start with an empty string */
5476 *pCur = '\0';
5477
5478 for (idx = 0; idx < cRegTableEntries; idx++, pRegEntry++) {
5479 pField = ini_struct + pRegEntry->VarOffset;
5480
5481 if ((WLAN_PARAM_Integer == pRegEntry->RegType) ||
5482 (WLAN_PARAM_SignedInteger == pRegEntry->RegType) ||
5483 (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
5484 value = 0;
Vidyullatha Kanchanapally53241c42017-04-13 19:16:24 +05305485
5486 if ((pRegEntry->VarSize > sizeof(value)) ||
5487 (pRegEntry->VarSize == 0)) {
5488 pr_warn("Invalid length of %s: %d",
5489 pRegEntry->RegName, pRegEntry->VarSize);
5490 continue;
5491 }
5492
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005493 memcpy(&value, pField, pRegEntry->VarSize);
5494 if (WLAN_PARAM_HexInteger == pRegEntry->RegType) {
5495 fmt = "%x";
5496 } else if (WLAN_PARAM_SignedInteger ==
5497 pRegEntry->RegType) {
5498 fmt = "%d";
Vidyullatha Kanchanapally53241c42017-04-13 19:16:24 +05305499 value = sign_extend32(
5500 value,
5501 pRegEntry->VarSize * 8 - 1);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005502 } else {
5503 fmt = "%u";
5504 }
5505 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
5506 } else if (WLAN_PARAM_String == pRegEntry->RegType) {
5507 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s",
5508 (char *)pField);
5509 } else if (WLAN_PARAM_MacAddr == pRegEntry->RegType) {
Anurag Chouhan6d760662016-02-20 16:05:43 +05305510 pMacAddr = (struct qdf_mac_addr *) pField;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005511 snprintf(valueStr, CFG_VALUE_MAX_LEN,
5512 "%02x:%02x:%02x:%02x:%02x:%02x",
5513 pMacAddr->bytes[0],
5514 pMacAddr->bytes[1],
5515 pMacAddr->bytes[2],
5516 pMacAddr->bytes[3],
5517 pMacAddr->bytes[4], pMacAddr->bytes[5]);
5518 } else {
5519 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
5520 }
5521 curlen = scnprintf(configStr, CFG_ENTRY_MAX_LEN,
5522 "%s=[%s]%s\n",
5523 pRegEntry->RegName,
5524 valueStr,
5525 test_bit(idx,
Jeff Johnson723234b2017-09-03 08:49:15 -07005526 (void *)&hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005527 bExplicitCfg) ? "*" : "");
5528
5529 /* Ideally we want to return the config to the application,
5530 * however the config is too big so we just printk() for now
5531 */
5532#ifdef RETURN_IN_BUFFER
Hanumanth Reddy Pothulaadf163e2016-09-07 15:11:58 +05305533 if (curlen < buflen) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005534 /* copy string + '\0' */
5535 memcpy(pCur, configStr, curlen + 1);
5536
5537 /* account for addition; */
5538 pCur += curlen;
5539 buflen -= curlen;
5540 } else {
5541 /* buffer space exhausted, return what we have */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305542 return QDF_STATUS_E_RESOURCES;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005543 }
5544#else
5545 printk(KERN_INFO "%s", configStr);
5546#endif /* RETURN_IN_BUFFER */
5547
5548 }
5549
5550#ifndef RETURN_IN_BUFFER
5551 /* notify application that output is in system log */
5552 snprintf(pCur, buflen, "WLAN configuration written to system log");
5553#endif /* RETURN_IN_BUFFER */
5554
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305555 return QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005556}
5557
Jeff Johnson7274ccc2017-09-30 19:45:40 -07005558/** struct hdd_cfg_entry - ini configuration entry
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005559 * @name: name of the entry
5560 * @value: value of the entry
5561 */
Jeff Johnson7274ccc2017-09-30 19:45:40 -07005562struct hdd_cfg_entry {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005563 char *name;
5564 char *value;
Jeff Johnson7274ccc2017-09-30 19:45:40 -07005565};
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005566
5567/**
5568 * find_cfg_item() - find the configuration item
5569 * @iniTable: pointer to configuration table
5570 * @entries: number fo the configuration entries
5571 * @name: the interested configuration to find
5572 * @value: the value to read back
5573 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305574 * Return: QDF_STATUS_SUCCESS if the interested configuration is found,
5575 * otherwise QDF_STATUS_E_FAILURE
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005576 */
Jeff Johnson7274ccc2017-09-30 19:45:40 -07005577static QDF_STATUS find_cfg_item(struct hdd_cfg_entry *iniTable,
5578 unsigned long entries,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005579 char *name, char **value)
5580{
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305581 QDF_STATUS status = QDF_STATUS_E_FAILURE;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005582 unsigned long i;
5583
5584 for (i = 0; i < entries; i++) {
5585 if (strcmp(iniTable[i].name, name) == 0) {
5586 *value = iniTable[i].value;
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005587 hdd_debug("Found %s entry for Name=[%s] Value=[%s] ",
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005588 WLAN_INI_FILE, name, *value);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305589 return QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005590 }
5591 }
5592
5593 return status;
5594}
5595
5596/**
5597 * parse_hex_digit() - conversion to hex value
5598 * @c: the character to convert
5599 *
5600 * Return: the hex value, otherwise 0
5601 */
5602static int parse_hex_digit(char c)
5603{
5604 if (c >= '0' && c <= '9')
5605 return c - '0';
5606 if (c >= 'a' && c <= 'f')
5607 return c - 'a' + 10;
5608 if (c >= 'A' && c <= 'F')
5609 return c - 'A' + 10;
5610
5611 return 0;
5612}
5613
5614/**
5615 * update_mac_from_string() - convert string to 6 bytes mac address
Jeff Johnson723234b2017-09-03 08:49:15 -07005616 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005617 * @macTable: the macTable to carry the conversion
5618 * @num: number of the interface
5619 *
5620 * 00AA00BB00CC -> 0x00 0xAA 0x00 0xBB 0x00 0xCC
5621 *
5622 * Return: None
5623 */
Jeff Johnson723234b2017-09-03 08:49:15 -07005624static void update_mac_from_string(struct hdd_context *hdd_ctx,
Jeff Johnson7274ccc2017-09-30 19:45:40 -07005625 struct hdd_cfg_entry *macTable, int num)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005626{
5627 int i = 0, j = 0, res = 0;
5628 char *candidate = NULL;
Anurag Chouhan6d760662016-02-20 16:05:43 +05305629 struct qdf_mac_addr macaddr[QDF_MAX_CONCURRENCY_PERSONA];
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005630
5631 memset(macaddr, 0, sizeof(macaddr));
5632
5633 for (i = 0; i < num; i++) {
5634 candidate = macTable[i].value;
Anurag Chouhan6d760662016-02-20 16:05:43 +05305635 for (j = 0; j < QDF_MAC_ADDR_SIZE; j++) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005636 res =
5637 hex2bin(&macaddr[i].bytes[j], &candidate[(j << 1)],
5638 1);
5639 if (res < 0)
5640 break;
5641 }
Anurag Chouhanc5548422016-02-24 18:33:27 +05305642 if (res == 0 && !qdf_is_macaddr_zero(&macaddr[i])) {
Jeff Johnson723234b2017-09-03 08:49:15 -07005643 qdf_mem_copy((uint8_t *) &hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005644 intfMacAddr[i].bytes[0],
5645 (uint8_t *) &macaddr[i].bytes[0],
Anurag Chouhan6d760662016-02-20 16:05:43 +05305646 QDF_MAC_ADDR_SIZE);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005647 }
5648 }
5649}
5650
5651/**
5652 * hdd_apply_cfg_ini() - apply the ini configuration file
Jeff Johnson723234b2017-09-03 08:49:15 -07005653 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005654 * @iniTable: pointer to configuration table
5655 * @entries: number fo the configuration entries
5656 * It overwrites the MAC address if config file exist.
5657 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305658 * Return: QDF_STATUS_SUCCESS if the ini configuration file is correctly parsed,
5659 * otherwise QDF_STATUS_E_INVAL
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005660 */
Jeff Johnson723234b2017-09-03 08:49:15 -07005661static QDF_STATUS hdd_apply_cfg_ini(struct hdd_context *hdd_ctx,
Jeff Johnson7274ccc2017-09-30 19:45:40 -07005662 struct hdd_cfg_entry *iniTable,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005663 unsigned long entries)
5664{
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305665 QDF_STATUS match_status = QDF_STATUS_E_FAILURE;
5666 QDF_STATUS ret_status = QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005667 unsigned int idx;
5668 void *pField;
5669 char *value_str = NULL;
5670 unsigned long len_value_str;
5671 char *candidate;
5672 uint32_t value;
5673 int32_t svalue;
Jeff Johnson723234b2017-09-03 08:49:15 -07005674 void *pStructBase = hdd_ctx->config;
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005675 struct reg_table_entry *pRegEntry = g_registry_table;
Anurag Chouhan6d760662016-02-20 16:05:43 +05305676 unsigned long cRegTableEntries = QDF_ARRAY_SIZE(g_registry_table);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005677 uint32_t cbOutString;
5678 int i;
5679 int rv;
5680
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005681 if (MAX_CFG_INI_ITEMS < cRegTableEntries) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005682 hdd_err("MAX_CFG_INI_ITEMS too small, must be at least %ld",
Srinivas Girigowdaba3091c2015-11-16 17:18:40 -08005683 cRegTableEntries);
5684 WARN_ON(1);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005685 }
5686
5687 for (idx = 0; idx < cRegTableEntries; idx++, pRegEntry++) {
5688 /* Calculate the address of the destination field in the structure. */
5689 pField = ((uint8_t *) pStructBase) + pRegEntry->VarOffset;
5690
5691 match_status =
5692 find_cfg_item(iniTable, entries, pRegEntry->RegName,
5693 &value_str);
5694
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305695 if ((match_status != QDF_STATUS_SUCCESS)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005696 && (pRegEntry->Flags & VAR_FLAGS_REQUIRED)) {
5697 /* If we could not read the cfg item and it is required, this is an error. */
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005698 hdd_err("Failed to read required config parameter %s", pRegEntry->RegName);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305699 ret_status = QDF_STATUS_E_FAILURE;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005700 break;
5701 }
5702
5703 if ((WLAN_PARAM_Integer == pRegEntry->RegType) ||
5704 (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
5705 /* If successfully read from the registry, use the value read.
5706 * If not, use the default value.
5707 */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305708 if (match_status == QDF_STATUS_SUCCESS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005709 && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
5710 rv = kstrtou32(value_str, 10, &value);
5711 if (rv < 0) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005712 hdd_warn("Reg Parameter %s invalid. Enforcing default", pRegEntry->RegName);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005713 value = pRegEntry->VarDefault;
5714 }
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305715 } else if (match_status == QDF_STATUS_SUCCESS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005716 && (WLAN_PARAM_HexInteger ==
5717 pRegEntry->RegType)) {
5718 rv = kstrtou32(value_str, 16, &value);
5719 if (rv < 0) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005720 hdd_warn("Reg paramter %s invalid. Enforcing default", pRegEntry->RegName);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005721 value = pRegEntry->VarDefault;
5722 }
5723 } else {
5724 value = pRegEntry->VarDefault;
5725 }
5726
Srinivas Girigowdad1b92582017-03-02 11:47:47 -08005727 /* Only if the parameter is set in the ini file, do the range check here */
5728 if (match_status == QDF_STATUS_SUCCESS &&
5729 pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005730 if (value > pRegEntry->VarMax) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005731 hdd_warn("Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Maximum", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005732 value, pRegEntry->VarMax);
5733 value = pRegEntry->VarMax;
5734 }
5735
5736 if (value < pRegEntry->VarMin) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005737 hdd_warn("Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Minimum", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005738 value, pRegEntry->VarMin);
5739 value = pRegEntry->VarMin;
5740 }
5741 }
Srinivas Girigowdad1b92582017-03-02 11:47:47 -08005742 /* Only if the parameter is set in the ini file, do the range check here */
5743 else if (match_status == QDF_STATUS_SUCCESS &&
5744 pRegEntry->Flags &
5745 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005746 if (value > pRegEntry->VarMax) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005747 hdd_warn("Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Default: %lu", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005748 value, pRegEntry->VarMax,
5749 pRegEntry->VarDefault);
5750 value = pRegEntry->VarDefault;
5751 }
5752
5753 if (value < pRegEntry->VarMin) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005754 hdd_warn("Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Default: %lu", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005755 value, pRegEntry->VarMin,
5756 pRegEntry->VarDefault);
5757 value = pRegEntry->VarDefault;
5758 }
5759 }
5760 /* Move the variable into the output field. */
5761 memcpy(pField, &value, pRegEntry->VarSize);
5762 } else if (WLAN_PARAM_SignedInteger == pRegEntry->RegType) {
5763 /* If successfully read from the registry, use the value read.
5764 * If not, use the default value.
5765 */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305766 if (QDF_STATUS_SUCCESS == match_status) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005767 rv = kstrtos32(value_str, 10, &svalue);
5768 if (rv < 0) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005769 hdd_warn("Reg Parameter %s invalid. Enforcing Default", pRegEntry->RegName);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005770 svalue =
5771 (int32_t) pRegEntry->VarDefault;
5772 }
5773 } else {
5774 svalue = (int32_t) pRegEntry->VarDefault;
5775 }
5776
Srinivas Girigowdad1b92582017-03-02 11:47:47 -08005777 /* Only if the parameter is set in the ini file, do the range check here */
5778 if (match_status == QDF_STATUS_SUCCESS &&
5779 pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005780 if (svalue > (int32_t) pRegEntry->VarMax) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005781 hdd_warn("Reg Parameter %s > allowed Maximum "
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005782 "[%d > %d]. Enforcing Maximum", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005783 svalue, (int)pRegEntry->VarMax);
5784 svalue = (int32_t) pRegEntry->VarMax;
5785 }
5786
5787 if (svalue < (int32_t) pRegEntry->VarMin) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005788 hdd_warn("Reg Parameter %s < allowed Minimum "
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005789 "[%d < %d]. Enforcing Minimum", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005790 svalue, (int)pRegEntry->VarMin);
5791 svalue = (int32_t) pRegEntry->VarMin;
5792 }
5793 }
Srinivas Girigowdad1b92582017-03-02 11:47:47 -08005794 /* Only if the parameter is set in the ini file, do the range check here */
5795 else if (match_status == QDF_STATUS_SUCCESS &&
5796 pRegEntry->Flags &
5797 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005798 if (svalue > (int32_t) pRegEntry->VarMax) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005799 hdd_warn("Reg Parameter %s > allowed Maximum "
5800 "[%d > %d]. Enforcing Default: %d", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005801 svalue, (int)pRegEntry->VarMax,
5802 (int)pRegEntry->VarDefault);
5803 svalue =
5804 (int32_t) pRegEntry->VarDefault;
5805 }
5806
5807 if (svalue < (int32_t) pRegEntry->VarMin) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005808 hdd_warn("Reg Parameter %s < allowed Minimum "
5809 "[%d < %d]. Enforcing Default: %d", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005810 svalue, (int)pRegEntry->VarMin,
5811 (int)pRegEntry->VarDefault);
5812 svalue = pRegEntry->VarDefault;
5813 }
5814 }
5815 /* Move the variable into the output field. */
5816 memcpy(pField, &svalue, pRegEntry->VarSize);
5817 }
5818 /* Handle string parameters */
5819 else if (WLAN_PARAM_String == pRegEntry->RegType) {
5820#ifdef WLAN_CFG_DEBUG
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005821 hdd_debug("RegName = %s, VarOffset %u VarSize %u VarDefault %s",
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005822 pRegEntry->RegName, pRegEntry->VarOffset,
5823 pRegEntry->VarSize,
5824 (char *)pRegEntry->VarDefault);
5825#endif
5826
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305827 if (match_status == QDF_STATUS_SUCCESS) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005828 len_value_str = strlen(value_str);
5829
5830 if (len_value_str > (pRegEntry->VarSize - 1)) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005831 hdd_err("Invalid Value=[%s] specified for Name=[%s] in %s", value_str,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005832 pRegEntry->RegName,
5833 WLAN_INI_FILE);
5834 cbOutString =
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005835 QDF_MIN(strlen
5836 ((char *)pRegEntry->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005837 VarDefault),
5838 pRegEntry->VarSize - 1);
5839 memcpy(pField,
5840 (void *)(pRegEntry->VarDefault),
5841 cbOutString);
5842 ((uint8_t *) pField)[cbOutString] =
5843 '\0';
5844 } else {
5845 memcpy(pField, (void *)(value_str),
5846 len_value_str);
5847 ((uint8_t *) pField)[len_value_str] =
5848 '\0';
5849 }
5850 } else {
5851 /* Failed to read the string parameter from the registry. Use the default. */
5852 cbOutString =
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005853 QDF_MIN(strlen((char *)pRegEntry->VarDefault),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005854 pRegEntry->VarSize - 1);
5855 memcpy(pField, (void *)(pRegEntry->VarDefault),
5856 cbOutString);
5857 ((uint8_t *) pField)[cbOutString] = '\0';
5858 }
5859 } else if (WLAN_PARAM_MacAddr == pRegEntry->RegType) {
Anurag Chouhan6d760662016-02-20 16:05:43 +05305860 if (pRegEntry->VarSize != QDF_MAC_ADDR_SIZE) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005861 hdd_warn("Invalid VarSize %u for Name=[%s]", pRegEntry->VarSize,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005862 pRegEntry->RegName);
5863 continue;
5864 }
5865 candidate = (char *)pRegEntry->VarDefault;
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305866 if (match_status == QDF_STATUS_SUCCESS) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005867 len_value_str = strlen(value_str);
Anurag Chouhan6d760662016-02-20 16:05:43 +05305868 if (len_value_str != (QDF_MAC_ADDR_SIZE * 2)) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005869 hdd_err("Invalid MAC addr [%s] specified for Name=[%s] in %s", value_str,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005870 pRegEntry->RegName,
5871 WLAN_INI_FILE);
5872 } else
5873 candidate = value_str;
5874 }
5875 /* parse the string and store it in the byte array */
Anurag Chouhan6d760662016-02-20 16:05:43 +05305876 for (i = 0; i < QDF_MAC_ADDR_SIZE; i++) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005877 ((char *)pField)[i] =
5878 (char)(parse_hex_digit(candidate[i * 2]) *
5879 16 +
5880 parse_hex_digit(candidate[i * 2 + 1]));
5881 }
5882 } else {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005883 hdd_warn("Unknown param type for name[%s] in registry table", pRegEntry->RegName);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005884 }
5885
5886 /* did we successfully parse a cfg item for this parameter? */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305887 if ((match_status == QDF_STATUS_SUCCESS) &&
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005888 (idx < MAX_CFG_INI_ITEMS)) {
Jeff Johnson723234b2017-09-03 08:49:15 -07005889 set_bit(idx, (void *)&hdd_ctx->config->bExplicitCfg);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005890 }
5891 }
5892
5893 return ret_status;
5894}
5895
5896/**
5897 * hdd_execute_config_command() - executes an arbitrary configuration command
5898 * @reg_table: the pointer to configuration table
5899 * @tableSize: the size of the configuration table
5900 * @ini_struct: pointer to the hdd config knob
Jeff Johnson723234b2017-09-03 08:49:15 -07005901 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005902 * @command: the command to run
5903 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305904 * Return: QDF_STATUS_SUCCESS if the command is found and able to execute,
5905 * otherwise the appropriate QDF_STATUS will be returned
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005906 */
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005907static QDF_STATUS hdd_execute_config_command(struct reg_table_entry *reg_table,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005908 unsigned long tableSize,
5909 uint8_t *ini_struct,
Jeff Johnson723234b2017-09-03 08:49:15 -07005910 struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005911 char *command)
5912{
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005913 struct reg_table_entry *pRegEntry;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005914 char *clone;
5915 char *pCmd;
5916 void *pField;
5917 char *name;
5918 char *value_str;
5919 uint32_t value;
5920 int32_t svalue;
5921 size_t len_value_str;
5922 unsigned int idx;
5923 unsigned int i;
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305924 QDF_STATUS vstatus;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005925 int rv;
5926
5927 /* assume failure until proven otherwise */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305928 vstatus = QDF_STATUS_E_FAILURE;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005929
5930 /* clone the command so that we can manipulate it */
5931 clone = kstrdup(command, GFP_ATOMIC);
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07005932 if (NULL == clone)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005933 return vstatus;
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07005934
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005935 /* 'clone' will point to the beginning of the string so it can be freed
5936 * 'pCmd' will be used to walk/parse the command
5937 */
5938 pCmd = clone;
5939
5940 /* get rid of leading/trailing whitespace */
5941 pCmd = i_trim(pCmd);
5942 if ('\0' == *pCmd) {
5943 /* only whitespace */
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005944 hdd_err("invalid command, only whitespace:[%s]", command);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005945 goto done;
5946 }
5947 /* parse the <name> = <value> */
5948 name = pCmd;
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07005949 while (('=' != *pCmd) && ('\0' != *pCmd))
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005950 pCmd++;
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07005951
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005952 if ('\0' == *pCmd) {
5953 /* did not find '=' */
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005954 hdd_err("invalid command, no '=':[%s]", command);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005955 goto done;
5956 }
5957 /* replace '=' with NUL to terminate the <name> */
5958 *pCmd++ = '\0';
5959 name = i_trim(name);
5960 if ('\0' == *name) {
5961 /* did not find a name */
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005962 hdd_err("invalid command, no <name>:[%s]", command);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005963 goto done;
5964 }
5965
5966 value_str = i_trim(pCmd);
5967 if ('\0' == *value_str) {
5968 /* did not find a value */
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005969 hdd_err("invalid command, no <value>:[%s]", command);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005970 goto done;
5971 }
5972 /* lookup the configuration item */
5973 for (idx = 0; idx < tableSize; idx++) {
5974 if (0 == strcmp(name, reg_table[idx].RegName)) {
5975 /* found a match */
5976 break;
5977 }
5978 }
5979 if (tableSize == idx) {
5980 /* did not match the name */
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005981 hdd_err("invalid command, unknown configuration item:[%s]", command);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005982 goto done;
5983 }
5984
5985 pRegEntry = &reg_table[idx];
5986 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG)) {
5987 /* does not support dynamic configuration */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005988 hdd_err("Global_Registry_Table. %s does not support "
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005989 "dynamic configuration", name);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305990 vstatus = QDF_STATUS_E_PERM;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005991 goto done;
5992 }
5993
5994 pField = ini_struct + pRegEntry->VarOffset;
5995
5996 switch (pRegEntry->RegType) {
5997 case WLAN_PARAM_Integer:
5998 rv = kstrtou32(value_str, 10, &value);
5999 if (rv < 0)
6000 goto done;
6001 if (value < pRegEntry->VarMin) {
6002 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006003 hdd_err("Invalid command, value %u < min value %lu", value, pRegEntry->VarMin);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006004 goto done;
6005 }
6006 if (value > pRegEntry->VarMax) {
6007 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006008 hdd_err("Invalid command, value %u > max value %lu", value, pRegEntry->VarMax);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006009 goto done;
6010 }
6011 memcpy(pField, &value, pRegEntry->VarSize);
6012 break;
6013
6014 case WLAN_PARAM_HexInteger:
6015 rv = kstrtou32(value_str, 16, &value);
6016 if (rv < 0)
6017 goto done;
6018 if (value < pRegEntry->VarMin) {
6019 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006020 hdd_err("Invalid command, value %x < min value %lx", value, pRegEntry->VarMin);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006021 goto done;
6022 }
6023 if (value > pRegEntry->VarMax) {
6024 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006025 hdd_err("Invalid command, value %x > max value %lx", value, pRegEntry->VarMax);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006026 goto done;
6027 }
6028 memcpy(pField, &value, pRegEntry->VarSize);
6029 break;
6030
6031 case WLAN_PARAM_SignedInteger:
6032 rv = kstrtos32(value_str, 10, &svalue);
6033 if (rv < 0)
6034 goto done;
6035 if (svalue < (int32_t) pRegEntry->VarMin) {
6036 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006037 hdd_err("Invalid command, value %d < min value %d", svalue, (int)pRegEntry->VarMin);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006038 goto done;
6039 }
6040 if (svalue > (int32_t) pRegEntry->VarMax) {
6041 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006042 hdd_err("Invalid command, value %d > max value %d", svalue, (int)pRegEntry->VarMax);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006043 goto done;
6044 }
6045 memcpy(pField, &svalue, pRegEntry->VarSize);
6046 break;
6047
6048 case WLAN_PARAM_String:
6049 len_value_str = strlen(value_str);
6050 if (len_value_str > (pRegEntry->VarSize - 1)) {
6051 /* too big */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006052 hdd_err("Invalid command, string [%s] length "
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08006053 "%zu exceeds maximum length %u", value_str,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006054 len_value_str, (pRegEntry->VarSize - 1));
6055 goto done;
6056 }
6057 /* copy string plus NUL */
6058 memcpy(pField, value_str, (len_value_str + 1));
6059 break;
6060
6061 case WLAN_PARAM_MacAddr:
6062 len_value_str = strlen(value_str);
Anurag Chouhan6d760662016-02-20 16:05:43 +05306063 if (len_value_str != (QDF_MAC_ADDR_SIZE * 2)) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006064 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006065 hdd_err("Invalid command, MAC address [%s] length "
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08006066 "%zu is not expected length %u", value_str,
Anurag Chouhan6d760662016-02-20 16:05:43 +05306067 len_value_str, (QDF_MAC_ADDR_SIZE * 2));
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006068 goto done;
6069 }
6070 /* parse the string and store it in the byte array */
Anurag Chouhan6d760662016-02-20 16:05:43 +05306071 for (i = 0; i < QDF_MAC_ADDR_SIZE; i++) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006072 ((char *)pField)[i] = (char)
6073 ((parse_hex_digit(value_str[(i * 2)]) * 16) +
6074 parse_hex_digit(value_str[(i * 2) + 1]));
6075 }
6076 break;
6077
6078 default:
6079 goto done;
6080 }
6081
6082 /* if we get here, we had a successful modification */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05306083 vstatus = QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006084
6085 /* config table has been modified, is there a notifier? */
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006086 if (NULL != pRegEntry->pfnDynamicnotify)
Jeff Johnson723234b2017-09-03 08:49:15 -07006087 (pRegEntry->pfnDynamicnotify)(hdd_ctx, pRegEntry->notifyId);
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006088
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006089 /* note that this item was explicitly configured */
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006090 if (idx < MAX_CFG_INI_ITEMS)
Jeff Johnson723234b2017-09-03 08:49:15 -07006091 set_bit(idx, (void *)&hdd_ctx->config->bExplicitCfg);
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006092
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006093done:
6094 kfree(clone);
6095 return vstatus;
6096}
6097
6098/**
6099 * hdd_set_power_save_offload_config() - set power save offload configuration
Jeff Johnson723234b2017-09-03 08:49:15 -07006100 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006101 *
6102 * Return: none
6103 */
Jeff Johnson723234b2017-09-03 08:49:15 -07006104static void hdd_set_power_save_offload_config(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006105{
Jeff Johnson723234b2017-09-03 08:49:15 -07006106 struct hdd_config *pConfig = hdd_ctx->config;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006107 uint32_t listenInterval = 0;
6108
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006109 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006110 listenInterval = pConfig->nBmpsMinListenInterval;
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006111 else if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006112 listenInterval = pConfig->nBmpsMaxListenInterval;
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006113 else if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006114 listenInterval = pConfig->nBmpsModListenInterval;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006115
6116 /*
6117 * Based on Mode Set the LI
6118 * Otherwise default LI value of 1 will
6119 * be taken
6120 */
6121 if (listenInterval) {
6122 /*
6123 * setcfg for listenInterval.
6124 * Make sure CFG is updated because PE reads this
6125 * from CFG at the time of assoc or reassoc
6126 */
Jeff Johnson723234b2017-09-03 08:49:15 -07006127 sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_LISTEN_INTERVAL,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006128 listenInterval);
6129 }
6130
6131}
6132
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07006133#ifdef FEATURE_RUNTIME_PM
Jeff Johnsonb6909be2017-08-28 12:07:19 -07006134static void hdd_cfg_print_runtime_pm(struct hdd_context *hdd_ctx)
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07006135{
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006136 hdd_debug("Name = [gRuntimePM] Value = [%u] ",
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07006137 hdd_ctx->config->runtime_pm);
6138
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006139 hdd_debug("Name = [gRuntimePMDelay] Value = [%u] ",
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07006140 hdd_ctx->config->runtime_pm_delay);
6141}
6142#else
Jeff Johnsonb6909be2017-08-28 12:07:19 -07006143static void hdd_cfg_print_runtime_pm(struct hdd_context *hdd_ctx)
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07006144{
6145}
6146#endif
6147
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006148/**
Kapil Gupta5cda2252016-12-29 18:44:26 +05306149 * hdd_per_roam_print_ini_config()- Print PER roam specific INI configuration
6150 * @hdd_ctx: handle to hdd context
6151 *
6152 * Return: None
6153 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07006154static void hdd_per_roam_print_ini_config(struct hdd_context *hdd_ctx)
Kapil Gupta5cda2252016-12-29 18:44:26 +05306155{
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006156 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta5cda2252016-12-29 18:44:26 +05306157 CFG_PER_ROAM_ENABLE_NAME,
6158 hdd_ctx->config->is_per_roam_enabled);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006159 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta5cda2252016-12-29 18:44:26 +05306160 CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_NAME,
6161 hdd_ctx->config->per_roam_high_rate_threshold);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006162 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta5cda2252016-12-29 18:44:26 +05306163 CFG_PER_ROAM_CONFIG_LOW_RATE_TH_NAME,
6164 hdd_ctx->config->per_roam_low_rate_threshold);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006165 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta5cda2252016-12-29 18:44:26 +05306166 CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_NAME,
6167 hdd_ctx->config->per_roam_th_percent);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006168 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta5cda2252016-12-29 18:44:26 +05306169 CFG_PER_ROAM_REST_TIME_NAME,
6170 hdd_ctx->config->per_roam_rest_time);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006171 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta957827b2017-02-13 15:47:04 +05306172 CFG_PER_ROAM_MONITOR_TIME,
6173 hdd_ctx->config->per_roam_mon_time);
Selvaraj, Sridhar0641fab2017-05-17 16:02:00 +05306174 hdd_debug("Name = [%s] Value = [%u]",
6175 CFG_PER_ROAM_MIN_CANDIDATE_RSSI,
6176 hdd_ctx->config->min_candidate_rssi);
Kapil Gupta5cda2252016-12-29 18:44:26 +05306177}
6178
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006179static void hdd_mawc_cfg_log(struct hdd_context *hdd_ctx)
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006180{
6181 hdd_debug("Name = [MAWCEnabled] Value = [%u] ",
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006182 hdd_ctx->config->MAWCEnabled);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006183 hdd_debug("Name = [%s] Value = [%u] ",
6184 CFG_MAWC_ROAM_ENABLED_NAME,
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006185 hdd_ctx->config->mawc_roam_enabled);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006186 hdd_debug("Name = [%s] Value = [%u] ",
6187 CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_NAME,
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006188 hdd_ctx->config->mawc_roam_traffic_threshold);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006189 hdd_debug("Name = [%s] Value = [%d] ",
6190 CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_NAME,
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006191 hdd_ctx->config->mawc_roam_ap_rssi_threshold);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006192 hdd_debug("Name = [%s] Value = [%u] ",
6193 CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_NAME,
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006194 hdd_ctx->config->mawc_roam_rssi_high_adjust);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006195 hdd_debug("Name = [%s] Value = [%u] ",
6196 CFG_MAWC_ROAM_RSSI_LOW_ADJUST_NAME,
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006197 hdd_ctx->config->mawc_roam_rssi_low_adjust);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006198}
6199
Kapil Gupta5cda2252016-12-29 18:44:26 +05306200/**
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05306201 * hdd_cfg_print_ie_whitelist_attrs() - print the ie whitelist attrs
6202 * @hdd_ctx: pointer to hdd context
6203 *
6204 * Return: None
6205 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07006206static void hdd_cfg_print_ie_whitelist_attrs(struct hdd_context *hdd_ctx)
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05306207{
6208 hdd_debug("Name = [%s] Value = [%x] ",
6209 CFG_PRB_REQ_IE_WHITELIST_NAME,
6210 hdd_ctx->config->probe_req_ie_whitelist);
6211 hdd_debug("Name = [%s] Value = [%x] ",
6212 CFG_PRB_REQ_IE_BIT_MAP0_NAME,
6213 hdd_ctx->config->probe_req_ie_bitmap_0);
6214 hdd_debug("Name = [%s] Value = [%x] ",
6215 CFG_PRB_REQ_IE_BIT_MAP1_NAME,
6216 hdd_ctx->config->probe_req_ie_bitmap_1);
6217 hdd_debug("Name = [%s] Value = [%x] ",
6218 CFG_PRB_REQ_IE_BIT_MAP2_NAME,
6219 hdd_ctx->config->probe_req_ie_bitmap_2);
6220 hdd_debug("Name = [%s] Value = [%x] ",
6221 CFG_PRB_REQ_IE_BIT_MAP3_NAME,
6222 hdd_ctx->config->probe_req_ie_bitmap_3);
6223 hdd_debug("Name = [%s] Value = [%x] ",
6224 CFG_PRB_REQ_IE_BIT_MAP4_NAME,
6225 hdd_ctx->config->probe_req_ie_bitmap_4);
6226 hdd_debug("Name = [%s] Value = [%x] ",
6227 CFG_PRB_REQ_IE_BIT_MAP5_NAME,
6228 hdd_ctx->config->probe_req_ie_bitmap_5);
6229 hdd_debug("Name = [%s] Value = [%x] ",
6230 CFG_PRB_REQ_IE_BIT_MAP6_NAME,
6231 hdd_ctx->config->probe_req_ie_bitmap_6);
6232 hdd_debug("Name = [%s] Value = [%x] ",
6233 CFG_PRB_REQ_IE_BIT_MAP7_NAME,
6234 hdd_ctx->config->probe_req_ie_bitmap_7);
6235 hdd_debug("Name = [%s] Value =[%s]",
6236 CFG_PROBE_REQ_OUI_NAME,
6237 hdd_ctx->config->probe_req_ouis);
6238}
6239
Paul Zhang99fe8842017-12-08 14:43:46 +08006240static void hdd_wlm_cfg_log(struct hdd_context *hdd_ctx)
6241{
6242 hdd_debug("Name = [%s] value = [%u]",
6243 CFG_LATENCY_ENABLE_NAME,
6244 hdd_ctx->config->wlm_latency_enable);
6245 hdd_debug("Name = [%s] value = [%u]",
6246 CFG_LATENCY_LEVEL_NAME,
6247 hdd_ctx->config->wlm_latency_level);
6248 hdd_debug("Name = [%s] value = [%u]",
6249 CFG_LATENCY_FLAGS_NORMAL_NAME,
6250 hdd_ctx->config->wlm_latency_flags_normal);
6251 hdd_debug("Name = [%s] value = [%u]",
6252 CFG_LATENCY_FLAGS_MODERATE_NAME,
6253 hdd_ctx->config->wlm_latency_flags_moderate);
6254 hdd_debug("Name = [%s] value = [%u]",
6255 CFG_LATENCY_FLAGS_LOW_NAME,
6256 hdd_ctx->config->wlm_latency_flags_low);
6257 hdd_debug("Name = [%s] value = [%u]",
6258 CFG_LATENCY_FLAGS_ULTRALOW_NAME,
6259 hdd_ctx->config->wlm_latency_flags_ultralow);
6260}
6261
Padma, Santhosh Kumar3e47c632017-09-01 20:15:27 +05306262#ifdef WLAN_FEATURE_SAE
6263static void hdd_cfg_print_sae(struct hdd_context *hdd_ctx)
6264{
6265 hdd_debug("Name = [%s] value = [%u]",
6266 CFG_IS_SAE_ENABLED_NAME,
6267 hdd_ctx->config->is_sae_enabled);
6268}
6269#else
6270static void hdd_cfg_print_sae(struct hdd_context *hdd_ctx)
6271{
6272}
6273#endif
6274
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05306275/**
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05306276 * hdd_cgf_print_11k_offload_params() - Print 11k offload related parameters
6277 * @hdd_ctx: Pointer to HDD context
6278 *
6279 * Return: None
6280 */
6281static
6282void hdd_cfg_print_11k_offload_params(struct hdd_context *hdd_ctx)
6283{
6284 hdd_debug("Name = [%s] value = [%u]",
6285 CFG_OFFLOAD_11K_ENABLE_BITMASK_NAME,
6286 hdd_ctx->config->offload_11k_enable_bitmask);
6287 hdd_debug("Name = [%s] value = [%u]",
6288 CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_NAME,
6289 hdd_ctx->config->neighbor_report_offload_params_bitmask);
6290 hdd_debug("Name = [%s] value = [%u]",
6291 CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_NAME,
6292 hdd_ctx->config->neighbor_report_offload_time_offset);
6293 hdd_debug("Name = [%s] value = [%u]",
6294 CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_NAME,
6295 hdd_ctx->config->neighbor_report_offload_low_rssi_offset);
6296 hdd_debug("Name = [%s] value = [%u]",
6297 CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_NAME,
6298 hdd_ctx->config->neighbor_report_offload_bmiss_count_trigger);
6299 hdd_debug("Name = [%s] value = [%u]",
6300 CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_NAME,
6301 hdd_ctx->config->
6302 neighbor_report_offload_per_threshold_offset);
6303 hdd_debug("Name = [%s] value = [%u]",
6304 CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_NAME,
6305 hdd_ctx->config->neighbor_report_offload_cache_timeout);
6306 hdd_debug("Name = [%s] value = [%u]",
6307 CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_NAME,
6308 hdd_ctx->config->neighbor_report_offload_max_req_cap);
6309}
6310
6311/**
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006312 * hdd_cfg_print() - print the hdd configuration
6313 * @iniTable: pointer to hdd context
6314 *
6315 * Return: None
6316 */
Jeff Johnson723234b2017-09-03 08:49:15 -07006317void hdd_cfg_print(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006318{
6319 int i;
6320
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006321 hdd_debug("*********Config values in HDD Adapter*******");
6322 hdd_debug("Name = [RTSThreshold] Value = %u",
Jeff Johnson723234b2017-09-03 08:49:15 -07006323 hdd_ctx->config->RTSThreshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006324 hdd_debug("Name = [OperatingChannel] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006325 hdd_ctx->config->OperatingChannel);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006326 hdd_debug("Name = [PowerUsageControl] Value = [%s]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006327 hdd_ctx->config->PowerUsageControl);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006328 hdd_debug("Name = [fIsImpsEnabled] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006329 hdd_ctx->config->fIsImpsEnabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006330 hdd_debug("Name = [nVccRssiTrigger] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006331 hdd_ctx->config->nVccRssiTrigger);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006332 hdd_debug("Name = [gIbssBssid] Value =[" MAC_ADDRESS_STR "]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006333 MAC_ADDR_ARRAY(hdd_ctx->config->IbssBssid.bytes));
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006334
Anurag Chouhan6d760662016-02-20 16:05:43 +05306335 for (i = 0; i < QDF_MAX_CONCURRENCY_PERSONA; i++) {
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006336 hdd_debug("Name = [Intf%dMacAddress] Value =[" MAC_ADDRESS_STR "]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006337 i, MAC_ADDR_ARRAY(hdd_ctx->config->intfMacAddr[i].bytes));
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006338 }
6339
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006340 hdd_debug("Name = [gApEnableUapsd] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006341 hdd_ctx->config->apUapsdEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006342
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006343 hdd_debug("Name = [gEnableApProt] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006344 hdd_ctx->config->apProtEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006345#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006346 hdd_debug("Name = [gWlanMccToSccSwitchMode] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006347 hdd_ctx->config->WlanMccToSccSwitchMode);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006348#endif
6349#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006350 hdd_debug("Name = [gWlanAutoShutdown] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006351 hdd_ctx->config->WlanAutoShutdown);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006352#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006353 hdd_debug("Name = [gApProtection] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006354 hdd_ctx->config->apProtection);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006355 hdd_debug("Name = [gEnableApOBSSProt] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006356 hdd_ctx->config->apOBSSProtEnabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006357 hdd_debug("Name = [%s] value = [%u]", CFG_FORCE_SAP_ACS,
Jeff Johnson723234b2017-09-03 08:49:15 -07006358 hdd_ctx->config->force_sap_acs);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006359 hdd_debug("Name = [%s] value = [%u]", CFG_FORCE_SAP_ACS_START_CH,
Jeff Johnson723234b2017-09-03 08:49:15 -07006360 hdd_ctx->config->force_sap_acs_st_ch);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006361 hdd_debug("Name = [%s] value = [%u]", CFG_FORCE_SAP_ACS_END_CH,
Jeff Johnson723234b2017-09-03 08:49:15 -07006362 hdd_ctx->config->force_sap_acs_end_ch);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006363#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006364 hdd_debug("Name = [sap_channel_avoidance] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006365 hdd_ctx->config->sap_channel_avoidance);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006366#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006367 hdd_debug("Name = [%s] value = [%u]", CFG_SAP_P2P_11AC_OVERRIDE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006368 hdd_ctx->config->sap_p2p_11ac_override);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006369 hdd_debug("Name = [ChannelBondingMode] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006370 hdd_ctx->config->nChannelBondingMode24GHz);
Abhishek Singhb59f8d42017-07-31 14:42:47 +05306371 hdd_debug("Name = [%s] Value = [%u] ",
6372 CFG_OVERRIDE_HT40_20_24GHZ_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006373 hdd_ctx->config->override_ht20_40_24g);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006374 hdd_debug("Name = [ChannelBondingMode] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006375 hdd_ctx->config->nChannelBondingMode5GHz);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006376 hdd_debug("Name = [dot11Mode] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006377 hdd_ctx->config->dot11Mode);
6378 hdd_debug("Name = [WmmMode] Value = [%u] ", hdd_ctx->config->WmmMode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006379 hdd_debug("Name = [UapsdMask] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006380 hdd_ctx->config->UapsdMask);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006381 hdd_debug("Name = [ImplicitQosIsEnabled] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006382 (int)hdd_ctx->config->bImplicitQosEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006383
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006384 hdd_debug("Name = [InfraUapsdVoSrvIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006385 hdd_ctx->config->InfraUapsdVoSrvIntv);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006386 hdd_debug("Name = [InfraUapsdVoSuspIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006387 hdd_ctx->config->InfraUapsdVoSuspIntv);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006388
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006389 hdd_debug("Name = [InfraUapsdViSrvIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006390 hdd_ctx->config->InfraUapsdViSrvIntv);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006391 hdd_debug("Name = [InfraUapsdViSuspIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006392 hdd_ctx->config->InfraUapsdViSuspIntv);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006393
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006394 hdd_debug("Name = [InfraUapsdBeSrvIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006395 hdd_ctx->config->InfraUapsdBeSrvIntv);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006396 hdd_debug("Name = [InfraUapsdBeSuspIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006397 hdd_ctx->config->InfraUapsdBeSuspIntv);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006398
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006399 hdd_debug("Name = [InfraUapsdBkSrvIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006400 hdd_ctx->config->InfraUapsdBkSrvIntv);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006401 hdd_debug("Name = [InfraUapsdBkSuspIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006402 hdd_ctx->config->InfraUapsdBkSuspIntv);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006403#ifdef FEATURE_WLAN_ESE
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006404 hdd_debug("Name = [InfraInactivityInterval] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006405 hdd_ctx->config->InfraInactivityInterval);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006406 hdd_debug("Name = [EseEnabled] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006407 hdd_ctx->config->isEseIniFeatureEnabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006408 hdd_debug("Name = [FastTransitionEnabled] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006409 hdd_ctx->config->isFastTransitionEnabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006410 hdd_debug("Name = [gTxPowerCap] Value = [%u] dBm ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006411 hdd_ctx->config->nTxPowerCap);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006412#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006413 hdd_debug("Name = [gAllowTPCfromAP] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006414 hdd_ctx->config->allow_tpc_from_ap);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006415 hdd_debug("Name = [FastRoamEnabled] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006416 hdd_ctx->config->isFastRoamIniFeatureEnabled);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006417 hdd_mawc_cfg_log(hdd_ctx);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006418 hdd_debug("Name = [RoamRssiDiff] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006419 hdd_ctx->config->RoamRssiDiff);
Abhishek Singh34c0e632017-09-28 14:39:29 +05306420 hdd_debug("Name = [%s] Value = [%u] ", CFG_ROAM_RSSI_ABS_THRESHOLD_NAME,
6421 hdd_ctx->config->rssi_abs_thresh);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006422 hdd_debug("Name = [isWESModeEnabled] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006423 hdd_ctx->config->isWESModeEnabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006424 hdd_debug("Name = [pmkidModes] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006425 hdd_ctx->config->pmkid_modes);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006426#ifdef FEATURE_WLAN_SCAN_PNO
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006427 hdd_debug("Name = [configPNOScanSupport] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006428 hdd_ctx->config->configPNOScanSupport);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006429 hdd_debug("Name = [configPNOScanTimerRepeatValue] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006430 hdd_ctx->config->configPNOScanTimerRepeatValue);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006431 hdd_debug("Name = [gPNOSlowScanMultiplier] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006432 hdd_ctx->config->pno_slow_scan_multiplier);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006433#endif
6434#ifdef FEATURE_WLAN_TDLS
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006435 hdd_debug("Name = [fEnableTDLSSupport] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006436 hdd_ctx->config->fEnableTDLSSupport);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006437 hdd_debug("Name = [fEnableTDLSImplicitTrigger] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006438 hdd_ctx->config->fEnableTDLSImplicitTrigger);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006439 hdd_debug("Name = [fTDLSExternalControl] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006440 hdd_ctx->config->fTDLSExternalControl);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006441 hdd_debug("Name = [fTDLSUapsdMask] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006442 hdd_ctx->config->fTDLSUapsdMask);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006443 hdd_debug("Name = [fEnableTDLSBufferSta] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006444 hdd_ctx->config->fEnableTDLSBufferSta);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006445 hdd_debug("Name = [fEnableTDLSWmmMode] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006446 hdd_ctx->config->fEnableTDLSWmmMode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006447 hdd_debug("Name = [enable_tdls_scan] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006448 hdd_ctx->config->enable_tdls_scan);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006449#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006450 hdd_debug("Name = [InfraDirAcVo] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006451 hdd_ctx->config->InfraDirAcVo);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006452 hdd_debug("Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006453 hdd_ctx->config->InfraNomMsduSizeAcVo);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006454 hdd_debug("Name = [InfraMeanDataRateAcVo] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006455 hdd_ctx->config->InfraMeanDataRateAcVo);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006456 hdd_debug("Name = [InfraMinPhyRateAcVo] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006457 hdd_ctx->config->InfraMinPhyRateAcVo);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006458 hdd_debug("Name = [InfraSbaAcVo] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006459 hdd_ctx->config->InfraSbaAcVo);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006460
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006461 hdd_debug("Name = [InfraDirAcVi] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006462 hdd_ctx->config->InfraDirAcVi);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006463 hdd_debug("Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006464 hdd_ctx->config->InfraNomMsduSizeAcVi);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006465 hdd_debug("Name = [InfraMeanDataRateAcVi] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006466 hdd_ctx->config->InfraMeanDataRateAcVi);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006467 hdd_debug("Name = [InfraMinPhyRateAcVi] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006468 hdd_ctx->config->InfraMinPhyRateAcVi);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006469 hdd_debug("Name = [InfraSbaAcVi] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006470 hdd_ctx->config->InfraSbaAcVi);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006471
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006472 hdd_debug("Name = [InfraDirAcBe] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006473 hdd_ctx->config->InfraDirAcBe);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006474 hdd_debug("Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006475 hdd_ctx->config->InfraNomMsduSizeAcBe);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006476 hdd_debug("Name = [InfraMeanDataRateAcBe] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006477 hdd_ctx->config->InfraMeanDataRateAcBe);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006478 hdd_debug("Name = [InfraMinPhyRateAcBe] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006479 hdd_ctx->config->InfraMinPhyRateAcBe);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006480 hdd_debug("Name = [InfraSbaAcBe] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006481 hdd_ctx->config->InfraSbaAcBe);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006482
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006483 hdd_debug("Name = [InfraDirAcBk] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006484 hdd_ctx->config->InfraDirAcBk);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006485 hdd_debug("Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006486 hdd_ctx->config->InfraNomMsduSizeAcBk);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006487 hdd_debug("Name = [InfraMeanDataRateAcBk] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006488 hdd_ctx->config->InfraMeanDataRateAcBk);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006489 hdd_debug("Name = [InfraMinPhyRateAcBk] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006490 hdd_ctx->config->InfraMinPhyRateAcBk);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006491 hdd_debug("Name = [InfraSbaAcBk] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006492 hdd_ctx->config->InfraSbaAcBk);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006493
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006494 hdd_debug("Name = [DelayedTriggerFrmInt] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006495 hdd_ctx->config->DelayedTriggerFrmInt);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006496 hdd_debug("Name = [fhostArpOffload] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006497 hdd_ctx->config->fhostArpOffload);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006498 hdd_debug("Name = [%s] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006499 CFG_HW_FILTER_MODE_NAME, hdd_ctx->config->hw_filter_mode);
Varun Reddy Yeturubba32e92017-09-06 13:31:40 -07006500 hdd_debug("Name = [%s] Value = [%u]",
6501 CFG_MAWC_NLO_ENABLED_NAME,
6502 hdd_ctx->config->mawc_nlo_enabled);
6503 hdd_debug("Name = [%s] Value = [%u]",
6504 CFG_MAWC_NLO_EXP_BACKOFF_RATIO_NAME,
6505 hdd_ctx->config->mawc_nlo_exp_backoff_ratio);
6506 hdd_debug("Name = [%s] Value = [%u]",
6507 CFG_MAWC_NLO_INIT_SCAN_INTERVAL_NAME,
6508 hdd_ctx->config->mawc_nlo_init_scan_interval);
6509 hdd_debug("Name = [%s] Value = [%u]",
6510 CFG_MAWC_NLO_MAX_SCAN_INTERVAL_NAME,
6511 hdd_ctx->config->mawc_nlo_max_scan_interval);
Jeff Johnson723234b2017-09-03 08:49:15 -07006512 hdd_debug("Name = [ssdp] Value = [%u] ", hdd_ctx->config->ssdp);
6513 hdd_cfg_print_runtime_pm(hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006514#ifdef FEATURE_WLAN_RA_FILTERING
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006515 hdd_debug("Name = [RArateLimitInterval] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006516 hdd_ctx->config->RArateLimitInterval);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006517 hdd_debug("Name = [IsRArateLimitEnabled] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006518 hdd_ctx->config->IsRArateLimitEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006519#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006520 hdd_debug("Name = [nNeighborLookupRssiThreshold] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006521 hdd_ctx->config->nNeighborLookupRssiThreshold);
Varun Reddy Yeturu168134f2017-06-26 13:46:05 -07006522 hdd_debug("Name = [%s] Value = [%d] ",
6523 CFG_5G_RSSI_THRESHOLD_OFFSET_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006524 hdd_ctx->config->rssi_thresh_offset_5g);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006525 hdd_debug("Name = [delay_before_vdev_stop] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006526 hdd_ctx->config->delay_before_vdev_stop);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006527 hdd_debug("Name = [nOpportunisticThresholdDiff] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006528 hdd_ctx->config->nOpportunisticThresholdDiff);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006529 hdd_debug("Name = [nRoamRescanRssiDiff] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006530 hdd_ctx->config->nRoamRescanRssiDiff);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006531 hdd_debug("Name = [nNeighborScanMinChanTime] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006532 hdd_ctx->config->nNeighborScanMinChanTime);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006533 hdd_debug("Name = [nNeighborScanMaxChanTime] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006534 hdd_ctx->config->nNeighborScanMaxChanTime);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006535 hdd_debug("Name = [nMaxNeighborRetries] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006536 hdd_ctx->config->nMaxNeighborReqTries);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006537 hdd_debug("Name = [nNeighborScanPeriod] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006538 hdd_ctx->config->nNeighborScanPeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006539 hdd_debug("Name = [n_neighbor_scan_min_period] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006540 hdd_ctx->config->neighbor_scan_min_period);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006541 hdd_debug("Name = [nNeighborScanResultsRefreshPeriod] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006542 hdd_ctx->config->nNeighborResultsRefreshPeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006543 hdd_debug("Name = [nEmptyScanRefreshPeriod] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006544 hdd_ctx->config->nEmptyScanRefreshPeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006545 hdd_debug("Name = [nRoamBmissFirstBcnt] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006546 hdd_ctx->config->nRoamBmissFirstBcnt);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006547 hdd_debug("Name = [nRoamBmissFinalBcnt] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006548 hdd_ctx->config->nRoamBmissFinalBcnt);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006549 hdd_debug("Name = [nRoamBeaconRssiWeight] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006550 hdd_ctx->config->nRoamBeaconRssiWeight);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006551 hdd_debug("Name = [allowDFSChannelRoam] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006552 hdd_ctx->config->allowDFSChannelRoam);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006553 hdd_debug("Name = [nhi_rssi_scan_max_count] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006554 hdd_ctx->config->nhi_rssi_scan_max_count);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006555 hdd_debug("Name = [nhi_rssi_scan_rssi_delta] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006556 hdd_ctx->config->nhi_rssi_scan_rssi_delta);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006557 hdd_debug("Name = [nhi_rssi_scan_delay] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006558 hdd_ctx->config->nhi_rssi_scan_delay);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006559 hdd_debug("Name = [nhi_rssi_scan_rssi_ub] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006560 hdd_ctx->config->nhi_rssi_scan_rssi_ub);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006561 hdd_debug("Name = [burstSizeDefinition] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006562 hdd_ctx->config->burstSizeDefinition);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006563 hdd_debug("Name = [tsInfoAckPolicy] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006564 hdd_ctx->config->tsInfoAckPolicy);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006565 hdd_debug("Name = [bSingleTidRc] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006566 hdd_ctx->config->bSingleTidRc);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006567 hdd_debug("Name = [gAddTSWhenACMIsOff] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006568 hdd_ctx->config->AddTSWhenACMIsOff);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006569 hdd_debug("Name = [gStaKeepAlivePeriod] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006570 hdd_ctx->config->infraStaKeepAlivePeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006571 hdd_debug("Name = [BandCapability] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006572 hdd_ctx->config->nBandCapability);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006573 hdd_debug("Name = [teleBcnWakeupEnable] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006574 hdd_ctx->config->teleBcnWakeupEn);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006575 hdd_debug("Name = [maxListenInterval] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006576 hdd_ctx->config->nTeleBcnMaxListenInterval);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006577 hdd_debug("Name = [gEnableBypass11d] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006578 hdd_ctx->config->enableBypass11d);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006579 hdd_debug("Name = [gEnableDFSChnlScan] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006580 hdd_ctx->config->enableDFSChnlScan);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006581 hdd_debug("Name = [gEnableDFSPnoChnlScan] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006582 hdd_ctx->config->enable_dfs_pno_chnl_scan);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006583 hdd_debug("Name = [gReportMaxLinkSpeed] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006584 hdd_ctx->config->reportMaxLinkSpeed);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006585 hdd_debug("Name = [thermalMitigationEnable] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006586 hdd_ctx->config->thermalMitigationEnable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006587 hdd_debug("Name = [gVhtChannelWidth] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006588 hdd_ctx->config->vhtChannelWidth);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006589 hdd_debug("Name = [enableFirstScan2GOnly] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006590 hdd_ctx->config->enableFirstScan2GOnly);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006591 hdd_debug("Name = [skipDfsChnlInP2pSearch] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006592 hdd_ctx->config->skipDfsChnlInP2pSearch);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006593 hdd_debug("Name = [ignoreDynamicDtimInP2pMode] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006594 hdd_ctx->config->ignoreDynamicDtimInP2pMode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006595 hdd_debug("Name = [enableRxSTBC] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006596 hdd_ctx->config->enableRxSTBC);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006597 hdd_debug("Name = [gEnableSSR] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006598 hdd_ctx->config->enableSSR);
Poddar, Siddarth37033032017-10-11 15:47:40 +05306599 hdd_debug("Name = [gEnableDataStallDetection] Value = [%u] ",
6600 hdd_ctx->config->enable_data_stall_det);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006601 hdd_debug("Name = [gEnableVhtFor24GHzBand] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006602 hdd_ctx->config->enableVhtFor24GHzBand);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006603 hdd_debug("Name = [gGoLinkMonitorPeriod] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006604 hdd_ctx->config->goLinkMonitorPeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006605 hdd_debug("Name = [gApLinkMonitorPeriod] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006606 hdd_ctx->config->apLinkMonitorPeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006607 hdd_debug("Name = [gGoKeepAlivePeriod] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006608 hdd_ctx->config->goKeepAlivePeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006609 hdd_debug("Name = [gApKeepAlivePeriod]Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006610 hdd_ctx->config->apKeepAlivePeriod);
Deepak Dhamdhere612392c2016-08-28 02:56:51 -07006611 hdd_debug("Name = [max_amsdu_num] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006612 hdd_ctx->config->max_amsdu_num);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006613 hdd_debug("Name = [nSelect5GHzMargin] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006614 hdd_ctx->config->nSelect5GHzMargin);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006615 hdd_debug("Name = [gCoalesingInIBSS] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006616 hdd_ctx->config->isCoalesingInIBSSAllowed);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006617 hdd_debug("Name = [gIbssATIMWinSize] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006618 hdd_ctx->config->ibssATIMWinSize);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006619 hdd_debug("Name = [gIbssIsPowerSaveAllowed] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006620 hdd_ctx->config->isIbssPowerSaveAllowed);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006621 hdd_debug("Name = [gIbssIsPowerCollapseAllowed] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006622 hdd_ctx->config->isIbssPowerCollapseAllowed);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006623 hdd_debug("Name = [gIbssAwakeOnTxRx] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006624 hdd_ctx->config->isIbssAwakeOnTxRx);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006625 hdd_debug("Name = [gIbssInactivityTime] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006626 hdd_ctx->config->ibssInactivityCount);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006627 hdd_debug("Name = [gIbssTxSpEndInactivityTime] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006628 hdd_ctx->config->ibssTxSpEndInactivityTime);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006629 hdd_debug("Name = [gIbssPsWarmupTime] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006630 hdd_ctx->config->ibssPsWarmupTime);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006631 hdd_debug("Name = [gIbssPs1RxChainInAtim] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006632 hdd_ctx->config->ibssPs1RxChainInAtimEnable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006633 hdd_debug("Name = [fDfsPhyerrFilterOffload] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006634 hdd_ctx->config->fDfsPhyerrFilterOffload);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006635 hdd_debug("Name = [gIgnorePeerErpInfo] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006636 hdd_ctx->config->ignore_peer_erp_info);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006637#ifdef IPA_OFFLOAD
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006638 hdd_debug("Name = [gIPAConfig] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006639 hdd_ctx->config->IpaConfig);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006640 hdd_debug("Name = [gIPADescSize] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006641 hdd_ctx->config->IpaDescSize);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006642 hdd_debug("Name = [IpaHighBandwidthMbpsg] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006643 hdd_ctx->config->IpaHighBandwidthMbps);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006644 hdd_debug("Name = [IpaMediumBandwidthMbps] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006645 hdd_ctx->config->IpaMediumBandwidthMbps);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006646 hdd_debug("Name = [IpaLowBandwidthMbps] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006647 hdd_ctx->config->IpaLowBandwidthMbps);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006648#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006649 hdd_debug("Name = [gEnableOverLapCh] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006650 hdd_ctx->config->gEnableOverLapCh);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006651 hdd_debug("Name = [gMaxOffloadPeers] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006652 hdd_ctx->config->apMaxOffloadPeers);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006653 hdd_debug("Name = [gMaxOffloadReorderBuffs] value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006654 hdd_ctx->config->apMaxOffloadReorderBuffs);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006655 hdd_debug("Name = [%s] Value = [%d]",
Dustin Brown732ab9c2017-06-15 13:24:09 -07006656 CFG_ENABLE_CCK_TX_FIR_OVERRIDE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006657 hdd_ctx->config->enable_cck_tx_fir_override);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006658 hdd_debug("Name = [gAllowDFSChannelRoam] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006659 hdd_ctx->config->allowDFSChannelRoam);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006660 hdd_debug("Name = [gMaxConcurrentActiveSessions] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006661 hdd_ctx->config->gMaxConcurrentActiveSessions);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006662
6663#ifdef MSM_PLATFORM
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006664 hdd_debug("Name = [gBusBandwidthHighThreshold] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006665 hdd_ctx->config->busBandwidthHighThreshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006666 hdd_debug("Name = [gBusBandwidthMediumThreshold] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006667 hdd_ctx->config->busBandwidthMediumThreshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006668 hdd_debug("Name = [gBusBandwidthLowThreshold] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006669 hdd_ctx->config->busBandwidthLowThreshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006670 hdd_debug("Name = [gbusBandwidthComputeInterval] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006671 hdd_ctx->config->busBandwidthComputeInterval);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006672 hdd_debug("Name = [%s] Value = [%u] ",
Prakash Manjunathappae73e3b52018-02-27 18:56:22 -08006673 CFG_ENABLE_TCP_LIMIT_OUTPUT,
6674 hdd_ctx->config->enable_tcp_limit_output);
6675 hdd_debug("Name = [%s] Value = [%u] ",
Mohit Khanna6272fb682017-04-13 09:34:36 -07006676 CFG_ENABLE_TCP_ADV_WIN_SCALE,
6677 hdd_ctx->config->enable_tcp_adv_win_scale);
6678 hdd_debug("Name = [%s] Value = [%u] ",
Ravi Joshie2331e82015-07-01 18:18:54 -07006679 CFG_ENABLE_TCP_DELACK,
Jeff Johnson723234b2017-09-03 08:49:15 -07006680 hdd_ctx->config->enable_tcp_delack);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006681 hdd_debug("Name = [gTcpDelAckThresholdHigh] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006682 hdd_ctx->config->tcpDelackThresholdHigh);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006683 hdd_debug("Name = [gTcpDelAckThresholdLow] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006684 hdd_ctx->config->tcpDelackThresholdLow);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006685 hdd_debug("Name = [%s] Value = [%u] ",
Ravi Joshib89e7f72016-09-07 13:43:15 -07006686 CFG_TCP_DELACK_TIMER_COUNT,
Jeff Johnson723234b2017-09-03 08:49:15 -07006687 hdd_ctx->config->tcp_delack_timer_count);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006688 hdd_debug("Name = [%s] Value = [%u] ",
Ravi Joshib89e7f72016-09-07 13:43:15 -07006689 CFG_TCP_TX_HIGH_TPUT_THRESHOLD_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006690 hdd_ctx->config->tcp_tx_high_tput_thres);
Mohit Khannaca4173b2017-09-12 21:52:19 -07006691 hdd_debug("Name = [%s] Value = [%u] ",
6692 CFG_PERIODIC_STATS_DISPLAY_TIME_NAME,
6693 hdd_ctx->config->periodic_stats_disp_time);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006694#endif
6695
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006696 hdd_debug("Name = [gIgnoreCAC] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006697 hdd_ctx->config->ignoreCAC);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006698 hdd_debug("Name = [gSapPreferredChanLocation] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006699 hdd_ctx->config->gSapPreferredChanLocation);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006700 hdd_debug("Name = [gDisableDfsJapanW53] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006701 hdd_ctx->config->gDisableDfsJapanW53);
Jeff Johnsonc57c13a2018-04-01 11:03:29 -07006702
6703 hdd_green_ap_print_config(hdd_ctx);
6704
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006705#ifdef WLAN_FEATURE_ROAM_OFFLOAD
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006706 hdd_debug("Name = [isRoamOffloadEnabled] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006707 hdd_ctx->config->isRoamOffloadEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006708#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006709 hdd_debug("Name = [gEnableSifsBurst] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006710 hdd_ctx->config->enableSifsBurst);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006711
6712#ifdef WLAN_FEATURE_LPSS
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006713 hdd_debug("Name = [gEnableLpassSupport] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006714 hdd_ctx->config->enable_lpass_support);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006715#endif
6716
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006717 hdd_debug("Name = [gEnableSelfRecovery] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006718 hdd_ctx->config->enableSelfRecovery);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006719
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006720 hdd_debug("Name = [gEnableSapSuspend] Value = [%u]",
Jeff Johnson60cbd2d2017-11-03 18:26:28 -07006721 hdd_ctx->config->enable_sap_suspend);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006722
6723#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006724 hdd_debug("Name = [gExtWoWgotoSuspend] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006725 hdd_ctx->config->extWowGotoSuspend);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006726
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006727 hdd_debug("Name = [gExtWowApp1WakeupPinNumber] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006728 hdd_ctx->config->extWowApp1WakeupPinNumber);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006729
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006730 hdd_debug("Name = [gExtWowApp2WakeupPinNumber] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006731 hdd_ctx->config->extWowApp2WakeupPinNumber);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006732
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006733 hdd_debug("Name = [gExtWoWApp2KAInitPingInterval] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006734 hdd_ctx->config->extWowApp2KAInitPingInterval);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006735
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006736 hdd_debug("Name = [gExtWoWApp2KAMinPingInterval] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006737 hdd_ctx->config->extWowApp2KAMinPingInterval);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006738
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006739 hdd_debug("Name = [gExtWoWApp2KAMaxPingInterval] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006740 hdd_ctx->config->extWowApp2KAMaxPingInterval);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006741
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006742 hdd_debug("Name = [gExtWoWApp2KAIncPingInterval] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006743 hdd_ctx->config->extWowApp2KAIncPingInterval);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006744
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006745 hdd_debug("Name = [gExtWoWApp2TcpSrcPort] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006746 hdd_ctx->config->extWowApp2TcpSrcPort);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006747
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006748 hdd_debug("Name = [gExtWoWApp2TcpDstPort] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006749 hdd_ctx->config->extWowApp2TcpDstPort);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006750
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006751 hdd_debug("Name = [gExtWoWApp2TcpTxTimeout] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006752 hdd_ctx->config->extWowApp2TcpTxTimeout);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006753
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006754 hdd_debug("Name = [gExtWoWApp2TcpRxTimeout] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006755 hdd_ctx->config->extWowApp2TcpRxTimeout);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006756#endif
6757
6758#ifdef DHCP_SERVER_OFFLOAD
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006759 hdd_debug("Name = [gDHCPServerOffloadEnable] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006760 hdd_ctx->config->enableDHCPServerOffload);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006761 hdd_debug("Name = [gDHCPMaxNumClients] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006762 hdd_ctx->config->dhcpMaxNumClients);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006763 hdd_debug("Name = [gDHCPServerIP] Value = [%s]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006764 hdd_ctx->config->dhcpServerIP);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006765#endif
6766
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006767 hdd_debug("Name = [gEnableDumpCollect] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006768 hdd_ctx->config->is_ramdump_enabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006769
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006770 hdd_debug("Name = [gP2PListenDeferInterval] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006771 hdd_ctx->config->p2p_listen_defer_interval);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006772 hdd_debug("Name = [is_ps_enabled] value = [%d]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006773 hdd_ctx->config->is_ps_enabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006774 hdd_debug("Name = [tso_enable] value = [%d]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006775 hdd_ctx->config->tso_enable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006776 hdd_debug("Name = [LROEnable] value = [%d]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006777 hdd_ctx->config->lro_enable);
Orhan K AKYILDIZ30e8cbc2017-08-11 18:00:28 -07006778 hdd_debug("Name = [%s] value = [%d]",
6779 CFG_MAX_MSDUS_PER_RXIND_NAME,
6780 hdd_ctx->config->max_msdus_per_rxinorderind);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006781 hdd_debug("Name = [active_mode_offload] value = [%d]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006782 hdd_ctx->config->active_mode_offload);
Venkata Sharath Chandra Manchala4aaae0f2017-07-10 11:59:19 -07006783 hdd_debug("Name = [gEnableNAPI] value = [%d]",
6784 hdd_ctx->napi_enable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006785 hdd_debug("Name = [gfine_time_meas_cap] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006786 hdd_ctx->config->fine_time_meas_cap);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006787#ifdef WLAN_FEATURE_FASTPATH
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006788 hdd_debug("Name = [fastpath_enable] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006789 hdd_ctx->config->fastpath_enable);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006790#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006791 hdd_debug("Name = [max_scan_count] value = [%d]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006792 hdd_ctx->config->max_scan_count);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006793 hdd_debug("Name = [%s] value = [%d]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006794 CFG_RX_MODE_NAME, hdd_ctx->config->rx_mode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006795 hdd_debug("Name = [%s] Value = [%u]",
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006796 CFG_CE_CLASSIFY_ENABLE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006797 hdd_ctx->config->ce_classify_enabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006798 hdd_debug("Name = [%s] value = [%u]",
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006799 CFG_DUAL_MAC_FEATURE_DISABLE,
Jeff Johnson723234b2017-09-03 08:49:15 -07006800 hdd_ctx->config->dual_mac_feature_disable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006801 hdd_debug("Name = [%s] Value = [%s]",
Nitesh Shah50a3de12017-04-03 19:37:19 +05306802 CFG_DBS_SCAN_SELECTION_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006803 hdd_ctx->config->dbs_scan_selection);
Ganesh Kondabattini930304c2017-10-10 15:25:36 +05306804 hdd_debug("Name = [%s] value = [%u]",
6805 CFG_STA_SAP_SCC_ON_DFS_CHAN,
6806 hdd_ctx->config->sta_sap_scc_on_dfs_chan);
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07006807#ifdef FEATURE_WLAN_SCAN_PNO
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006808 hdd_debug("Name = [%s] Value = [%u]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006809 CFG_PNO_CHANNEL_PREDICTION_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006810 hdd_ctx->config->pno_channel_prediction);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006811 hdd_debug("Name = [%s] Value = [%u]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006812 CFG_TOP_K_NUM_OF_CHANNELS_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006813 hdd_ctx->config->top_k_num_of_channels);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006814 hdd_debug("Name = [%s] Value = [%u]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006815 CFG_STATIONARY_THRESHOLD_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006816 hdd_ctx->config->stationary_thresh);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006817 hdd_debug("Name = [%s] Value = [%u]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006818 CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006819 hdd_ctx->config->channel_prediction_full_scan);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006820 hdd_debug("Name = [%s] Value = [%u]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006821 CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006822 hdd_ctx->config->pnoscan_adaptive_dwell_mode);
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07006823#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006824 hdd_debug("Name = [%s] Value = [%d]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006825 CFG_EARLY_STOP_SCAN_ENABLE,
Jeff Johnson723234b2017-09-03 08:49:15 -07006826 hdd_ctx->config->early_stop_scan_enable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006827 hdd_debug("Name = [%s] Value = [%d]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006828 CFG_EARLY_STOP_SCAN_MIN_THRESHOLD,
Jeff Johnson723234b2017-09-03 08:49:15 -07006829 hdd_ctx->config->early_stop_scan_min_threshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006830 hdd_debug("Name = [%s] Value = [%d]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006831 CFG_EARLY_STOP_SCAN_MAX_THRESHOLD,
Jeff Johnson723234b2017-09-03 08:49:15 -07006832 hdd_ctx->config->early_stop_scan_max_threshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006833 hdd_debug("Name = [%s] Value = [%d]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006834 CFG_FIRST_SCAN_BUCKET_THRESHOLD_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006835 hdd_ctx->config->first_scan_bucket_threshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006836 hdd_debug("Name = [%s] Value = [%u]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006837 CFG_HT_MPDU_DENSITY_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006838 hdd_ctx->config->ht_mpdu_density);
Mukul Sharmaecf8e092017-12-19 22:36:31 +05306839 hdd_debug("Name = [%s] value = [%d]",
6840 CFG_MARK_INDOOR_AS_DISABLE_NAME,
6841 hdd_ctx->config->force_ssc_disable_indoor_channel);
Ravi Joshi742495d2015-11-09 18:56:53 -08006842
6843#ifdef FEATURE_LFR_SUBNET_DETECTION
Dustin Brown5e89ef82018-03-14 11:50:23 -07006844 hdd_debug("Name = [%s] Value = [%d]",
6845 CFG_ENABLE_LFR_SUBNET_DETECTION,
6846 hdd_ctx->config->enable_lfr_subnet_detection);
Ravi Joshi742495d2015-11-09 18:56:53 -08006847#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006848 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapilc68ad462016-02-01 19:17:23 +05306849 CFG_ROAM_DENSE_TRAFFIC_THRESHOLD,
Jeff Johnson723234b2017-09-03 08:49:15 -07006850 hdd_ctx->config->roam_dense_traffic_thresh);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006851 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapilc68ad462016-02-01 19:17:23 +05306852 CFG_ROAM_DENSE_RSSI_THRE_OFFSET,
Jeff Johnson723234b2017-09-03 08:49:15 -07006853 hdd_ctx->config->roam_dense_rssi_thresh_offset);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006854 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh165bc602016-03-21 12:43:00 +05306855 CFG_IGNORE_PEER_HT_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006856 hdd_ctx->config->ignore_peer_ht_opmode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006857 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta4b2efbb2016-10-03 13:07:20 +05306858 CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006859 hdd_ctx->config->enable_sap_vendor_vht);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006860 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh5ea86532016-04-27 14:10:53 +05306861 CFG_ENABLE_FATAL_EVENT_TRIGGER,
Jeff Johnson723234b2017-09-03 08:49:15 -07006862 hdd_ctx->config->enable_fatal_event);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006863 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapilc68ad462016-02-01 19:17:23 +05306864 CFG_ROAM_DENSE_MIN_APS,
Jeff Johnson723234b2017-09-03 08:49:15 -07006865 hdd_ctx->config->roam_dense_min_aps);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006866 hdd_debug("Name = [%s] Value = [%u]",
Varun Reddy Yeturufaad37e2017-07-26 10:54:13 -07006867 CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_NAME,
6868 hdd_ctx->config->roam_bg_scan_bad_rssi_thresh);
6869 hdd_debug("Name = [%s] Value = [%u]",
6870 CFG_ROAM_BG_SCAN_CLIENT_BITMAP_NAME,
6871 hdd_ctx->config->roam_bg_scan_client_bitmap);
6872 hdd_debug("Name = [%s] Value = [%u]",
Vignesh Viswanathanc018e982017-09-07 18:49:19 +05306873 CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_NAME,
6874 hdd_ctx->config->roam_bad_rssi_thresh_offset_2g);
6875 hdd_debug("Name = [%s] Value = [%u]",
Abhinav Kumara083f212018-04-05 18:49:45 +05306876 CFG_ROAM_HO_DELAY_FOR_RX_NAME,
6877 hdd_ctx->config->ho_delay_for_rx);
6878 hdd_debug("Name = [%s] Value = [%u]",
Abhinav Kumara95af7c2018-04-06 17:08:00 +05306879 CFG_MIN_DELAY_BTW_ROAM_SCAN_NAME,
6880 hdd_ctx->config->min_delay_btw_roam_scans);
6881 hdd_debug("Name = [%s] Value = [%u]",
6882 CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_NAME,
6883 hdd_ctx->config->roam_trigger_reason_bitmask);
6884 hdd_debug("Name = [%s] Value = [%u]",
Agrawal Ashish17bb3902016-05-05 13:29:40 +05306885 CFG_MIN_REST_TIME_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006886 hdd_ctx->config->min_rest_time_conc);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006887 hdd_debug("Name = [%s] Value = [%u]",
Agrawal Ashish17bb3902016-05-05 13:29:40 +05306888 CFG_IDLE_TIME_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006889 hdd_ctx->config->idle_time_conc);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006890 hdd_debug("Name = [%s] Value = [%d]",
Mukul Sharmaf7d62e12016-09-03 15:16:22 +05306891 CFG_BUG_ON_REINIT_FAILURE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006892 hdd_ctx->config->bug_on_reinit_failure);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006893 hdd_debug("Name = [%s] Value = [%u]",
Arun Khandavallifae92942016-08-01 13:31:08 +05306894 CFG_INTERFACE_CHANGE_WAIT_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006895 hdd_ctx->config->iface_change_wait_time);
Agrawal Ashish17bb3902016-05-05 13:29:40 +05306896
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006897 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306898 CFG_ENABLE_EDCA_INI_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006899 hdd_ctx->config->enable_edca_params);
Abhishek Singh10ecf582016-05-04 17:48:59 +05306900
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006901 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306902 CFG_EDCA_VO_CWMIN_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006903 hdd_ctx->config->edca_vo_cwmin);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006904 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306905 CFG_EDCA_VI_CWMIN_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006906 hdd_ctx->config->edca_vi_cwmin);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006907 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306908 CFG_EDCA_BK_CWMIN_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006909 hdd_ctx->config->edca_bk_cwmin);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006910 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306911 CFG_EDCA_BE_CWMIN_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006912 hdd_ctx->config->edca_be_cwmin);
Abhishek Singh10ecf582016-05-04 17:48:59 +05306913
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006914 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306915 CFG_EDCA_VO_CWMAX_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006916 hdd_ctx->config->edca_vo_cwmax);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006917 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306918 CFG_EDCA_VI_CWMAX_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006919 hdd_ctx->config->edca_vi_cwmax);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006920 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306921 CFG_EDCA_BK_CWMAX_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006922 hdd_ctx->config->edca_bk_cwmax);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006923 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306924 CFG_EDCA_BE_CWMAX_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006925 hdd_ctx->config->edca_be_cwmax);
Abhishek Singh10ecf582016-05-04 17:48:59 +05306926
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006927 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306928 CFG_EDCA_VO_AIFS_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006929 hdd_ctx->config->edca_vo_aifs);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006930 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306931 CFG_EDCA_VI_AIFS_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006932 hdd_ctx->config->edca_vi_aifs);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006933 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306934 CFG_EDCA_BK_AIFS_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006935 hdd_ctx->config->edca_bk_aifs);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006936 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306937 CFG_EDCA_BE_AIFS_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006938 hdd_ctx->config->edca_be_aifs);
gbian62edd7e2017-03-07 13:12:13 +08006939
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006940 hdd_debug("Name = [%s] Value = [%s]",
gbian62edd7e2017-03-07 13:12:13 +08006941 CFG_ENABLE_TX_SCHED_WRR_VO_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006942 hdd_ctx->config->tx_sched_wrr_vo);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006943 hdd_debug("Name = [%s] Value = [%s]",
gbian62edd7e2017-03-07 13:12:13 +08006944 CFG_ENABLE_TX_SCHED_WRR_VI_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006945 hdd_ctx->config->tx_sched_wrr_vi);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006946 hdd_debug("Name = [%s] Value = [%s]",
gbian62edd7e2017-03-07 13:12:13 +08006947 CFG_ENABLE_TX_SCHED_WRR_BK_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006948 hdd_ctx->config->tx_sched_wrr_bk);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006949 hdd_debug("Name = [%s] Value = [%s]",
gbian62edd7e2017-03-07 13:12:13 +08006950 CFG_ENABLE_TX_SCHED_WRR_BE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006951 hdd_ctx->config->tx_sched_wrr_be);
Mohit Khannaf8f96822017-05-17 17:11:59 -07006952 hdd_info("Name = [%s] Value = [%u]",
Nirav Shahcc1f1ae2016-04-26 11:41:29 +05306953 CFG_ENABLE_DP_TRACE,
Jeff Johnson723234b2017-09-03 08:49:15 -07006954 hdd_ctx->config->enable_dp_trace);
Mohit Khannaf8f96822017-05-17 17:11:59 -07006955 hdd_debug("Name = [%s] Value = [%s]",
6956 CFG_ENABLE_DP_TRACE_CONFIG,
Jeff Johnson723234b2017-09-03 08:49:15 -07006957 hdd_ctx->config->dp_trace_config);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006958 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05306959 CFG_ADAPTIVE_SCAN_DWELL_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006960 hdd_ctx->config->scan_adaptive_dwell_mode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006961 hdd_debug("Name = [%s] Value = [%u]",
Paul Zhang72697bd2017-12-20 09:24:25 +08006962 CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_NAME,
6963 hdd_ctx->config->scan_adaptive_dwell_mode_nc);
6964 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05306965 CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006966 hdd_ctx->config->roamscan_adaptive_dwell_mode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006967 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05306968 CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006969 hdd_ctx->config->extscan_adaptive_dwell_mode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006970 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05306971 CFG_ADAPTIVE_DWELL_MODE_ENABLED_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006972 hdd_ctx->config->adaptive_dwell_mode_enabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006973 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05306974 CFG_GLOBAL_ADAPTIVE_DWELL_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006975 hdd_ctx->config->global_adapt_dwelltime_mode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006976 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05306977 CFG_ADAPT_DWELL_LPF_WEIGHT_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006978 hdd_ctx->config->adapt_dwell_lpf_weight);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006979 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05306980 CFG_ADAPT_DWELL_PASMON_INTVAL_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006981 hdd_ctx->config->adapt_dwell_passive_mon_intval);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006982 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05306983 CFG_ADAPT_DWELL_WIFI_THRESH_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006984 hdd_ctx->config->adapt_dwell_wifi_act_threshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006985 hdd_debug("Name = [%s] value = [%u]",
Naveen Rawat64e477e2016-05-20 10:34:56 -07006986 CFG_SUB_20_CHANNEL_WIDTH_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006987 hdd_ctx->config->enable_sub_20_channel_width);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006988 hdd_debug("Name = [%s] Value = [%u]",
Rajeev Kumar Sirasanagandlaaf474742016-09-06 17:54:50 +05306989 CFG_TGT_GTX_USR_CFG_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006990 hdd_ctx->config->tgt_gtx_usr_cfg);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006991 hdd_debug("Name = [%s] Value = [%u]",
Agrawal, Ashish4e5fa1c2016-09-21 19:03:43 +05306992 CFG_SAP_MAX_INACTIVITY_OVERRIDE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006993 hdd_ctx->config->sap_max_inactivity_override);
6994 hdd_ndp_print_ini_config(hdd_ctx);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006995 hdd_debug("Name = [%s] Value = [%s]",
Krishna Kumaar Natarajancc077c22016-08-02 10:41:53 -07006996 CFG_RM_CAPABILITY_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006997 hdd_ctx->config->rm_capability);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006998 hdd_debug("Name = [%s] Value = [%d]",
Rajeev Kumar Sirasanagandlab79b5462016-09-06 18:33:17 +05306999 CFG_SAP_FORCE_11N_FOR_11AC_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007000 hdd_ctx->config->sap_force_11n_for_11ac);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007001 hdd_debug("Name = [%s] Value = [%d]",
Bala Venkateshb9cf3362017-11-09 15:48:46 +05307002 CFG_GO_FORCE_11N_FOR_11AC_NAME,
7003 hdd_ctx->config->go_force_11n_for_11ac);
7004 hdd_debug("Name = [%s] Value = [%d]",
Rajeev Kumardd3bc602016-08-16 14:21:05 -07007005 CFG_BPF_PACKET_FILTER_OFFLOAD,
Jeff Johnson723234b2017-09-03 08:49:15 -07007006 hdd_ctx->config->bpf_packet_filter_enable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007007 hdd_debug("Name = [%s] Value = [%u]",
Nitesh Shah61c10d92016-10-19 19:29:15 +05307008 CFG_TDLS_ENABLE_DEFER_TIMER,
Jeff Johnson723234b2017-09-03 08:49:15 -07007009 hdd_ctx->config->tdls_enable_defer_time);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007010 hdd_debug("Name = [%s] Value = [%d]",
Ravi Joshibb8d4512016-08-22 10:14:52 -07007011 CFG_FILTER_MULTICAST_REPLAY_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007012 hdd_ctx->config->multicast_replay_filter);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007013 hdd_debug("Name = [%s] Value = [%u]",
Agrawal Ashishb2d1a452016-05-05 12:23:58 +05307014 CFG_ENABLE_GO_CTS2SELF_FOR_STA,
Jeff Johnson723234b2017-09-03 08:49:15 -07007015 hdd_ctx->config->enable_go_cts2self_for_sta);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007016 hdd_debug("Name = [%s] Value = [%u]",
Sandeep Puligillaafa52892016-10-26 19:03:16 -07007017 CFG_CRASH_FW_TIMEOUT_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007018 hdd_ctx->config->fw_timeout_crash);
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05307019 hdd_debug("Name = [%s] Value = [%u]",
7020 CFG_ACTIVE_UC_BPF_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007021 hdd_ctx->config->active_uc_bpf_mode);
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05307022 hdd_debug("Name = [%s] Value = [%u]",
7023 CFG_ACTIVE_MC_BC_BPF_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007024 hdd_ctx->config->active_mc_bc_bpf_mode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007025 hdd_debug("Name = [%s] Value = [%d]",
Arun Khandavallicc544b32017-01-30 19:52:16 +05307026 CFG_SAP_INTERNAL_RESTART_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007027 hdd_ctx->config->sap_internal_restart);
gaoleze5108942017-03-31 16:56:42 +08007028 hdd_debug("Name = [%s] Value = [%d]",
7029 CFG_ACS_WITH_MORE_PARAM_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007030 hdd_ctx->config->acs_with_more_param);
Ravi Kumar Bokka05c14e52017-03-27 14:48:23 +05307031 hdd_debug("Name = [%s] Value = [%u]",
7032 CFG_AUTO_DETECT_POWER_FAIL_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007033 hdd_ctx->config->auto_pwr_save_fail_mode);
Hanumanth Reddy Pothula9c161dd2017-03-23 19:03:08 +05307034 hdd_debug("Name = [%s] Value = [%d]",
Hanumanth Reddy Pothulaffc2d482017-07-04 11:32:44 +05307035 CFG_RESTART_BEACONING_ON_CH_AVOID_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007036 hdd_ctx->config->restart_beaconing_on_chan_avoid_event);
Ravi Kumar Bokka05c14e52017-03-27 14:48:23 +05307037
Jeff Johnson723234b2017-09-03 08:49:15 -07007038 hdd_per_roam_print_ini_config(hdd_ctx);
7039 hdd_he_print_ini_config(hdd_ctx);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007040 hdd_debug("Name = [%s] Value = [%d]",
Srinivas Girigowda70e169a2017-03-07 23:55:57 -08007041 CFG_ARP_AC_CATEGORY,
Jeff Johnson723234b2017-09-03 08:49:15 -07007042 hdd_ctx->config->arp_ac_category);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007043 hdd_debug("Name = [%s] Value = [%u]",
Dustin Brown20b6fcf2017-05-17 15:35:17 -07007044 CFG_SCAN_BACKOFF_MULTIPLIER_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007045 hdd_ctx->config->scan_backoff_multiplier);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007046 hdd_debug("Name = [%s] Value = [%d]",
Jayachandran Sreekumaran68c952c2017-04-24 12:42:03 +05307047 CFG_EXTERNAL_ACS_POLICY,
Jeff Johnson723234b2017-09-03 08:49:15 -07007048 hdd_ctx->config->external_acs_policy);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007049 hdd_debug("Name = [%s] value = [%u]",
Naveen Rawat2b6e3c92017-03-20 13:59:07 -07007050 CFG_DROPPED_PKT_DISCONNECT_TH_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007051 hdd_ctx->config->pkt_err_disconn_th);
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05307052
Jeff Johnson723234b2017-09-03 08:49:15 -07007053 hdd_cfg_print_ie_whitelist_attrs(hdd_ctx);
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05307054
Naveen Rawatb2fc4132017-05-10 20:42:05 -07007055 hdd_debug("Name = [%s] value = [%u]",
7056 CFG_FORCE_1X1_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007057 hdd_ctx->config->is_force_1x1);
Srinivas Girigowda6598eea2017-07-06 19:26:19 -07007058 hdd_debug("Name = [%s] Value = %u",
Ashish Kumar Dhanotiya470af292017-05-31 20:46:00 +05307059 CFG_ENABLE_CONNECTED_SCAN_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007060 hdd_ctx->config->enable_connected_scan);
Naveen Rawat247a8682017-06-05 15:00:31 -07007061 hdd_debug("Name = [%s] value = [%u]",
7062 CFG_11B_NUM_TX_CHAIN_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007063 hdd_ctx->config->num_11b_tx_chains);
Naveen Rawat247a8682017-06-05 15:00:31 -07007064 hdd_debug("Name = [%s] value = [%u]",
7065 CFG_11AG_NUM_TX_CHAIN_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007066 hdd_ctx->config->num_11ag_tx_chains);
Ashish Kumar Dhanotiya9335d812017-06-30 16:57:20 +05307067 hdd_debug("Name = [%s] value = [%u]",
7068 CFG_ITO_REPEAT_COUNT_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007069 hdd_ctx->config->ito_repeat_count);
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05307070 hdd_debug("Name = [%s] Value = [%u]",
7071 CFG_ROAM_DISALLOW_DURATION_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007072 hdd_ctx->config->disallow_duration);
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05307073 hdd_debug("Name = [%s] Value = [%u]",
7074 CFG_ROAM_RSSI_CHANNEL_PENALIZATION_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007075 hdd_ctx->config->rssi_channel_penalization);
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05307076 hdd_debug("Name = [%s] Value = [%u]",
7077 CFG_ROAM_NUM_DISALLOWED_APS_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007078 hdd_ctx->config->num_disallowed_aps);
Ashish Kumar Dhanotiyab8630ab2017-07-21 14:18:14 +05307079 hdd_debug("Name = [%s] value = [%u]",
7080 CFG_LPRx_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007081 hdd_ctx->config->enable_lprx);
Ashish Kumar Dhanotiyab28338c2017-07-21 20:12:34 +05307082 hdd_debug("Name = [%s] value = [%u]",
7083 CFG_UPPER_BRSSI_THRESH_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007084 hdd_ctx->config->upper_brssi_thresh);
Ashish Kumar Dhanotiyab28338c2017-07-21 20:12:34 +05307085 hdd_debug("Name = [%s] value = [%u]",
7086 CFG_LOWER_BRSSI_THRESH_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007087 hdd_ctx->config->lower_brssi_thresh);
Ashish Kumar Dhanotiyab28338c2017-07-21 20:12:34 +05307088 hdd_debug("Name = [%s] value = [%u]",
7089 CFG_DTIM_1CHRX_ENABLE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007090 hdd_ctx->config->enable_dtim_1chrx);
Ravi Joshi9771d432017-06-26 13:58:12 -07007091 hdd_debug("Name = [%s] value = [%u]",
hqu16d6e082017-09-04 10:52:31 +08007092 CFG_RANDOMIZE_NDI_MAC_NAME,
7093 hdd_ctx->config->is_ndi_mac_randomized);
Ashish Kumar Dhanotiyacc2e0d32017-08-24 20:13:08 +05307094 hdd_debug("Name = [%s] value = [%u]",
7095 CFG_DOT11P_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007096 hdd_ctx->config->dot11p_mode);
hqu16d6e082017-09-04 10:52:31 +08007097 hdd_debug("Name = [%s] value = [%u]",
Dustin Brown87194762017-09-07 14:32:12 -07007098 CFG_PREVENT_LINK_DOWN_NAME,
7099 hdd_ctx->config->prevent_link_down);
7100 hdd_debug("Name = [%s] value = [%u]",
hqu16d6e082017-09-04 10:52:31 +08007101 CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME,
7102 hdd_ctx->config->chan_switch_hostapd_rate_enabled);
Abhishek Singhb58164a2017-07-19 18:47:23 +05307103 hdd_debug("Name = [%s] value = [%u]",
7104 CFG_IS_BSSID_HINT_PRIORITY_NAME,
7105 hdd_ctx->config->is_bssid_hint_priority);
Himanshu Agarwal8bcec572017-09-28 11:54:37 +05307106 hdd_debug("Name = [%s] value = [%u]",
7107 CFG_RSSI_WEIGHTAGE_NAME,
7108 hdd_ctx->config->rssi_weightage);
7109 hdd_debug("Name = [%s] value = [%u]",
7110 CFG_HT_CAPABILITY_WEIGHTAGE_NAME,
7111 hdd_ctx->config->ht_caps_weightage);
7112 hdd_debug("Name = [%s] value = [%u]",
7113 CFG_VHT_CAPABILITY_WEIGHTAGE_NAME,
7114 hdd_ctx->config->vht_caps_weightage);
7115 hdd_debug("Name = [%s] value = [%u]",
7116 CFG_HE_CAPABILITY_WEIGHTAGE_NAME,
7117 hdd_ctx->config->he_caps_weightage);
7118 hdd_debug("Name = [%s] value = [%u]",
7119 CFG_CHAN_WIDTH_WEIGHTAGE_NAME,
7120 hdd_ctx->config->chan_width_weightage);
7121 hdd_debug("Name = [%s] value = [%u]",
7122 CFG_CHAN_BAND_WEIGHTAGE_NAME,
7123 hdd_ctx->config->chan_band_weightage);
7124 hdd_debug("Name = [%s] value = [%u]",
7125 CFG_NSS_WEIGHTAGE_NAME,
7126 hdd_ctx->config->nss_weightage);
7127 hdd_debug("Name = [%s] value = [%u]",
7128 CFG_BEAMFORMING_CAP_WEIGHTAGE_NAME,
7129 hdd_ctx->config->beamforming_cap_weightage);
7130 hdd_debug("Name = [%s] value = [%u]",
7131 CFG_PCL_WEIGHT_WEIGHTAGE_NAME,
7132 hdd_ctx->config->pcl_weightage);
7133 hdd_debug("Name = [%s] value = [%u]",
7134 CFG_CHANNEL_CONGESTION_WEIGHTAGE_NAME,
7135 hdd_ctx->config->channel_congestion_weightage);
7136 hdd_debug("Name = [%s] value = [%u]",
7137 CFG_OCE_WAN_WEIGHTAGE_NAME,
7138 hdd_ctx->config->oce_wan_weightage);
7139 hdd_debug("Name = [%s] value = [%u]",
7140 CFG_BAND_WIDTH_WEIGHT_PER_INDEX_NAME,
7141 hdd_ctx->config->bandwidth_weight_per_index);
7142 hdd_debug("Name = [%s] value = [%u]",
7143 CFG_NSS_WEIGHT_PER_INDEX_NAME,
7144 hdd_ctx->config->nss_weight_per_index);
7145 hdd_debug("Name = [%s] value = [%u]",
7146 CFG_BAND_WEIGHT_PER_INDEX_NAME,
7147 hdd_ctx->config->band_weight_per_index);
7148 hdd_debug("Name = [%s] value = [%u]",
7149 CFG_BEST_RSSI_THRESHOLD_NAME,
7150 hdd_ctx->config->best_rssi_threshold);
7151 hdd_debug("Name = [%s] value = [%u]",
7152 CFG_GOOD_RSSI_THRESHOLD_NAME,
7153 hdd_ctx->config->good_rssi_threshold);
7154 hdd_debug("Name = [%s] value = [%u]",
7155 CFG_BAD_RSSI_THRESHOLD_NAME,
7156 hdd_ctx->config->bad_rssi_threshold);
7157 hdd_debug("Name = [%s] value = [%u]",
7158 CFG_GOOD_RSSI_PCNT_NAME,
7159 hdd_ctx->config->good_rssi_pcnt);
7160 hdd_debug("Name = [%s] value = [%u]",
7161 CFG_BAD_RSSI_PCNT_NAME,
7162 hdd_ctx->config->bad_rssi_pcnt);
7163 hdd_debug("Name = [%s] value = [%u]",
7164 CFG_GOOD_RSSI_BUCKET_SIZE_NAME,
7165 hdd_ctx->config->good_rssi_bucket_size);
7166 hdd_debug("Name = [%s] value = [%u]",
7167 CFG_BAD_RSSI_BUCKET_SIZE_NAME,
7168 hdd_ctx->config->bad_rssi_bucket_size);
7169 hdd_debug("Name = [%s] value = [%u]",
7170 CFG_RSSI_PERF_5G_THRESHOLD_NAME,
7171 hdd_ctx->config->rssi_pref_5g_rssi_thresh);
7172 hdd_debug("Name = [%s] value = [%u]",
7173 CFG_ESP_QBSS_SLOTS_NAME,
7174 hdd_ctx->config->num_esp_qbss_slots);
7175 hdd_debug("Name = [%s] value = [%u]",
7176 CFG_ESP_QBSS_SCORE_IDX3_TO_0_NAME,
7177 hdd_ctx->config->esp_qbss_score_slots3_to_0);
7178 hdd_debug("Name = [%s] value = [%u]",
7179 CFG_ESP_QBSS_SCORE_IDX7_TO_4_NAME,
7180 hdd_ctx->config->esp_qbss_score_slots7_to_4);
7181 hdd_debug("Name = [%s] value = [%u]",
7182 CFG_ESP_QBSS_SCORE_IDX11_TO_8_NAME,
7183 hdd_ctx->config->esp_qbss_score_slots11_to_8);
7184 hdd_debug("Name = [%s] value = [%u]",
7185 CFG_ESP_QBSS_SCORE_IDX15_TO_12_NAME,
7186 hdd_ctx->config->esp_qbss_score_slots15_to_12);
7187 hdd_debug("Name = [%s] value = [%u]",
7188 CFG_ENABLE_SCORING_FOR_ROAM_NAME,
7189 hdd_ctx->config->enable_scoring_for_roam);
7190
Paul Zhang99fe8842017-12-08 14:43:46 +08007191 hdd_wlm_cfg_log(hdd_ctx);
7192
Himanshu Agarwal8bcec572017-09-28 11:54:37 +05307193 hdd_debug("Name = [%s] value = [%u]",
7194 CFG_OCE_WAN_SLOTS_NAME,
7195 hdd_ctx->config->num_oce_wan_slots);
7196 hdd_debug("Name = [%s] value = [%u]",
7197 CFG_OCE_WAN_SCORE_IDX3_TO_0_NAME,
7198 hdd_ctx->config->oce_wan_score_slots3_to_0);
7199 hdd_debug("Name = [%s] value = [%u]",
7200 CFG_OCE_WAN_SCORE_IDX7_TO_4_NAME,
7201 hdd_ctx->config->oce_wan_score_slots7_to_4);
7202 hdd_debug("Name = [%s] value = [%u]",
7203 CFG_OCE_WAN_SCORE_IDX11_TO_8_NAME,
7204 hdd_ctx->config->oce_wan_score_slots11_to_8);
7205 hdd_debug("Name = [%s] value = [%u]",
7206 CFG_OCE_WAN_SCORE_IDX15_TO_12_NAME,
7207 hdd_ctx->config->oce_wan_score_slots15_to_12);
Abhishek Singh6454ad32017-12-20 10:42:21 +05307208 hdd_debug("Name = [%s] Value = [%u]",
7209 CFG_FORCE_RSNE_OVERRIDE_NAME,
7210 hdd_ctx->config->force_rsne_override);
Nachiket Kukade8983cf62017-10-12 18:14:48 +05307211 hdd_debug("Name = [%s] value = [0x%x]", CFG_VC_MODE_BITMAP,
7212 hdd_ctx->config->vc_mode_cfg_bitmap);
Ravi Kumar Bokka990edcc2017-01-09 20:02:58 +05307213 hdd_debug("Name = [%s] Value = [%u]",
7214 CFG_ENABLE_PHY_REG,
7215 hdd_ctx->config->enable_phy_reg_retention);
yeshwanth sriram guntuka41f936c2017-09-01 17:53:49 +05307216 hdd_debug("Name = [btm_offload_config] value = [0x%x]",
7217 hdd_ctx->config->btm_offload_config);
Padma, Santhosh Kumar3e47c632017-09-01 20:15:27 +05307218 hdd_cfg_print_sae(hdd_ctx);
Jiachao Wu84bb2ea2018-01-08 16:17:33 +08007219 hdd_debug("Name = [btm_solicited_timeout] value = [0x%x]",
7220 hdd_ctx->config->btm_solicited_timeout);
7221 hdd_debug("Name = [btm_max_attempt_cnt] value = [0x%x]",
7222 hdd_ctx->config->btm_max_attempt_cnt);
7223 hdd_debug("Name = [btm_sticky_time] value = [0x%x]",
7224 hdd_ctx->config->btm_sticky_time);
Ashish Kumar Dhanotiyacb14b112018-01-19 19:26:44 +05307225 hdd_debug("Name = [%s] value = [%d]",
7226 CFG_ENABLE_GCMP_NAME,
7227 hdd_ctx->config->gcmp_enabled);
Ashish Kumar Dhanotiya191d1642018-02-08 17:43:09 +05307228 hdd_debug("Name = [%s] value = [%d]",
7229 CFG_DTIM_SELECTION_DIVERSITY_NAME,
7230 hdd_ctx->config->enable_dtim_selection_diversity);
Ashish Kumar Dhanotiya48dac7d2018-03-28 14:59:50 +05307231 hdd_debug("Name = [%s] value = [%d]",
7232 CFG_TX_SCH_DELAY_NAME,
7233 hdd_ctx->config->enable_tx_sch_delay);
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05307234
7235 hdd_cfg_print_11k_offload_params(hdd_ctx);
Yeshwanth Sriram Guntukadb7995d2018-01-22 16:46:59 +05307236 hdd_debug("Name = [%s] value = [0x%x]",
7237 CFG_CHANNEL_SELECT_LOGIC_CONC_NAME,
7238 hdd_ctx->config->channel_select_logic_conc);
Alok Kumarb64650c2018-03-23 17:05:11 +05307239
7240 hdd_nud_cfg_print(hdd_ctx);
Rajeev Kumar15b40a22018-04-12 11:45:24 -07007241 hdd_debug("Name = [%s] value = [0x%x]",
7242 CFG_ENABLE_UNIT_TEST_FRAMEWORK_NAME,
7243 hdd_ctx->config->is_unit_test_framework_enabled);
Abhinav Kumar271f0632018-03-29 16:01:30 +05307244 hdd_debug("Name = [%s] Value = [%u]",
7245 CFG_ROAM_FT_OPEN_ENABLE_NAME,
7246 hdd_ctx->config->enable_ftopen);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007247}
7248
7249
7250/**
7251 * hdd_update_mac_config() - update MAC address from cfg file
Jeff Johnson723234b2017-09-03 08:49:15 -07007252 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007253 *
7254 * It overwrites the MAC address if config file exist.
7255 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307256 * Return: QDF_STATUS_SUCCESS if the MAC address is found from cfg file
7257 * and overwritten, otherwise QDF_STATUS_E_INVAL
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007258 */
Jeff Johnson723234b2017-09-03 08:49:15 -07007259QDF_STATUS hdd_update_mac_config(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007260{
7261 int status, i = 0;
7262 const struct firmware *fw = NULL;
7263 char *line, *buffer = NULL;
Yuanyuan Liu6043d3c2016-07-25 11:40:38 -07007264 char *temp = NULL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007265 char *name, *value;
Nachiket Kukadee4d86442017-06-23 16:57:00 +05307266 int max_mac_addr = QDF_MAX_CONCURRENCY_PERSONA;
Jeff Johnson7274ccc2017-09-30 19:45:40 -07007267 struct hdd_cfg_entry macTable[QDF_MAX_CONCURRENCY_PERSONA];
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007268 tSirMacAddr customMacAddr;
7269
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307270 QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007271
7272 memset(macTable, 0, sizeof(macTable));
Jeff Johnson723234b2017-09-03 08:49:15 -07007273 status = request_firmware(&fw, WLAN_MAC_FILE, hdd_ctx->parent_dev);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007274
7275 if (status) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007276 hdd_err("request_firmware failed %d", status);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307277 qdf_status = QDF_STATUS_E_FAILURE;
7278 return qdf_status;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007279 }
7280 if (!fw || !fw->data || !fw->size) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08007281 hdd_alert("invalid firmware");
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307282 qdf_status = QDF_STATUS_E_INVAL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007283 goto config_exit;
7284 }
7285
Yuanyuan Liu6043d3c2016-07-25 11:40:38 -07007286 hdd_debug("wlan_mac.bin size %zu", fw->size);
7287
Srinivas Girigowdae6b465b2017-03-30 18:27:25 -07007288 temp = qdf_mem_malloc(fw->size + 1);
Yuanyuan Liu6043d3c2016-07-25 11:40:38 -07007289
7290 if (temp == NULL) {
7291 hdd_err("fail to alloc memory");
7292 qdf_status = QDF_STATUS_E_NOMEM;
7293 goto config_exit;
7294 }
7295 buffer = temp;
7296 qdf_mem_copy(buffer, fw->data, fw->size);
Srinivas Girigowdafb20a952017-04-05 11:38:48 -07007297 buffer[fw->size] = 0x0;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007298
7299 /* data format:
7300 * Intf0MacAddress=00AA00BB00CC
7301 * Intf1MacAddress=00AA00BB00CD
7302 * END
7303 */
7304 while (buffer != NULL) {
7305 line = get_next_line(buffer);
7306 buffer = i_trim(buffer);
7307
7308 if (strlen((char *)buffer) == 0 || *buffer == '#') {
7309 buffer = line;
7310 continue;
7311 }
7312 if (strncmp(buffer, "END", 3) == 0)
7313 break;
7314
7315 name = buffer;
7316 buffer = strnchr(buffer, strlen(buffer), '=');
7317 if (buffer) {
7318 *buffer++ = '\0';
7319 i_trim(name);
7320 if (strlen(name) != 0) {
7321 buffer = i_trim(buffer);
7322 if (strlen(buffer) == 12) {
7323 value = buffer;
7324 macTable[i].name = name;
7325 macTable[i++].value = value;
Anurag Chouhan6d760662016-02-20 16:05:43 +05307326 if (i >= QDF_MAX_CONCURRENCY_PERSONA)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007327 break;
7328 }
7329 }
7330 }
7331 buffer = line;
7332 }
Anurag Chouhan6d760662016-02-20 16:05:43 +05307333 if (i <= QDF_MAX_CONCURRENCY_PERSONA) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007334 hdd_debug("%d Mac addresses provided", i);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007335 } else {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08007336 hdd_err("invalid number of Mac address provided, nMac = %d", i);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307337 qdf_status = QDF_STATUS_E_INVAL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007338 goto config_exit;
7339 }
7340
Jeff Johnson723234b2017-09-03 08:49:15 -07007341 update_mac_from_string(hdd_ctx, &macTable[0], i);
Nachiket Kukadee4d86442017-06-23 16:57:00 +05307342 hdd_debug("Populating remaining %d Mac addreses",
7343 max_mac_addr - i);
Jeff Johnson723234b2017-09-03 08:49:15 -07007344 hdd_populate_random_mac_addr(hdd_ctx, max_mac_addr - i);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007345
Anurag Chouhan600c3a02016-03-01 10:33:54 +05307346 qdf_mem_copy(&customMacAddr,
Jeff Johnson723234b2017-09-03 08:49:15 -07007347 &hdd_ctx->config->intfMacAddr[0].bytes[0],
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007348 sizeof(tSirMacAddr));
7349 sme_set_custom_mac_addr(customMacAddr);
7350
7351config_exit:
Yuanyuan Liu6043d3c2016-07-25 11:40:38 -07007352 qdf_mem_free(temp);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007353 release_firmware(fw);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307354 return qdf_status;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007355}
7356
7357/**
Manjunathappa Prakash59f861d2016-04-21 10:33:31 -07007358 * hdd_disable_runtime_pm() - Override to disable runtime_pm.
7359 * @cfg_ini: Handle to struct hdd_config
7360 *
7361 * Return: None
7362 */
7363#ifdef FEATURE_RUNTIME_PM
7364static void hdd_disable_runtime_pm(struct hdd_config *cfg_ini)
7365{
7366 cfg_ini->runtime_pm = 0;
7367}
7368#else
7369static void hdd_disable_runtime_pm(struct hdd_config *cfg_ini)
7370{
7371}
7372#endif
7373
7374/**
7375 * hdd_disable_auto_shutdown() - Override to disable auto_shutdown.
7376 * @cfg_ini: Handle to struct hdd_config
7377 *
7378 * Return: None
7379 */
7380#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
7381static void hdd_disable_auto_shutdown(struct hdd_config *cfg_ini)
7382{
7383 cfg_ini->WlanAutoShutdown = 0;
7384}
7385#else
7386static void hdd_disable_auto_shutdown(struct hdd_config *cfg_ini)
7387{
7388}
7389#endif
7390
7391/**
7392 * hdd_override_all_ps() - overrides to disables all the powersave features.
7393 * @hdd_ctx: Pointer to HDD context.
7394 * Overrides below powersave ini configurations.
7395 * gEnableImps=0
7396 * gEnableBmps=0
7397 * gRuntimePM=0
7398 * gWlanAutoShutdown = 0
7399 * gEnableSuspend=0
7400 * gEnablePowerSaveOffload=0
7401 * gEnableWoW=0
7402 *
7403 * Return: None
7404 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07007405static void hdd_override_all_ps(struct hdd_context *hdd_ctx)
Manjunathappa Prakash59f861d2016-04-21 10:33:31 -07007406{
7407 struct hdd_config *cfg_ini = hdd_ctx->config;
7408
7409 cfg_ini->fIsImpsEnabled = 0;
7410 cfg_ini->is_ps_enabled = 0;
7411 hdd_disable_runtime_pm(cfg_ini);
7412 hdd_disable_auto_shutdown(cfg_ini);
7413 cfg_ini->enablePowersaveOffload = 0;
7414 cfg_ini->wowEnable = 0;
7415}
7416
7417/**
Nirav Shahbd36b062016-07-18 11:12:59 +05307418 * hdd_set_rx_mode_value() - set rx_mode values
7419 * @hdd_ctx: hdd context
7420 *
7421 * Return: none
7422 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07007423static void hdd_set_rx_mode_value(struct hdd_context *hdd_ctx)
Nirav Shahbd36b062016-07-18 11:12:59 +05307424{
7425 if (hdd_ctx->config->rx_mode & CFG_ENABLE_RX_THREAD &&
7426 hdd_ctx->config->rx_mode & CFG_ENABLE_RPS) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007427 hdd_warn("rx_mode wrong configuration. Make it default");
Nirav Shahbd36b062016-07-18 11:12:59 +05307428 hdd_ctx->config->rx_mode = CFG_RX_MODE_DEFAULT;
7429 }
7430
7431 if (hdd_ctx->config->rx_mode & CFG_ENABLE_RX_THREAD)
Jeff Johnsone2ba3cd2017-10-30 20:02:09 -07007432 hdd_ctx->enable_rxthread = true;
Nirav Shahbd36b062016-07-18 11:12:59 +05307433
7434 if (hdd_ctx->config->rx_mode & CFG_ENABLE_RPS)
7435 hdd_ctx->rps = true;
7436
7437 if (hdd_ctx->config->rx_mode & CFG_ENABLE_NAPI)
7438 hdd_ctx->napi_enable = true;
7439}
7440
7441/**
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007442 * hdd_parse_config_ini() - parse the ini configuration file
Jeff Johnson723234b2017-09-03 08:49:15 -07007443 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007444 *
7445 * This function reads the qcom_cfg.ini file and
7446 * parses each 'Name=Value' pair in the ini file
7447 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307448 * Return: QDF_STATUS_SUCCESS if the qcom_cfg.ini is correctly read,
7449 * otherwise QDF_STATUS_E_INVAL
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007450 */
Jeff Johnson723234b2017-09-03 08:49:15 -07007451QDF_STATUS hdd_parse_config_ini(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007452{
7453 int status, i = 0;
7454 /** Pointer for firmware image data */
7455 const struct firmware *fw = NULL;
7456 char *buffer, *line, *pTemp = NULL;
7457 size_t size;
7458 char *name, *value;
7459 /* cfgIniTable is static to avoid excess stack usage */
Jeff Johnson7274ccc2017-09-30 19:45:40 -07007460 static struct hdd_cfg_entry cfgIniTable[MAX_CFG_INI_ITEMS];
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307461 QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007462
7463 memset(cfgIniTable, 0, sizeof(cfgIniTable));
7464
Jeff Johnson723234b2017-09-03 08:49:15 -07007465 status = request_firmware(&fw, WLAN_INI_FILE, hdd_ctx->parent_dev);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007466
7467 if (status) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08007468 hdd_alert("request_firmware failed %d", status);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307469 qdf_status = QDF_STATUS_E_FAILURE;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007470 goto config_exit;
7471 }
7472 if (!fw || !fw->data || !fw->size) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08007473 hdd_alert("%s download failed", WLAN_INI_FILE);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307474 qdf_status = QDF_STATUS_E_FAILURE;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007475 goto config_exit;
7476 }
7477
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007478 hdd_debug("qcom_cfg.ini Size %zu", fw->size);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007479
Anurag Chouhan600c3a02016-03-01 10:33:54 +05307480 buffer = (char *)qdf_mem_malloc(fw->size);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007481
7482 if (NULL == buffer) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007483 hdd_err("qdf_mem_malloc failure");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007484 release_firmware(fw);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307485 return QDF_STATUS_E_NOMEM;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007486 }
7487 pTemp = buffer;
7488
Anurag Chouhan600c3a02016-03-01 10:33:54 +05307489 qdf_mem_copy((void *)buffer, (void *)fw->data, fw->size);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007490 size = fw->size;
7491
7492 while (buffer != NULL) {
7493 line = get_next_line(buffer);
7494 buffer = i_trim(buffer);
7495
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007496 hdd_debug("%s: item", buffer);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007497
7498 if (strlen((char *)buffer) == 0 || *buffer == '#') {
7499 buffer = line;
7500 continue;
Jeff Johnson68755312017-02-10 11:46:55 -08007501 }
7502
7503 if (strncmp(buffer, "END", 3) == 0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007504 break;
Jeff Johnson68755312017-02-10 11:46:55 -08007505
7506 name = buffer;
7507 while (*buffer != '=' && *buffer != '\0')
7508 buffer++;
7509 if (*buffer != '\0') {
7510 *buffer++ = '\0';
7511 i_trim(name);
7512 if (strlen(name) != 0) {
7513 buffer = i_trim(buffer);
7514 if (strlen(buffer) > 0) {
7515 value = buffer;
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05307516 while (*buffer != '\0')
Jeff Johnson68755312017-02-10 11:46:55 -08007517 buffer++;
7518 *buffer = '\0';
7519 cfgIniTable[i].name = name;
7520 cfgIniTable[i++].value = value;
7521 if (i >= MAX_CFG_INI_ITEMS) {
7522 hdd_err("Number of items in %s > %d",
7523 WLAN_INI_FILE,
7524 MAX_CFG_INI_ITEMS);
7525 break;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007526 }
7527 }
7528 }
7529 }
7530 buffer = line;
7531 }
7532
7533 /* Loop through the registry table and apply all these configs */
Jeff Johnson723234b2017-09-03 08:49:15 -07007534 qdf_status = hdd_apply_cfg_ini(hdd_ctx, cfgIniTable, i);
7535 hdd_set_rx_mode_value(hdd_ctx);
Manjunathappa Prakash59f861d2016-04-21 10:33:31 -07007536 if (QDF_GLOBAL_MONITOR_MODE == cds_get_conparam())
Jeff Johnson723234b2017-09-03 08:49:15 -07007537 hdd_override_all_ps(hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007538
7539config_exit:
7540 release_firmware(fw);
Anurag Chouhan600c3a02016-03-01 10:33:54 +05307541 qdf_mem_free(pTemp);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307542 return qdf_status;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007543}
7544
7545/**
7546 * hdd_cfg_xlate_to_csr_phy_mode() - convert PHY mode
7547 * @dot11Mode: the mode to convert
7548 *
7549 * Convert the configuration PHY mode to CSR PHY mode
7550 *
7551 * Return: the CSR phy mode value
7552 */
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07007553eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode(enum hdd_dot11_mode dot11Mode)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007554{
Naveen Rawat10b1c152017-01-18 11:16:06 -08007555 if (cds_is_sub_20_mhz_enabled())
7556 return eCSR_DOT11_MODE_abg;
7557
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007558 switch (dot11Mode) {
7559 case (eHDD_DOT11_MODE_abg):
7560 return eCSR_DOT11_MODE_abg;
7561 case (eHDD_DOT11_MODE_11b):
7562 return eCSR_DOT11_MODE_11b;
7563 case (eHDD_DOT11_MODE_11g):
7564 return eCSR_DOT11_MODE_11g;
7565 default:
7566 case (eHDD_DOT11_MODE_11n):
7567 return eCSR_DOT11_MODE_11n;
7568 case (eHDD_DOT11_MODE_11g_ONLY):
7569 return eCSR_DOT11_MODE_11g_ONLY;
7570 case (eHDD_DOT11_MODE_11n_ONLY):
7571 return eCSR_DOT11_MODE_11n_ONLY;
7572 case (eHDD_DOT11_MODE_11b_ONLY):
7573 return eCSR_DOT11_MODE_11b_ONLY;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007574 case (eHDD_DOT11_MODE_11ac_ONLY):
7575 return eCSR_DOT11_MODE_11ac_ONLY;
7576 case (eHDD_DOT11_MODE_11ac):
7577 return eCSR_DOT11_MODE_11ac;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007578 case (eHDD_DOT11_MODE_AUTO):
7579 return eCSR_DOT11_MODE_AUTO;
7580 case (eHDD_DOT11_MODE_11a):
7581 return eCSR_DOT11_MODE_11a;
Krishna Kumaar Natarajan4f1d7722017-03-03 21:12:51 -08007582 case (eHDD_DOT11_MODE_11ax_ONLY):
7583 return eCSR_DOT11_MODE_11ax_ONLY;
7584 case (eHDD_DOT11_MODE_11ax):
7585 return eCSR_DOT11_MODE_11ax;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007586 }
7587
7588}
7589
7590/**
7591 * hdd_set_idle_ps_config() - set idle power save configuration
Jeff Johnson723234b2017-09-03 08:49:15 -07007592 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007593 * @val: the value to configure
7594 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307595 * Return: QDF_STATUS_SUCCESS if command set correctly,
7596 * otherwise the QDF_STATUS return from SME layer
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007597 */
Arunk Khandavalli847969d2017-09-25 15:15:36 +05307598QDF_STATUS hdd_set_idle_ps_config(struct hdd_context *hdd_ctx, bool val)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007599{
Jeff Johnson4f519342017-09-13 14:27:17 -07007600 QDF_STATUS status;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007601
Jeff Johnson4f519342017-09-13 14:27:17 -07007602 hdd_debug("Enter Val %d", val);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007603
Arunk Khandavalli847969d2017-09-25 15:15:36 +05307604 if (hdd_ctx->imps_enabled == val) {
Dustin Brown5e89ef82018-03-14 11:50:23 -07007605 hdd_info("Already in the requested power state:%d", val);
Arunk Khandavalli847969d2017-09-25 15:15:36 +05307606 return QDF_STATUS_SUCCESS;
7607 }
7608
7609 status = sme_set_idle_powersave_config(val);
7610 if (QDF_STATUS_SUCCESS != status) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08007611 hdd_err("Fail to Set Idle PS Config val %d", val);
Arunk Khandavalli847969d2017-09-25 15:15:36 +05307612 return status;
7613 }
7614
7615 hdd_ctx->imps_enabled = val;
7616
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007617 return status;
7618}
7619
7620/**
7621 * hdd_set_fine_time_meas_cap() - set fine timing measurement capability
7622 * @hdd_ctx: HDD context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007623 *
7624 * This function is used to pass fine timing measurement capability coming
7625 * from INI to SME. This function make sure that configure INI is supported
7626 * by the device. Use bit mask to mask out the unsupported capabilities.
7627 *
7628 * Return: None
7629 */
Naveen Rawatd2657be2017-10-10 14:31:23 -07007630static void hdd_set_fine_time_meas_cap(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007631{
7632 struct hdd_config *config = hdd_ctx->config;
7633 uint32_t capability = config->fine_time_meas_cap;
7634
7635 /* Make sure only supported capabilities are enabled in INI */
7636 capability &= CFG_FINE_TIME_MEAS_CAPABILITY_MAX;
Naveen Rawatd2657be2017-10-10 14:31:23 -07007637 ucfg_wifi_pos_set_ftm_cap(hdd_ctx->hdd_psoc, capability);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007638
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007639 hdd_debug("fine time meas capability - INI: %04x Enabled: %04x",
Krunal Soni1878d3a2016-01-14 13:00:44 -08007640 config->fine_time_meas_cap,
Naveen Rawatd2657be2017-10-10 14:31:23 -07007641 capability);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007642}
7643
7644/**
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007645 * hdd_convert_string_to_u8_array() - used to convert string into u8 array
7646 * @str: String to be converted
7647 * @hex_array: Array where converted value is stored
7648 * @len: Length of the populated array
7649 * @array_max_len: Maximum length of the array
7650 * @to_hex: true, if conversion required for hex string
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007651 *
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007652 * This API is called to convert string (each byte separated by
7653 * a comma) into an u8 array
7654 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307655 * Return: QDF_STATUS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007656 */
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007657
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307658static QDF_STATUS hdd_convert_string_to_array(char *str, uint8_t *array,
Jiachao Wu6e9b9f92018-01-03 13:35:40 +08007659 uint8_t *len, uint16_t array_max_len, bool to_hex)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007660{
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007661 char *format, *s = str;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007662
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007663 if (str == NULL || array == NULL || len == NULL)
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307664 return QDF_STATUS_E_INVAL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007665
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007666 format = (to_hex) ? "%02x" : "%d";
7667
7668 *len = 0;
7669 while ((s != NULL) && (*len < array_max_len)) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007670 int val;
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007671 /* Increment length only if sscanf successfully extracted
7672 * one element. Any other return value means error.
Jeff Johnson78d88a82017-01-12 09:50:54 -08007673 * Ignore it.
7674 */
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007675 if (sscanf(s, format, &val) == 1) {
7676 array[*len] = (uint8_t) val;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007677 *len += 1;
7678 }
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007679
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007680 s = strpbrk(s, ",");
7681 if (s)
7682 s++;
7683 }
7684
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307685 return QDF_STATUS_SUCCESS;
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007686}
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007687
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007688/**
7689 * hdd_hex_string_to_u8_array() - used to convert hex string into u8 array
7690 * @str: Hexadecimal string
7691 * @hex_array: Array where converted value is stored
7692 * @len: Length of the populated array
7693 * @array_max_len: Maximum length of the array
7694 *
7695 * This API is called to convert hexadecimal string (each byte separated by
7696 * a comma) into an u8 array
7697 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307698 * Return: QDF_STATUS
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007699 */
Jeff Johnsonf1bf3a62016-10-05 15:48:13 -07007700static QDF_STATUS hdd_hex_string_to_u8_array(char *str, uint8_t *hex_array,
7701 uint8_t *len,
7702 uint8_t array_max_len)
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007703{
7704 return hdd_convert_string_to_array(str, hex_array, len,
7705 array_max_len, true);
7706}
7707
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307708QDF_STATUS hdd_string_to_u8_array(char *str, uint8_t *array,
Jiachao Wu6e9b9f92018-01-03 13:35:40 +08007709 uint8_t *len, uint16_t array_max_len)
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007710{
7711 return hdd_convert_string_to_array(str, array, len,
7712 array_max_len, false);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007713}
7714
7715/**
Nirav Shahbd36b062016-07-18 11:12:59 +05307716 * hdd_hex_string_to_u16_array() - convert a hex string to a uint16 array
7717 * @str: input string
7718 * @int_array: pointer to input array of type uint16
7719 * @len: pointer to number of elements which the function adds to the array
7720 * @int_array_max_len: maximum number of elements in input uint16 array
7721 *
7722 * This function is used to convert a space separated hex string to an array of
7723 * uint16_t. For example, an input string str = "a b c d" would be converted to
7724 * a unint16 array, int_array = {0xa, 0xb, 0xc, 0xd}, *len = 4.
7725 * This assumes that input value int_array_max_len >= 4.
7726 *
7727 * Return: QDF_STATUS_SUCCESS - if the conversion is successful
7728 * non zero value - if the conversion is a failure
7729 */
7730QDF_STATUS hdd_hex_string_to_u16_array(char *str,
7731 uint16_t *int_array, uint8_t *len, uint8_t int_array_max_len)
7732{
7733 char *s = str;
7734 uint32_t val = 0;
7735
7736 if (str == NULL || int_array == NULL || len == NULL)
7737 return QDF_STATUS_E_INVAL;
7738
Jeff Johnson36e74c42017-09-18 08:15:42 -07007739 hdd_debug("str %pK intArray %pK intArrayMaxLen %d",
Nirav Shahbd36b062016-07-18 11:12:59 +05307740 s, int_array, int_array_max_len);
7741
7742 *len = 0;
7743
7744 while ((s != NULL) && (*len < int_array_max_len)) {
7745 /*
7746 * Increment length only if sscanf successfully extracted one
7747 * element. Any other return value means error. Ignore it.
7748 */
7749 if (sscanf(s, "%x", &val) == 1) {
7750 int_array[*len] = (uint16_t) val;
Jeff Johnson36e74c42017-09-18 08:15:42 -07007751 hdd_debug("s %pK val %x intArray[%d]=0x%x",
Nirav Shahbd36b062016-07-18 11:12:59 +05307752 s, val, *len, int_array[*len]);
7753 *len += 1;
7754 }
7755 s = strpbrk(s, " ");
7756 if (s)
7757 s++;
7758 }
7759 return QDF_STATUS_SUCCESS;
7760}
7761
Nirav Shahbd36b062016-07-18 11:12:59 +05307762/**
Krunal Soni52198e42016-09-26 13:53:09 -07007763 * hdd_update_ht_cap_in_cfg() - to update HT cap in global CFG
Krunal Sonidf0f8742016-09-26 14:56:31 -07007764 * @hdd_ctx: pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007765 *
Krunal Soni52198e42016-09-26 13:53:09 -07007766 * This API will update the HT config in CFG after taking intersection
7767 * of INI and firmware capabilities provided reading CFG
7768 *
7769 * Return: true or false
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007770 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07007771static bool hdd_update_ht_cap_in_cfg(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007772{
Krunal Soni5c390162016-09-26 15:07:05 -07007773 uint32_t val32;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007774 uint16_t val16;
Krunal Soni5c390162016-09-26 15:07:05 -07007775 bool status = true;
Krunal Sonidf0f8742016-09-26 14:56:31 -07007776 tSirMacHTCapabilityInfo *ht_cap_info;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007777
Krunal Sonidf0f8742016-09-26 14:56:31 -07007778 if (sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_HT_CAP_INFO,
Krunal Soni5c390162016-09-26 15:07:05 -07007779 &val32) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307780 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007781 status = false;
Krunal Soni5c390162016-09-26 15:07:05 -07007782 hdd_err("Could not get WNI_CFG_HT_CAP_INFO");
Sandeep Puligilla607f34a2016-05-25 14:37:47 -07007783 }
Krunal Soni5c390162016-09-26 15:07:05 -07007784 val16 = (uint16_t) val32;
Krunal Sonidf0f8742016-09-26 14:56:31 -07007785 ht_cap_info = (tSirMacHTCapabilityInfo *) &val16;
Krunal Sonia2c0e412017-05-04 14:12:41 +05307786 ht_cap_info->advCodingCap &= hdd_ctx->config->enable_rx_ldpc;
Krunal Soni5c390162016-09-26 15:07:05 -07007787 ht_cap_info->rxSTBC = QDF_MIN(ht_cap_info->rxSTBC,
7788 hdd_ctx->config->enableRxSTBC);
7789 ht_cap_info->txSTBC &= hdd_ctx->config->enableTxSTBC;
7790 ht_cap_info->shortGI20MHz &= hdd_ctx->config->ShortGI20MhzEnable;
7791 ht_cap_info->shortGI40MHz &= hdd_ctx->config->ShortGI40MhzEnable;
7792 val32 = val16;
7793 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_HT_CAP_INFO, val32) ==
7794 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007795 status = false;
Krunal Soni5c390162016-09-26 15:07:05 -07007796 hdd_err("Could not set WNI_CFG_HT_CAP_INFO");
Krunal Soni52198e42016-09-26 13:53:09 -07007797 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07007798 return status;
Krunal Soni52198e42016-09-26 13:53:09 -07007799}
7800
7801/**
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007802 * hdd_update_vht_cap_in_cfg() - to update VHT cap in global CFG
Krunal Sonidf0f8742016-09-26 14:56:31 -07007803 * @hdd_ctx: pointer to hdd context
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007804 *
7805 * This API will update the VHT config in CFG after taking intersection
7806 * of INI and firmware capabilities provided reading CFG
7807 *
7808 * Return: true or false
7809 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07007810static bool hdd_update_vht_cap_in_cfg(struct hdd_context *hdd_ctx)
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007811{
Krunal Sonidf0f8742016-09-26 14:56:31 -07007812 bool status = true;
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007813 uint32_t val;
Krunal Sonidf0f8742016-09-26 14:56:31 -07007814 struct hdd_config *config = hdd_ctx->config;
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007815
Krunal Sonidf0f8742016-09-26 14:56:31 -07007816 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_ENABLE_TXBF_20MHZ,
7817 config->enableTxBFin20MHz) ==
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007818 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007819 status = false;
7820 hdd_err("Couldn't set value for WNI_CFG_VHT_ENABLE_TXBF_20MHZ");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007821 }
7822 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map
7823 * in the cfg.dat. Valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9)
7824 * we update only the least significant 2 bits in the
7825 * corresponding fields.
7826 */
Krunal Sonidf0f8742016-09-26 14:56:31 -07007827 if ((config->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
7828 (config->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
7829 (config->dot11Mode == eHDD_DOT11_MODE_11ac)) {
Kiran Kumar Lokeree25d3fc2017-07-21 15:37:04 -07007830 /* Currently shortGI40Mhz is used for shortGI80Mhz and 160MHz*/
Krunal Sonidf0f8742016-09-26 14:56:31 -07007831 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_SHORT_GI_80MHZ,
7832 config->ShortGI40MhzEnable) == QDF_STATUS_E_FAILURE) {
7833 status = false;
7834 hdd_err("Couldn't pass WNI_VHT_SHORT_GI_80MHZ to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007835 }
Kiran Kumar Lokeree25d3fc2017-07-21 15:37:04 -07007836
7837 if (sme_cfg_set_int(hdd_ctx->hHal,
7838 WNI_CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ,
7839 config->ShortGI40MhzEnable) == QDF_STATUS_E_FAILURE) {
7840 status = false;
7841 hdd_err("Couldn't pass SHORT_GI_160MHZ to CFG");
7842 }
7843
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07007844 /* Hardware is capable of doing
7845 * 128K AMPDU in 11AC mode
7846 */
Krunal Sonidf0f8742016-09-26 14:56:31 -07007847 if (sme_cfg_set_int(hdd_ctx->hHal,
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007848 WNI_CFG_VHT_AMPDU_LEN_EXPONENT,
Krunal Sonidf0f8742016-09-26 14:56:31 -07007849 config->fVhtAmpduLenExponent) ==
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007850 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007851 status = false;
7852 hdd_err("Couldn't pass on WNI_CFG_VHT_AMPDU_LEN_EXPONENT to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007853 }
7854 /* Change MU Bformee only when TxBF is enabled */
Krunal Sonidf0f8742016-09-26 14:56:31 -07007855 if (config->enableTxBF) {
7856 sme_cfg_get_int(hdd_ctx->hHal,
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007857 WNI_CFG_VHT_MU_BEAMFORMEE_CAP, &val);
7858
Krunal Sonidf0f8742016-09-26 14:56:31 -07007859 if (val != config->enableMuBformee) {
7860 if (sme_cfg_set_int(hdd_ctx->hHal,
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007861 WNI_CFG_VHT_MU_BEAMFORMEE_CAP,
Krunal Sonidf0f8742016-09-26 14:56:31 -07007862 config->enableMuBformee
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007863 ) == QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007864 status = false;
7865 hdd_err("Couldn't pass on WNI_CFG_VHT_MU_BEAMFORMEE_CAP to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007866 }
7867 }
7868 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07007869 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_MAX_MPDU_LENGTH,
7870 config->vhtMpduLen) == QDF_STATUS_E_FAILURE) {
7871 status = false;
7872 hdd_err("Couldn't pass on WNI_CFG_VHT_MAX_MPDU_LENGTH to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007873 }
7874
Krunal Sonidf0f8742016-09-26 14:56:31 -07007875 if (config->enable2x2 && config->enable_su_tx_bformer) {
7876 if (sme_cfg_set_int(hdd_ctx->hHal,
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007877 WNI_CFG_VHT_SU_BEAMFORMER_CAP,
Krunal Sonidf0f8742016-09-26 14:56:31 -07007878 config->enable_su_tx_bformer) ==
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007879 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007880 status = false;
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007881 hdd_err("set SU_BEAMFORMER_CAP to CFG failed");
7882 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07007883 if (sme_cfg_set_int(hdd_ctx->hHal,
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007884 WNI_CFG_VHT_NUM_SOUNDING_DIMENSIONS,
7885 NUM_OF_SOUNDING_DIMENSIONS) ==
7886 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007887 status = false;
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007888 hdd_err("failed to set NUM_OF_SOUNDING_DIM");
7889 }
7890 }
7891 }
7892
Krunal Sonidf0f8742016-09-26 14:56:31 -07007893 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_RXSTBC,
7894 config->enableRxSTBC) == QDF_STATUS_E_FAILURE) {
7895 status = false;
7896 hdd_err("Couldn't pass on WNI_CFG_VHT_RXSTBC to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007897 }
7898
Krunal Sonidf0f8742016-09-26 14:56:31 -07007899 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_TXSTBC,
7900 config->enableTxSTBC) == QDF_STATUS_E_FAILURE) {
7901 status = false;
7902 hdd_err("Couldn't pass on WNI_CFG_VHT_TXSTBC to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007903 }
7904
jiad4a7a33c2017-08-08 15:32:24 +08007905 /* first get HW RX LDPC capability */
Krunal Soni5c390162016-09-26 15:07:05 -07007906 if (sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_VHT_LDPC_CODING_CAP, &val) ==
7907 QDF_STATUS_E_FAILURE) {
jiad4a7a33c2017-08-08 15:32:24 +08007908 status = false;
Krunal Soni5c390162016-09-26 15:07:05 -07007909 hdd_err("Could not get WNI_CFG_VHT_LDPC_CODING_CAP");
7910 }
jiad4a7a33c2017-08-08 15:32:24 +08007911
7912 /* enable RX LDPC only when both INI and HW are enabled */
Krunal Sonidf0f8742016-09-26 14:56:31 -07007913 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_LDPC_CODING_CAP,
jiad4a7a33c2017-08-08 15:32:24 +08007914 config->enable_rx_ldpc && val) ==
7915 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007916 status = false;
7917 hdd_err("Couldn't pass on WNI_CFG_VHT_LDPC_CODING_CAP to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007918 }
7919
Krunal Sonidf0f8742016-09-26 14:56:31 -07007920 if (sme_cfg_set_int(hdd_ctx->hHal,
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007921 WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED,
Krunal Sonidf0f8742016-09-26 14:56:31 -07007922 config->txBFCsnValue) ==
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007923 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007924 status = false;
7925 hdd_err("Couldn't pass on WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007926 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07007927 return status;
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007928
7929}
7930
7931/**
Krunal Sonidf0f8742016-09-26 14:56:31 -07007932 * hdd_update_config_cfg() - API to update INI setting based on hw/fw caps
7933 * @hdd_ctx: pointer to hdd_ctx
Krunal Soni52198e42016-09-26 13:53:09 -07007934 *
Krunal Sonidf0f8742016-09-26 14:56:31 -07007935 * This API reads the cfg file which is updated with hardware/firmware
7936 * capabilities and intersect it with INI setting provided by user. After
7937 * taking intersection it adjust cfg it self. For example, if user has enabled
7938 * RX LDPC through INI but hardware/firmware doesn't support it then disable
7939 * it in CFG file here.
7940 *
7941 * Return: true or false based on outcome.
Krunal Soni52198e42016-09-26 13:53:09 -07007942 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07007943bool hdd_update_config_cfg(struct hdd_context *hdd_ctx)
Krunal Soni52198e42016-09-26 13:53:09 -07007944{
Krunal Sonidf0f8742016-09-26 14:56:31 -07007945 bool status = true;
Krunal Sonidf0f8742016-09-26 14:56:31 -07007946 struct hdd_config *config = hdd_ctx->config;
Krunal Soni52198e42016-09-26 13:53:09 -07007947
7948 /*
7949 * During the initialization both 2G and 5G capabilities should be same.
7950 * So read 5G HT capablity and update 2G and 5G capablities.
7951 */
Krunal Sonidf0f8742016-09-26 14:56:31 -07007952 if (!hdd_update_ht_cap_in_cfg(hdd_ctx)) {
7953 status = false;
7954 hdd_err("Couldn't set HT CAP in cfg");
Krunal Soni52198e42016-09-26 13:53:09 -07007955 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007956
Krunal Sonidf0f8742016-09-26 14:56:31 -07007957 if (!hdd_update_vht_cap_in_cfg(hdd_ctx)) {
7958 status = false;
7959 hdd_err("Couldn't set VHT CAP in cfg");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007960 }
7961
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08007962 if (0 != hdd_update_he_cap_in_cfg(hdd_ctx)) {
7963 status = false;
7964 hdd_err("Couldn't set HE CAP in cfg");
7965 }
7966
Krunal Sonidf0f8742016-09-26 14:56:31 -07007967 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
7968 config->MaxRxAmpduFactor) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307969 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007970 status = false;
7971 hdd_err("Couldn't pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007972 }
7973
Krunal Sonidf0f8742016-09-26 14:56:31 -07007974 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_MPDU_DENSITY,
7975 config->ht_mpdu_density) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307976 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007977 status = false;
7978 hdd_err("Couldn't pass on WNI_CFG_MPDU_DENSITY to CFG");
Krishna Kumaar Natarajan22b59a72015-11-23 18:54:58 -08007979 }
7980
Krunal Sonidf0f8742016-09-26 14:56:31 -07007981 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_SHORT_PREAMBLE,
7982 config->fIsShortPreamble) == QDF_STATUS_E_FAILURE) {
7983 status = false;
7984 hdd_err("Couldn't pass on WNI_CFG_SHORT_PREAMBLE to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007985 }
7986
Krunal Sonidf0f8742016-09-26 14:56:31 -07007987 if (sme_cfg_set_int(hdd_ctx->hHal,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007988 WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME,
Krunal Sonidf0f8742016-09-26 14:56:31 -07007989 config->nPassiveMinChnTime)
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307990 == QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007991 status = false;
7992 hdd_err("Couldn't pass on WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007993 }
7994
Krunal Sonidf0f8742016-09-26 14:56:31 -07007995 if (sme_cfg_set_int(hdd_ctx->hHal,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007996 WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME,
Krunal Sonidf0f8742016-09-26 14:56:31 -07007997 config->nPassiveMaxChnTime)
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307998 == QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007999 status = false;
8000 hdd_err("Couldn't pass on WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008001 }
8002
Krunal Sonidf0f8742016-09-26 14:56:31 -07008003 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_BEACON_INTERVAL,
8004 config->nBeaconInterval) == QDF_STATUS_E_FAILURE) {
8005 status = false;
8006 hdd_err("Couldn't pass on WNI_CFG_BEACON_INTERVAL to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008007 }
8008
Krunal Sonidf0f8742016-09-26 14:56:31 -07008009 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_MAX_PS_POLL,
8010 config->nMaxPsPoll) == QDF_STATUS_E_FAILURE) {
8011 status = false;
8012 hdd_err("Couldn't pass on WNI_CFG_MAX_PS_POLL to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008013 }
8014
Krunal Sonidf0f8742016-09-26 14:56:31 -07008015 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT,
8016 config->nDataInactivityTimeout) == QDF_STATUS_E_FAILURE) {
8017 status = false;
8018 hdd_err("Couldn't pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008019 }
8020
Mukul Sharmaed92f2f2017-04-20 00:06:28 +05308021 if (sme_cfg_set_int(hdd_ctx->hHal,
8022 WNI_CFG_PS_WOW_DATA_INACTIVITY_TIMEOUT,
8023 config->wow_data_inactivity_timeout) == QDF_STATUS_E_FAILURE) {
8024 status = false;
8025 hdd_err("Fail to pass WNI_CFG_PS_WOW_DATA_INACTIVITY_TO CFG");
8026 }
8027
Krunal Sonidf0f8742016-09-26 14:56:31 -07008028 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_ENABLE_LTE_COEX,
8029 config->enableLTECoex) == QDF_STATUS_E_FAILURE) {
8030 status = false;
8031 hdd_err("Couldn't pass on WNI_CFG_ENABLE_LTE_COEX to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008032 }
8033
Krunal Sonidf0f8742016-09-26 14:56:31 -07008034 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT,
8035 config->apKeepAlivePeriod) == QDF_STATUS_E_FAILURE) {
8036 status = false;
8037 hdd_err("Couldn't pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008038 }
8039
Krunal Sonidf0f8742016-09-26 14:56:31 -07008040 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT,
8041 config->goKeepAlivePeriod) == QDF_STATUS_E_FAILURE) {
8042 status = false;
8043 hdd_err("Couldn't pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008044 }
8045
Krunal Sonidf0f8742016-09-26 14:56:31 -07008046 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT,
8047 config->apLinkMonitorPeriod) == QDF_STATUS_E_FAILURE) {
8048 status = false;
8049 hdd_err("Couldn't pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008050 }
8051
Krunal Sonidf0f8742016-09-26 14:56:31 -07008052 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT,
8053 config->goLinkMonitorPeriod) == QDF_STATUS_E_FAILURE) {
8054 status = false;
8055 hdd_err("Couldn't pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008056 }
8057
Krunal Sonidf0f8742016-09-26 14:56:31 -07008058 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_SINGLE_TID_RC,
8059 config->bSingleTidRc) == QDF_STATUS_E_FAILURE) {
8060 status = false;
8061 hdd_err("Couldn't pass on WNI_CFG_SINGLE_TID_RC to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008062 }
8063
Krunal Sonidf0f8742016-09-26 14:56:31 -07008064 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN,
8065 config->teleBcnWakeupEn) == QDF_STATUS_E_FAILURE) {
8066 status = false;
8067 hdd_err("Couldn't pass on WNI_CFG_TELE_BCN_WAKEUP_EN to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008068 }
8069
Krunal Sonidf0f8742016-09-26 14:56:31 -07008070 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TELE_BCN_MAX_LI,
8071 config->nTeleBcnMaxListenInterval) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308072 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008073 status = false;
8074 hdd_err("Couldn't pass on WNI_CFG_TELE_BCN_MAX_LI to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008075 }
8076
Krunal Sonidf0f8742016-09-26 14:56:31 -07008077 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD,
8078 config->infraStaKeepAlivePeriod) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308079 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008080 status = false;
8081 hdd_err("Couldn't pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008082 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008083
Krunal Sonidf0f8742016-09-26 14:56:31 -07008084 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD,
8085 config->FragmentationThreshold) == QDF_STATUS_E_FAILURE) {
8086 status = false;
8087 hdd_err("Couldn't pass on WNI_CFG_FRAGMENTATION_THRESHOLD to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008088 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008089 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_RTS_THRESHOLD,
8090 config->RTSThreshold) == QDF_STATUS_E_FAILURE) {
8091 status = false;
8092 hdd_err("Couldn't pass on WNI_CFG_RTS_THRESHOLD to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008093 }
8094
Krunal Sonidf0f8742016-09-26 14:56:31 -07008095 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_11D_ENABLED,
8096 config->Is11dSupportEnabled) == QDF_STATUS_E_FAILURE) {
8097 status = false;
8098 hdd_err("Couldn't pass on WNI_CFG_11D_ENABLED to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008099 }
8100
Krunal Sonidf0f8742016-09-26 14:56:31 -07008101 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_DFS_MASTER_ENABLED,
8102 config->enableDFSMasterCap) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308103 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008104 status = false;
8105 hdd_err("Failure: Couldn't set value for WNI_CFG_DFS_MASTER_ENABLED");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008106 }
8107
Krunal Sonidf0f8742016-09-26 14:56:31 -07008108 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD,
8109 config->HeartbeatThresh24) == QDF_STATUS_E_FAILURE) {
8110 status = false;
8111 hdd_err("Couldn't pass on WNI_CFG_HEART_BEAT_THRESHOLD to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008112 }
8113
Krunal Sonidf0f8742016-09-26 14:56:31 -07008114 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST,
8115 config->fEnableMCAddrList) == QDF_STATUS_E_FAILURE) {
8116 status = false;
8117 hdd_err("Couldn't pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008118 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008119
Krunal Sonidf0f8742016-09-26 14:56:31 -07008120 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED,
8121 config->enableMCCAdaptiveScheduler) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308122 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008123 status = false;
8124 hdd_err("Couldn't pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008125 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008126 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP,
8127 config->disableLDPCWithTxbfAP) == QDF_STATUS_E_FAILURE) {
8128 status = false;
8129 hdd_err("Couldn't pass on WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008130 }
8131
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008132#ifdef FEATURE_WLAN_TDLS
8133
Krunal Sonidf0f8742016-09-26 14:56:31 -07008134 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
8135 config->fTDLSUapsdMask) == QDF_STATUS_E_FAILURE) {
8136 status = false;
8137 hdd_err("Couldn't pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008138 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008139 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
8140 config->fEnableTDLSBufferSta) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308141 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008142 status = false;
8143 hdd_err("Couldn't pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008144 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008145 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
8146 config->fTDLSPuapsdInactivityTimer) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308147 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008148 status = false;
8149 hdd_err("Couldn't pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008150 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008151 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
8152 config->fTDLSRxFrameThreshold) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308153 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008154 status = false;
8155 hdd_err("Couldn't pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008156 }
8157
Krunal Sonidf0f8742016-09-26 14:56:31 -07008158 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TDLS_OFF_CHANNEL_ENABLED,
8159 config->fEnableTDLSOffChannel) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308160 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008161 status = false;
8162 hdd_err("Couldn't pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008163 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008164 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TDLS_WMM_MODE_ENABLED,
8165 config->fEnableTDLSWmmMode) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308166 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008167 status = false;
8168 hdd_err("Couldn't pass on WNI_CFG_TDLS_WMM_MODE_ENABLED to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008169 }
8170#endif
8171
Krunal Sonidf0f8742016-09-26 14:56:31 -07008172 if (sme_cfg_set_int(hdd_ctx->hHal,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008173 WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL,
Krunal Sonidf0f8742016-09-26 14:56:31 -07008174 config->debugP2pRemainOnChannel) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308175 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008176 status = false;
8177 hdd_err("Couldn't pass on WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008178 }
8179#ifdef WLAN_FEATURE_11W
Krunal Sonidf0f8742016-09-26 14:56:31 -07008180 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_PMF_SA_QUERY_MAX_RETRIES,
8181 config->pmfSaQueryMaxRetries) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308182 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008183 status = false;
8184 hdd_err("Couldn't pass on WNI_CFG_SA_QUERY_MAX_RETRIES to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008185 }
8186
Krunal Sonidf0f8742016-09-26 14:56:31 -07008187 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_PMF_SA_QUERY_RETRY_INTERVAL,
8188 config->pmfSaQueryRetryInterval) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308189 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008190 status = false;
8191 hdd_err("Couldn't pass on WNI_CFG_SA_QUERY_RETRY_INTERVAL to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008192 }
8193#endif
8194
Krunal Sonidf0f8742016-09-26 14:56:31 -07008195 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_IBSS_ATIM_WIN_SIZE,
8196 config->ibssATIMWinSize) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308197 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008198 status = false;
8199 hdd_err("Couldn't pass on WNI_CFG_IBSS_ATIM_WIN_SIZE to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008200 }
Krunal Soni53993f72016-07-08 18:20:03 -07008201
Krunal Sonidf0f8742016-09-26 14:56:31 -07008202 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TGT_GTX_USR_CFG,
8203 config->tgt_gtx_usr_cfg) == QDF_STATUS_E_FAILURE) {
8204 status = false;
8205 hdd_err("Couldn't pass on WNI_CFG_TGT_GTX_USR_CFG to CCM");
Rajeev Kumar Sirasanagandlaaf474742016-09-06 17:54:50 +05308206 }
Hong Shi417824f2017-01-12 02:31:14 +08008207
8208 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_MAX_HT_MCS_TX_DATA,
8209 config->max_ht_mcs_txdata) ==
8210 QDF_STATUS_E_FAILURE) {
8211 status = false;
8212 hdd_err("Couldn't pass on WNI_CFG_MAX_HT_MCS_TX_DATA to CCM");
8213 }
Hong Shia9ef8712017-02-19 21:54:02 +08008214
8215 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_DISABLE_ABG_RATE_FOR_TX_DATA,
8216 config->disable_abg_rate_txdata) ==
8217 QDF_STATUS_E_FAILURE) {
8218 status = false;
8219 hdd_err("Couldn't pass on WNI_CFG_DISABLE_ABG_RATE_FOR_TX_DATA to CCM");
8220 }
8221
Hong Shib90718f2017-02-20 00:57:22 +08008222 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_RATE_FOR_TX_MGMT,
8223 config->rate_for_tx_mgmt) ==
8224 QDF_STATUS_E_FAILURE) {
8225 status = false;
8226 hdd_err("Couldn't pass on WNI_CFG_RATE_FOR_TX_MGMT to CCM");
8227 }
8228
lifeng13a89d72017-05-10 14:49:29 +08008229 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_SAP_MAX_MCS_DATA,
8230 config->sap_max_mcs_txdata) ==
8231 QDF_STATUS_E_FAILURE) {
8232 status = false;
8233 hdd_err("Could not pass on WNI_CFG_SAP_MAX_MCS_DATA to CCM");
8234 }
8235
Hong Shi2d384fd2017-05-22 18:38:41 +08008236 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_RATE_FOR_TX_MGMT_2G,
8237 config->rate_for_tx_mgmt_2g) ==
8238 QDF_STATUS_E_FAILURE) {
8239 status = false;
8240 hdd_err("Couldn't pass on WNI_CFG_RATE_FOR_TX_MGMT_2G to CCM");
8241 }
8242
8243 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_RATE_FOR_TX_MGMT_5G,
8244 config->rate_for_tx_mgmt_5g) ==
8245 QDF_STATUS_E_FAILURE) {
8246 status = false;
8247 hdd_err("Couldn't pass on WNI_CFG_RATE_FOR_TX_MGMT_5G to CCM");
8248 }
8249
Krunal Sonidf0f8742016-09-26 14:56:31 -07008250 return status;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008251}
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08008252
Kapil Gupta5cda2252016-12-29 18:44:26 +05308253/**
8254 * hdd_update_per_config_to_sme() -initializes the sme config for PER roam
8255 *
8256 * @hdd_ctx: the pointer to hdd context
8257 * @sme_config: sme configuation pointer
8258 *
8259 * Return: None
8260 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07008261static void hdd_update_per_config_to_sme(struct hdd_context *hdd_ctx,
Kapil Gupta5cda2252016-12-29 18:44:26 +05308262 tSmeConfigParams *sme_config)
8263{
8264 sme_config->csrConfig.per_roam_config.enable =
8265 hdd_ctx->config->is_per_roam_enabled;
8266
8267 /* Assigning Tx and Rx for same value */
8268 sme_config->csrConfig.per_roam_config.tx_high_rate_thresh =
8269 hdd_ctx->config->per_roam_high_rate_threshold;
8270 sme_config->csrConfig.per_roam_config.rx_high_rate_thresh =
8271 hdd_ctx->config->per_roam_high_rate_threshold;
8272
8273 /* Assigning Tx and Rx for same value */
8274 sme_config->csrConfig.per_roam_config.tx_low_rate_thresh =
8275 hdd_ctx->config->per_roam_low_rate_threshold;
8276 sme_config->csrConfig.per_roam_config.rx_low_rate_thresh =
8277 hdd_ctx->config->per_roam_low_rate_threshold;
8278
8279 /* Assigning Tx and Rx for same value */
8280 sme_config->csrConfig.per_roam_config.tx_rate_thresh_percnt =
8281 hdd_ctx->config->per_roam_th_percent;
8282 sme_config->csrConfig.per_roam_config.rx_rate_thresh_percnt =
8283 hdd_ctx->config->per_roam_th_percent;
8284
8285 sme_config->csrConfig.per_roam_config.per_rest_time =
8286 hdd_ctx->config->per_roam_rest_time;
Kapil Gupta957827b2017-02-13 15:47:04 +05308287 sme_config->csrConfig.per_roam_config.tx_per_mon_time =
8288 hdd_ctx->config->per_roam_mon_time;
8289 sme_config->csrConfig.per_roam_config.rx_per_mon_time =
8290 hdd_ctx->config->per_roam_mon_time;
Selvaraj, Sridhar0641fab2017-05-17 16:02:00 +05308291
8292 /* Assigning minimum roamable AP RSSI for candidate selection */
8293 sme_config->csrConfig.per_roam_config.min_candidate_rssi =
8294 hdd_ctx->config->min_candidate_rssi;
Kapil Gupta5cda2252016-12-29 18:44:26 +05308295}
8296
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008297/**
Tushnim Bhattacharyyaba8ee932017-03-23 09:27:40 -07008298 * hdd_set_policy_mgr_user_cfg() -initializes the policy manager
8299 * configuration parameters
8300 *
Jeff Johnson723234b2017-09-03 08:49:15 -07008301 * @hdd_ctx: the pointer to hdd context
Tushnim Bhattacharyyaba8ee932017-03-23 09:27:40 -07008302 *
8303 * Return: QDF_STATUS_SUCCESS if configuration is correctly applied,
8304 * otherwise the appropriate QDF_STATUS would be returned
8305 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07008306QDF_STATUS hdd_set_policy_mgr_user_cfg(struct hdd_context *hdd_ctx)
Tushnim Bhattacharyyaba8ee932017-03-23 09:27:40 -07008307{
8308 QDF_STATUS status;
8309 struct policy_mgr_user_cfg *user_cfg;
8310
8311 user_cfg = qdf_mem_malloc(sizeof(*user_cfg));
8312 if (NULL == user_cfg) {
8313 hdd_err("unable to allocate user_cfg");
8314 return QDF_STATUS_E_NOMEM;
8315 }
8316
8317 user_cfg->conc_system_pref = hdd_ctx->config->conc_system_pref;
8318 user_cfg->enable_mcc_adaptive_scheduler =
8319 hdd_ctx->config->enableMCCAdaptiveScheduler;
8320 user_cfg->max_concurrent_active_sessions =
8321 hdd_ctx->config->gMaxConcurrentActiveSessions;
Tushnim Bhattacharyya7e546692017-03-23 18:30:29 -07008322 user_cfg->enable2x2 = hdd_ctx->config->enable2x2;
Tushnim Bhattacharyya5cc9edc2017-04-26 12:33:59 -07008323 user_cfg->mcc_to_scc_switch_mode =
8324 hdd_ctx->config->WlanMccToSccSwitchMode;
8325 user_cfg->sub_20_mhz_enabled = cds_is_sub_20_mhz_enabled();
Ganesh Kondabattini4a7f5b92017-11-21 14:58:39 +05308326 user_cfg->is_sta_sap_scc_allowed_on_dfs_chan =
8327 hdd_ctx->config->sta_sap_scc_on_dfs_chan;
Yeshwanth Sriram Guntuka469f9572018-02-12 13:28:22 +05308328 user_cfg->channel_select_logic_conc =
8329 hdd_ctx->config->channel_select_logic_conc;
Tushnim Bhattacharyyaba8ee932017-03-23 09:27:40 -07008330 status = policy_mgr_set_user_cfg(hdd_ctx->hdd_psoc, user_cfg);
Tushnim Bhattacharyyaba8ee932017-03-23 09:27:40 -07008331 qdf_mem_free(user_cfg);
8332
8333 return status;
8334}
Krunal Soni707eb782018-01-18 12:04:19 -08008335
8336eCsrRoamWmmUserModeType hdd_to_csr_wmm_mode(enum hdd_wmm_user_mode mode)
Srinivas Girigowda3ea486d2017-06-28 17:19:49 -07008337{
8338 switch (mode) {
8339 case HDD_WMM_USER_MODE_QBSS_ONLY:
8340 return eCsrRoamWmmQbssOnly;
8341 case HDD_WMM_USER_MODE_NO_QOS:
8342 return eCsrRoamWmmNoQos;
8343 case HDD_WMM_USER_MODE_AUTO:
8344 default:
8345 return eCsrRoamWmmAuto;
8346 }
8347}
8348
8349/**
Himanshu Agarwal8bcec572017-09-28 11:54:37 +05308350 * hdd_update_score_params() -initializes the sme config for bss score params
8351 *
8352 * @config: pointer to config
8353 * @score_params: bss score params
8354 *
8355 * Return: None
8356 */
8357static void hdd_update_bss_score_params(struct hdd_config *config,
8358 struct sir_score_config *score_params)
8359{
8360 int total_weight;
8361
8362 score_params->enable_scoring_for_roam =
8363 config->enable_scoring_for_roam;
8364 score_params->weight_cfg.rssi_weightage = config->rssi_weightage;
8365 score_params->weight_cfg.ht_caps_weightage = config->ht_caps_weightage;
8366 score_params->weight_cfg.vht_caps_weightage =
8367 config->vht_caps_weightage;
8368 score_params->weight_cfg.he_caps_weightage =
8369 config->he_caps_weightage;
8370 score_params->weight_cfg.chan_width_weightage =
8371 config->chan_width_weightage;
8372 score_params->weight_cfg.chan_band_weightage =
8373 config->chan_band_weightage;
8374 score_params->weight_cfg.nss_weightage = config->nss_weightage;
8375 score_params->weight_cfg.beamforming_cap_weightage =
8376 config->beamforming_cap_weightage;
8377 score_params->weight_cfg.pcl_weightage = config->pcl_weightage;
8378 score_params->weight_cfg.channel_congestion_weightage =
8379 config->channel_congestion_weightage;
8380 score_params->weight_cfg.oce_wan_weightage = config->oce_wan_weightage;
8381
8382 total_weight = score_params->weight_cfg.rssi_weightage +
8383 score_params->weight_cfg.ht_caps_weightage +
8384 score_params->weight_cfg.vht_caps_weightage +
8385 score_params->weight_cfg.he_caps_weightage +
8386 score_params->weight_cfg.chan_width_weightage +
8387 score_params->weight_cfg.chan_band_weightage +
8388 score_params->weight_cfg.nss_weightage +
8389 score_params->weight_cfg.beamforming_cap_weightage +
8390 score_params->weight_cfg.pcl_weightage +
8391 score_params->weight_cfg.channel_congestion_weightage +
8392 score_params->weight_cfg.oce_wan_weightage;
8393
8394 if (total_weight > BEST_CANDIDATE_MAX_WEIGHT) {
8395 hdd_err("total weight is greater than %d fallback to default values",
8396 BEST_CANDIDATE_MAX_WEIGHT);
8397
8398 score_params->weight_cfg.rssi_weightage = RSSI_WEIGHTAGE;
8399 score_params->weight_cfg.ht_caps_weightage =
8400 HT_CAPABILITY_WEIGHTAGE;
8401 score_params->weight_cfg.vht_caps_weightage = VHT_CAP_WEIGHTAGE;
8402 score_params->weight_cfg.he_caps_weightage = HE_CAP_WEIGHTAGE;
8403 score_params->weight_cfg.chan_width_weightage =
8404 CHAN_WIDTH_WEIGHTAGE;
8405 score_params->weight_cfg.chan_band_weightage =
8406 CHAN_BAND_WEIGHTAGE;
8407 score_params->weight_cfg.nss_weightage = NSS_WEIGHTAGE;
8408 score_params->weight_cfg.beamforming_cap_weightage =
8409 BEAMFORMING_CAP_WEIGHTAGE;
8410 score_params->weight_cfg.pcl_weightage = PCL_WEIGHT;
8411 score_params->weight_cfg.channel_congestion_weightage =
8412 CHANNEL_CONGESTION_WEIGHTAGE;
8413 score_params->weight_cfg.oce_wan_weightage = OCE_WAN_WEIGHTAGE;
8414 }
8415
8416 score_params->bandwidth_weight_per_index =
8417 hdd_limit_max_per_index_score(
8418 config->bandwidth_weight_per_index);
8419 score_params->nss_weight_per_index =
8420 hdd_limit_max_per_index_score(config->nss_weight_per_index);
8421 score_params->band_weight_per_index =
8422 hdd_limit_max_per_index_score(config->band_weight_per_index);
8423
8424 score_params->rssi_score.best_rssi_threshold =
8425 config->best_rssi_threshold;
8426 score_params->rssi_score.good_rssi_threshold =
8427 config->good_rssi_threshold;
8428 score_params->rssi_score.bad_rssi_threshold =
8429 config->bad_rssi_threshold;
8430 score_params->rssi_score.good_rssi_pcnt = config->good_rssi_pcnt;
8431 score_params->rssi_score.bad_rssi_pcnt = config->bad_rssi_pcnt;
8432 score_params->rssi_score.good_rssi_bucket_size =
8433 config->good_rssi_bucket_size;
8434 score_params->rssi_score.bad_rssi_bucket_size =
8435 config->bad_rssi_bucket_size;
8436 score_params->rssi_score.rssi_pref_5g_rssi_thresh =
8437 config->rssi_pref_5g_rssi_thresh;
8438
8439 score_params->esp_qbss_scoring.num_slot = config->num_esp_qbss_slots;
8440 score_params->esp_qbss_scoring.score_pcnt3_to_0 =
8441 hdd_limit_max_per_index_score(
8442 config->esp_qbss_score_slots3_to_0);
8443 score_params->esp_qbss_scoring.score_pcnt7_to_4 =
8444 hdd_limit_max_per_index_score(
8445 config->esp_qbss_score_slots7_to_4);
8446 score_params->esp_qbss_scoring.score_pcnt11_to_8 =
8447 hdd_limit_max_per_index_score(
8448 config->esp_qbss_score_slots11_to_8);
8449 score_params->esp_qbss_scoring.score_pcnt15_to_12 =
8450 hdd_limit_max_per_index_score(
8451 config->esp_qbss_score_slots15_to_12);
8452
8453 score_params->oce_wan_scoring.num_slot = config->num_oce_wan_slots;
8454 score_params->oce_wan_scoring.score_pcnt3_to_0 =
8455 hdd_limit_max_per_index_score(
8456 config->oce_wan_score_slots3_to_0);
8457 score_params->oce_wan_scoring.score_pcnt7_to_4 =
8458 hdd_limit_max_per_index_score(
8459 config->oce_wan_score_slots7_to_4);
8460 score_params->oce_wan_scoring.score_pcnt11_to_8 =
8461 hdd_limit_max_per_index_score(
8462 config->oce_wan_score_slots11_to_8);
8463 score_params->oce_wan_scoring.score_pcnt15_to_12 =
8464 hdd_limit_max_per_index_score(
8465 config->oce_wan_score_slots15_to_12);
8466}
8467
8468/**
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05308469 * hdd_update_11k_offload_params() - initializes the 11k offload related params
8470 *
8471 * @config: pointer to hdd_config structure
8472 * @csr_config: pointer to the csr config structure
8473 *
8474 * Return: None
8475 */
8476static
8477void hdd_update_11k_offload_params(struct hdd_config *config,
8478 tCsrConfigParam *csr_config)
8479{
8480 csr_config->offload_11k_enable_bitmask =
8481 config->offload_11k_enable_bitmask;
8482 csr_config->neighbor_report_offload.params_bitmask =
8483 config->neighbor_report_offload_params_bitmask;
8484 csr_config->neighbor_report_offload.time_offset =
8485 config->neighbor_report_offload_time_offset;
8486 csr_config->neighbor_report_offload.low_rssi_offset =
8487 config->neighbor_report_offload_low_rssi_offset;
8488 csr_config->neighbor_report_offload.bmiss_count_trigger =
8489 config->neighbor_report_offload_bmiss_count_trigger;
8490 csr_config->neighbor_report_offload.per_threshold_offset =
8491 config->neighbor_report_offload_per_threshold_offset;
8492 csr_config->neighbor_report_offload.neighbor_report_cache_timeout =
8493 config->neighbor_report_offload_cache_timeout;
8494 csr_config->neighbor_report_offload.max_neighbor_report_req_cap =
8495 config->neighbor_report_offload_max_req_cap;
8496}
8497
8498/**
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008499 * hdd_set_sme_config() -initializes the sme configuration parameters
8500 *
Jeff Johnson723234b2017-09-03 08:49:15 -07008501 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008502 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308503 * Return: QDF_STATUS_SUCCESS if configuration is correctly applied,
8504 * otherwise the appropriate QDF_STATUS would be returned
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008505 */
Jeff Johnson723234b2017-09-03 08:49:15 -07008506QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008507{
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308508 QDF_STATUS status = QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008509 tSmeConfigParams *smeConfig;
Yeshwanth Sriram Guntuka2ba6fe92017-10-04 14:40:45 +05308510 uint8_t rrm_capab_len, val;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008511
Jeff Johnson723234b2017-09-03 08:49:15 -07008512 struct hdd_config *pConfig = hdd_ctx->config;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008513
Anurag Chouhan600c3a02016-03-01 10:33:54 +05308514 smeConfig = qdf_mem_malloc(sizeof(*smeConfig));
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008515 if (NULL == smeConfig) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08008516 hdd_err("unable to allocate smeConfig");
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308517 return QDF_STATUS_E_NOMEM;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008518 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008519
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07008520 hdd_debug("%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d",
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008521 __func__, pConfig->WmmMode, pConfig->b80211eIsEnabled,
8522 pConfig->dot11Mode);
8523
8524 /* Config params obtained from the registry
8525 * To Do: set regulatory information here
8526 */
8527
8528 smeConfig->csrConfig.RTSThreshold = pConfig->RTSThreshold;
8529 smeConfig->csrConfig.FragmentationThreshold =
8530 pConfig->FragmentationThreshold;
8531 smeConfig->csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
8532 smeConfig->csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
8533 smeConfig->csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
8534
8535 smeConfig->csrConfig.phyMode =
8536 hdd_cfg_xlate_to_csr_phy_mode(pConfig->dot11Mode);
8537
8538 if (pConfig->dot11Mode == eHDD_DOT11_MODE_abg ||
8539 pConfig->dot11Mode == eHDD_DOT11_MODE_11b ||
8540 pConfig->dot11Mode == eHDD_DOT11_MODE_11g ||
8541 pConfig->dot11Mode == eHDD_DOT11_MODE_11b_ONLY ||
8542 pConfig->dot11Mode == eHDD_DOT11_MODE_11g_ONLY) {
8543 smeConfig->csrConfig.channelBondingMode24GHz = 0;
8544 smeConfig->csrConfig.channelBondingMode5GHz = 0;
8545 } else {
8546 smeConfig->csrConfig.channelBondingMode24GHz =
8547 pConfig->nChannelBondingMode24GHz;
8548 smeConfig->csrConfig.channelBondingMode5GHz =
8549 pConfig->nChannelBondingMode5GHz;
8550 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008551 smeConfig->csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008552 smeConfig->csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
8553 smeConfig->csrConfig.fSupplicantCountryCodeHasPriority =
8554 pConfig->fSupplicantCountryCodeHasPriority;
8555 smeConfig->csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
8556 smeConfig->csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
8557 smeConfig->csrConfig.vccUlMacLossThreshold =
8558 pConfig->nVccUlMacLossThreshold;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008559 smeConfig->csrConfig.nInitialDwellTime = pConfig->nInitialDwellTime;
8560 smeConfig->csrConfig.initial_scan_no_dfs_chnl =
8561 pConfig->initial_scan_no_dfs_chnl;
8562 smeConfig->csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
8563 smeConfig->csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
8564 smeConfig->csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
8565 smeConfig->csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008566 smeConfig->csrConfig.nActiveMaxChnTimeConc =
8567 pConfig->nActiveMaxChnTimeConc;
8568 smeConfig->csrConfig.nActiveMinChnTimeConc =
8569 pConfig->nActiveMinChnTimeConc;
8570 smeConfig->csrConfig.nPassiveMaxChnTimeConc =
8571 pConfig->nPassiveMaxChnTimeConc;
8572 smeConfig->csrConfig.nPassiveMinChnTimeConc =
8573 pConfig->nPassiveMinChnTimeConc;
8574 smeConfig->csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Agrawal Ashish17bb3902016-05-05 13:29:40 +05308575 smeConfig->csrConfig.min_rest_time_conc = pConfig->min_rest_time_conc;
8576 smeConfig->csrConfig.idle_time_conc = pConfig->idle_time_conc;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008577
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008578 smeConfig->csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
Srinivas Girigowda3ea486d2017-06-28 17:19:49 -07008579 smeConfig->csrConfig.WMMSupportMode =
8580 hdd_to_csr_wmm_mode(pConfig->WmmMode);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008581
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08008582 smeConfig->rrmConfig.rrm_enabled = pConfig->fRrmEnable;
8583 smeConfig->rrmConfig.max_randn_interval = pConfig->nRrmRandnIntvl;
8584 hdd_hex_string_to_u8_array(pConfig->rm_capability,
8585 smeConfig->rrmConfig.rm_capability, &rrm_capab_len,
8586 DOT11F_IE_RRMENABLEDCAP_MAX_LEN);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008587 /* Remaining config params not obtained from registry
8588 * On RF EVB beacon using channel 1.
8589 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008590 smeConfig->csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
8591 smeConfig->csrConfig.enableTxBF = pConfig->enableTxBF;
Abhishek Singh68844282018-01-25 16:48:41 +05308592 smeConfig->csrConfig.enable_subfee_vendor_vhtie =
8593 pConfig->enable_subfee_vendor_vhtie;
8594
Kiran Kumar Lokere5302ab62015-12-16 16:03:16 -08008595 smeConfig->csrConfig.enable_txbf_sap_mode =
8596 pConfig->enable_txbf_sap_mode;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008597 smeConfig->csrConfig.enable2x2 = pConfig->enable2x2;
8598 smeConfig->csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Kapil Gupta4b2efbb2016-10-03 13:07:20 +05308599 smeConfig->csrConfig.vendor_vht_sap =
8600 pConfig->enable_sap_vendor_vht;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008601 smeConfig->csrConfig.enableMuBformee = pConfig->enableMuBformee;
8602 smeConfig->csrConfig.enableVhtpAid = pConfig->enableVhtpAid;
8603 smeConfig->csrConfig.enableVhtGid = pConfig->enableVhtGid;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008604 smeConfig->csrConfig.enableAmpduPs = pConfig->enableAmpduPs;
8605 smeConfig->csrConfig.enableHtSmps = pConfig->enableHtSmps;
8606 smeConfig->csrConfig.htSmps = pConfig->htSmps;
Archana Ramachandranfec24812016-02-16 16:31:56 -08008607 /* This param cannot be configured from INI */
8608 smeConfig->csrConfig.send_smps_action = true;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008609 smeConfig->csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
8610 smeConfig->csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
8611 smeConfig->csrConfig.ProprietaryRatesEnabled = 0;
8612 smeConfig->csrConfig.HeartbeatThresh50 = 40;
8613 smeConfig->csrConfig.bandCapability = pConfig->nBandCapability;
Varun Reddy Yeturua48bc412017-11-17 15:33:35 -08008614 if (pConfig->nBandCapability == BAND_2G) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008615 smeConfig->csrConfig.Is11hSupportEnabled = 0;
8616 } else {
8617 smeConfig->csrConfig.Is11hSupportEnabled =
8618 pConfig->Is11hSupportEnabled;
8619 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008620 smeConfig->csrConfig.eBand = pConfig->nBandCapability;
8621 smeConfig->csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
Padma, Santhosh Kumar29df3622016-08-16 19:15:16 +05308622 smeConfig->csrConfig.allow_tpc_from_ap = pConfig->allow_tpc_from_ap;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008623 smeConfig->csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
8624 smeConfig->csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008625 smeConfig->csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
8626 smeConfig->csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
8627 smeConfig->csrConfig.nProbes = pConfig->nProbes;
8628
8629 smeConfig->csrConfig.nRoamScanHomeAwayTime =
8630 pConfig->nRoamScanHomeAwayTime;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008631 smeConfig->csrConfig.fFirstScanOnly2GChnl =
8632 pConfig->enableFirstScan2GOnly;
8633
Peng Xuf5d60c82015-10-02 17:17:03 -07008634 smeConfig->csrConfig.Csr11dinfo.Channels.numChannels = 0;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008635
Jeff Johnson723234b2017-09-03 08:49:15 -07008636 hdd_set_power_save_offload_config(hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008637
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008638 smeConfig->csrConfig.isFastRoamIniFeatureEnabled =
8639 pConfig->isFastRoamIniFeatureEnabled;
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07008640 smeConfig->csrConfig.csr_mawc_config.mawc_enabled =
8641 pConfig->MAWCEnabled;
8642 smeConfig->csrConfig.csr_mawc_config.mawc_roam_enabled =
8643 pConfig->mawc_roam_enabled;
8644 smeConfig->csrConfig.csr_mawc_config.mawc_roam_traffic_threshold =
8645 pConfig->mawc_roam_traffic_threshold;
8646 smeConfig->csrConfig.csr_mawc_config.mawc_roam_ap_rssi_threshold =
8647 pConfig->mawc_roam_ap_rssi_threshold;
8648 smeConfig->csrConfig.csr_mawc_config.mawc_roam_rssi_high_adjust =
8649 pConfig->mawc_roam_rssi_high_adjust;
8650 smeConfig->csrConfig.csr_mawc_config.mawc_roam_rssi_low_adjust =
8651 pConfig->mawc_roam_rssi_low_adjust;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008652#ifdef FEATURE_WLAN_ESE
8653 smeConfig->csrConfig.isEseIniFeatureEnabled =
8654 pConfig->isEseIniFeatureEnabled;
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07008655 if (pConfig->isEseIniFeatureEnabled)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008656 pConfig->isFastTransitionEnabled = true;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008657#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008658 smeConfig->csrConfig.isFastTransitionEnabled =
8659 pConfig->isFastTransitionEnabled;
8660 smeConfig->csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Abhishek Singh34c0e632017-09-28 14:39:29 +05308661 smeConfig->csrConfig.rssi_abs_thresh = pConfig->rssi_abs_thresh;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008662 smeConfig->csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008663 smeConfig->csrConfig.isRoamOffloadScanEnabled =
8664 pConfig->isRoamOffloadScanEnabled;
8665 smeConfig->csrConfig.bFastRoamInConIniFeatureEnabled =
8666 pConfig->bFastRoamInConIniFeatureEnabled;
8667
8668 if (0 == smeConfig->csrConfig.isRoamOffloadScanEnabled) {
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07008669 /* Disable roaming in concurrency if roam scan
8670 * offload is disabled
8671 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008672 smeConfig->csrConfig.bFastRoamInConIniFeatureEnabled = 0;
8673 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008674 smeConfig->csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold =
8675 pConfig->nNeighborLookupRssiThreshold;
Varun Reddy Yeturu168134f2017-06-26 13:46:05 -07008676 smeConfig->csrConfig.neighborRoamConfig.rssi_thresh_offset_5g =
8677 pConfig->rssi_thresh_offset_5g;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008678 smeConfig->csrConfig.neighborRoamConfig.delay_before_vdev_stop =
8679 pConfig->delay_before_vdev_stop;
8680 smeConfig->csrConfig.neighborRoamConfig.nOpportunisticThresholdDiff =
8681 pConfig->nOpportunisticThresholdDiff;
8682 smeConfig->csrConfig.neighborRoamConfig.nRoamRescanRssiDiff =
8683 pConfig->nRoamRescanRssiDiff;
8684 smeConfig->csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime =
8685 pConfig->nNeighborScanMaxChanTime;
8686 smeConfig->csrConfig.neighborRoamConfig.nNeighborScanMinChanTime =
8687 pConfig->nNeighborScanMinChanTime;
8688 smeConfig->csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod =
8689 pConfig->nNeighborScanPeriod;
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +05308690 smeConfig->csrConfig.neighborRoamConfig.
8691 neighbor_scan_min_timer_period =
8692 pConfig->neighbor_scan_min_period;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008693 smeConfig->csrConfig.neighborRoamConfig.nMaxNeighborRetries =
8694 pConfig->nMaxNeighborReqTries;
8695 smeConfig->csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod =
8696 pConfig->nNeighborResultsRefreshPeriod;
8697 smeConfig->csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod =
8698 pConfig->nEmptyScanRefreshPeriod;
8699 hdd_string_to_u8_array(pConfig->neighborScanChanList,
8700 smeConfig->csrConfig.neighborRoamConfig.
8701 neighborScanChanList.channelList,
8702 &smeConfig->csrConfig.neighborRoamConfig.
8703 neighborScanChanList.numChannels,
8704 WNI_CFG_VALID_CHANNEL_LIST_LEN);
8705 smeConfig->csrConfig.neighborRoamConfig.nRoamBmissFirstBcnt =
8706 pConfig->nRoamBmissFirstBcnt;
8707 smeConfig->csrConfig.neighborRoamConfig.nRoamBmissFinalBcnt =
8708 pConfig->nRoamBmissFinalBcnt;
8709 smeConfig->csrConfig.neighborRoamConfig.nRoamBeaconRssiWeight =
8710 pConfig->nRoamBeaconRssiWeight;
8711 smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_max_count =
8712 pConfig->nhi_rssi_scan_max_count;
8713 smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_rssi_delta =
8714 pConfig->nhi_rssi_scan_rssi_delta;
8715 smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_delay =
8716 pConfig->nhi_rssi_scan_delay;
8717 smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_rssi_ub =
8718 pConfig->nhi_rssi_scan_rssi_ub;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008719 smeConfig->csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008720 smeConfig->csrConfig.allowDFSChannelRoam = pConfig->allowDFSChannelRoam;
8721
8722 /* Enable/Disable MCC */
8723 smeConfig->csrConfig.fEnableMCCMode = pConfig->enableMCC;
8724 smeConfig->csrConfig.mcc_rts_cts_prot_enable =
8725 pConfig->mcc_rts_cts_prot_enable;
8726 smeConfig->csrConfig.mcc_bcast_prob_resp_enable =
8727 pConfig->mcc_bcast_prob_resp_enable;
8728 smeConfig->csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
8729
8730 /* Scan Results Aging Time out value */
8731 smeConfig->csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
8732
Krunal Sonia2c0e412017-05-04 14:12:41 +05308733 smeConfig->csrConfig.enable_tx_ldpc = pConfig->enable_tx_ldpc;
8734 smeConfig->csrConfig.enable_rx_ldpc = pConfig->enable_rx_ldpc;
Krunal Soni158bfe62017-08-02 12:33:08 -07008735 smeConfig->csrConfig.disable_high_ht_mcs_2x2 =
8736 pConfig->disable_high_ht_mcs_2x2;
Kiran Kumar Lokere0e255172018-03-30 18:54:25 -07008737 smeConfig->csrConfig.enable_vht20_mcs9 = pConfig->enable_vht20_mcs9;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008738#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
8739 smeConfig->csrConfig.cc_switch_mode = pConfig->WlanMccToSccSwitchMode;
8740#endif
8741
Deepak Dhamdhere612392c2016-08-28 02:56:51 -07008742 smeConfig->csrConfig.max_amsdu_num = pConfig->max_amsdu_num;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008743 smeConfig->csrConfig.nSelect5GHzMargin = pConfig->nSelect5GHzMargin;
8744
8745 smeConfig->csrConfig.isCoalesingInIBSSAllowed =
Jeff Johnson723234b2017-09-03 08:49:15 -07008746 hdd_ctx->config->isCoalesingInIBSSAllowed;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008747 smeConfig->csrConfig.ignore_peer_erp_info =
8748 pConfig->ignore_peer_erp_info;
8749 /* update SSR config */
Jeff Johnson723234b2017-09-03 08:49:15 -07008750 sme_update_enable_ssr((tHalHandle) (hdd_ctx->hHal),
8751 hdd_ctx->config->enableSSR);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008752
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008753 /* Update maximum interfaces information */
Jeff Johnson723234b2017-09-03 08:49:15 -07008754 smeConfig->csrConfig.max_intf_count = hdd_ctx->max_intf_count;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008755
Jeff Johnson723234b2017-09-03 08:49:15 -07008756 smeConfig->csrConfig.fEnableDebugLog = hdd_ctx->config->gEnableDebugLog;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008757
Jeff Johnson723234b2017-09-03 08:49:15 -07008758 smeConfig->csrConfig.enable5gEBT = hdd_ctx->config->enable5gEBT;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008759
Krunal Soni1878d3a2016-01-14 13:00:44 -08008760 smeConfig->csrConfig.enableSelfRecovery =
Jeff Johnson723234b2017-09-03 08:49:15 -07008761 hdd_ctx->config->enableSelfRecovery;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008762#ifdef WLAN_FEATURE_ROAM_OFFLOAD
8763 smeConfig->csrConfig.isRoamOffloadEnabled =
Jeff Johnson723234b2017-09-03 08:49:15 -07008764 hdd_ctx->config->isRoamOffloadEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008765#endif
8766 smeConfig->csrConfig.conc_custom_rule1 =
Jeff Johnson723234b2017-09-03 08:49:15 -07008767 hdd_ctx->config->conc_custom_rule1;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008768 smeConfig->csrConfig.conc_custom_rule2 =
Jeff Johnson723234b2017-09-03 08:49:15 -07008769 hdd_ctx->config->conc_custom_rule2;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008770 smeConfig->csrConfig.is_sta_connection_in_5gz_enabled =
Jeff Johnson723234b2017-09-03 08:49:15 -07008771 hdd_ctx->config->is_sta_connection_in_5gz_enabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008772
Krunal Soni1878d3a2016-01-14 13:00:44 -08008773 smeConfig->csrConfig.f_sta_miracast_mcc_rest_time_val =
Jeff Johnson723234b2017-09-03 08:49:15 -07008774 hdd_ctx->config->sta_miracast_mcc_rest_time_val;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008775
8776#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
Krunal Soni1878d3a2016-01-14 13:00:44 -08008777 smeConfig->csrConfig.sap_channel_avoidance =
Jeff Johnson723234b2017-09-03 08:49:15 -07008778 hdd_ctx->config->sap_channel_avoidance;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008779#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
gaoleze5108942017-03-31 16:56:42 +08008780 smeConfig->csrConfig.acs_with_more_param =
Jeff Johnson723234b2017-09-03 08:49:15 -07008781 hdd_ctx->config->acs_with_more_param;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008782
Krunal Soni1878d3a2016-01-14 13:00:44 -08008783 smeConfig->csrConfig.f_prefer_non_dfs_on_radar =
Jeff Johnson723234b2017-09-03 08:49:15 -07008784 hdd_ctx->config->prefer_non_dfs_on_radar;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008785
Jeff Johnson723234b2017-09-03 08:49:15 -07008786 smeConfig->csrConfig.is_ps_enabled = hdd_ctx->config->is_ps_enabled;
Kiran Kumar Lokere0ac679c2016-11-17 17:43:36 -08008787 smeConfig->csrConfig.auto_bmps_timer_val =
Jeff Johnson723234b2017-09-03 08:49:15 -07008788 hdd_ctx->config->auto_bmps_timer_val;
Naveen Rawatd2657be2017-10-10 14:31:23 -07008789 hdd_set_fine_time_meas_cap(hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008790
Jeff Johnson723234b2017-09-03 08:49:15 -07008791 cds_set_multicast_logging(hdd_ctx->config->multicast_host_fw_msgs);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008792
Jeff Johnson1ad3fbd2017-11-03 08:00:02 -07008793 smeConfig->csrConfig.send_deauth_before_con =
8794 pConfig->send_deauth_before_con;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008795
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008796 smeConfig->csrConfig.max_scan_count =
Jeff Johnson723234b2017-09-03 08:49:15 -07008797 hdd_ctx->config->max_scan_count;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008798
8799 /* Update 802.11p config */
8800 smeConfig->csrConfig.enable_dot11p =
Jeff Johnson723234b2017-09-03 08:49:15 -07008801 (hdd_ctx->config->dot11p_mode != WLAN_HDD_11P_DISABLED);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008802
Krunal Soni1878d3a2016-01-14 13:00:44 -08008803 smeConfig->csrConfig.early_stop_scan_enable =
Jeff Johnson723234b2017-09-03 08:49:15 -07008804 hdd_ctx->config->early_stop_scan_enable;
Krunal Soni1878d3a2016-01-14 13:00:44 -08008805 smeConfig->csrConfig.early_stop_scan_min_threshold =
Jeff Johnson723234b2017-09-03 08:49:15 -07008806 hdd_ctx->config->early_stop_scan_min_threshold;
Krunal Soni1878d3a2016-01-14 13:00:44 -08008807 smeConfig->csrConfig.early_stop_scan_max_threshold =
Jeff Johnson723234b2017-09-03 08:49:15 -07008808 hdd_ctx->config->early_stop_scan_max_threshold;
Varun Reddy Yeturu044bda22015-11-21 22:03:40 -08008809 smeConfig->csrConfig.first_scan_bucket_threshold =
Jeff Johnson723234b2017-09-03 08:49:15 -07008810 hdd_ctx->config->first_scan_bucket_threshold;
Gupta, Kapilc68ad462016-02-01 19:17:23 +05308811
8812 smeConfig->csrConfig.roam_dense_rssi_thresh_offset =
Jeff Johnson723234b2017-09-03 08:49:15 -07008813 hdd_ctx->config->roam_dense_rssi_thresh_offset;
Gupta, Kapilc68ad462016-02-01 19:17:23 +05308814 smeConfig->csrConfig.roam_dense_min_aps =
Jeff Johnson723234b2017-09-03 08:49:15 -07008815 hdd_ctx->config->roam_dense_min_aps;
Gupta, Kapilc68ad462016-02-01 19:17:23 +05308816 smeConfig->csrConfig.roam_dense_traffic_thresh =
Jeff Johnson723234b2017-09-03 08:49:15 -07008817 hdd_ctx->config->roam_dense_traffic_thresh;
Varun Reddy Yeturufaad37e2017-07-26 10:54:13 -07008818 smeConfig->csrConfig.roam_bg_scan_bad_rssi_thresh =
8819 hdd_ctx->config->roam_bg_scan_bad_rssi_thresh;
8820 smeConfig->csrConfig.roam_bg_scan_client_bitmap =
8821 hdd_ctx->config->roam_bg_scan_client_bitmap;
Vignesh Viswanathanc018e982017-09-07 18:49:19 +05308822 smeConfig->csrConfig.roam_bad_rssi_thresh_offset_2g =
8823 hdd_ctx->config->roam_bad_rssi_thresh_offset_2g;
Abhinav Kumara083f212018-04-05 18:49:45 +05308824 smeConfig->csrConfig.ho_delay_for_rx =
8825 hdd_ctx->config->ho_delay_for_rx;
Abhinav Kumara95af7c2018-04-06 17:08:00 +05308826 smeConfig->csrConfig.min_delay_btw_roam_scans =
8827 hdd_ctx->config->min_delay_btw_roam_scans;
8828 smeConfig->csrConfig.roam_trigger_reason_bitmask =
8829 hdd_ctx->config->roam_trigger_reason_bitmask;
Sandeep Puligilla93a29ec2016-02-12 16:10:56 -08008830 smeConfig->csrConfig.obss_width_interval =
Jeff Johnson723234b2017-09-03 08:49:15 -07008831 hdd_ctx->config->obss_width_trigger_interval;
Sandeep Puligilla93a29ec2016-02-12 16:10:56 -08008832 smeConfig->csrConfig.obss_active_dwelltime =
Jeff Johnson723234b2017-09-03 08:49:15 -07008833 hdd_ctx->config->obss_active_dwelltime;
Sandeep Puligilla93a29ec2016-02-12 16:10:56 -08008834 smeConfig->csrConfig.obss_passive_dwelltime =
Jeff Johnson723234b2017-09-03 08:49:15 -07008835 hdd_ctx->config->obss_passive_dwelltime;
Abhishek Singh165bc602016-03-21 12:43:00 +05308836 smeConfig->csrConfig.ignore_peer_ht_opmode =
8837 pConfig->ignore_peer_ht_opmode;
Abhishek Singh5ea86532016-04-27 14:10:53 +05308838 smeConfig->csrConfig.enable_fatal_event =
8839 pConfig->enable_fatal_event;
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05308840 smeConfig->csrConfig.scan_adaptive_dwell_mode =
Jeff Johnson723234b2017-09-03 08:49:15 -07008841 hdd_ctx->config->scan_adaptive_dwell_mode;
Paul Zhang72697bd2017-12-20 09:24:25 +08008842 smeConfig->csrConfig.scan_adaptive_dwell_mode_nc =
8843 hdd_ctx->config->scan_adaptive_dwell_mode_nc;
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05308844 smeConfig->csrConfig.roamscan_adaptive_dwell_mode =
Jeff Johnson723234b2017-09-03 08:49:15 -07008845 hdd_ctx->config->roamscan_adaptive_dwell_mode;
Abhinav Kumar271f0632018-03-29 16:01:30 +05308846 smeConfig->csrConfig.enable_ftopen =
8847 hdd_ctx->config->enable_ftopen;
Gupta, Kapilc68ad462016-02-01 19:17:23 +05308848
Jeff Johnson723234b2017-09-03 08:49:15 -07008849 hdd_update_per_config_to_sme(hdd_ctx, smeConfig);
Kapil Gupta5cda2252016-12-29 18:44:26 +05308850
Abhishek Singh10ecf582016-05-04 17:48:59 +05308851 smeConfig->csrConfig.enable_edca_params =
8852 pConfig->enable_edca_params;
8853
8854 smeConfig->csrConfig.edca_vo_cwmin =
8855 pConfig->edca_vo_cwmin;
8856 smeConfig->csrConfig.edca_vi_cwmin =
8857 pConfig->edca_vi_cwmin;
8858 smeConfig->csrConfig.edca_bk_cwmin =
8859 pConfig->edca_bk_cwmin;
8860 smeConfig->csrConfig.edca_be_cwmin =
8861 pConfig->edca_be_cwmin;
8862
8863 smeConfig->csrConfig.edca_vo_cwmax =
8864 pConfig->edca_vo_cwmax;
8865 smeConfig->csrConfig.edca_vi_cwmax =
8866 pConfig->edca_vi_cwmax;
8867 smeConfig->csrConfig.edca_bk_cwmax =
8868 pConfig->edca_bk_cwmax;
8869 smeConfig->csrConfig.edca_be_cwmax =
8870 pConfig->edca_be_cwmax;
8871
8872 smeConfig->csrConfig.edca_vo_aifs =
8873 pConfig->edca_vo_aifs;
8874 smeConfig->csrConfig.edca_vi_aifs =
8875 pConfig->edca_vi_aifs;
8876 smeConfig->csrConfig.edca_bk_aifs =
8877 pConfig->edca_bk_aifs;
8878 smeConfig->csrConfig.edca_be_aifs =
8879 pConfig->edca_be_aifs;
Agrawal Ashish21ba2572016-09-03 16:40:10 +05308880 smeConfig->csrConfig.sta_roam_policy_params.dfs_mode =
8881 CSR_STA_ROAM_POLICY_DFS_ENABLED;
8882 smeConfig->csrConfig.sta_roam_policy_params.skip_unsafe_channels = 0;
Abhishek Singh10ecf582016-05-04 17:48:59 +05308883
Jeff Johnson723234b2017-09-03 08:49:15 -07008884 smeConfig->snr_monitor_enabled = hdd_ctx->config->fEnableSNRMonitoring;
Kapil Gupta4f0c0c12017-02-07 15:21:15 +05308885
Padma, Santhosh Kumara7119672016-08-16 16:05:14 +05308886 smeConfig->csrConfig.tx_aggregation_size =
Jeff Johnson723234b2017-09-03 08:49:15 -07008887 hdd_ctx->config->tx_aggregation_size;
Padma, Santhosh Kumara7119672016-08-16 16:05:14 +05308888 smeConfig->csrConfig.rx_aggregation_size =
Jeff Johnson723234b2017-09-03 08:49:15 -07008889 hdd_ctx->config->rx_aggregation_size;
Selvaraj, Sridhar4f684bb2017-01-19 15:59:23 +05308890 smeConfig->csrConfig.enable_bcast_probe_rsp =
Jeff Johnson723234b2017-09-03 08:49:15 -07008891 hdd_ctx->config->enable_bcast_probe_rsp;
Vignesh Viswanathan32761e42017-09-25 17:10:54 +05308892 smeConfig->csrConfig.is_fils_enabled =
8893 hdd_ctx->config->is_fils_enabled;
Selvaraj, Sridhara521aab2017-03-25 16:42:34 +05308894 smeConfig->csrConfig.qcn_ie_support =
Jeff Johnson723234b2017-09-03 08:49:15 -07008895 hdd_ctx->config->qcn_ie_support;
Selvaraj, Sridhar97ce6582017-01-20 17:06:34 +05308896 smeConfig->csrConfig.fils_max_chan_guard_time =
Jeff Johnson723234b2017-09-03 08:49:15 -07008897 hdd_ctx->config->fils_max_chan_guard_time;
Padma, Santhosh Kumara7119672016-08-16 16:05:14 +05308898
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08008899 hdd_he_set_sme_config(smeConfig, pConfig);
8900
Paul Zhang99fe8842017-12-08 14:43:46 +08008901 smeConfig->csrConfig.wlm_latency_enable =
8902 hdd_ctx->config->wlm_latency_enable;
8903 smeConfig->csrConfig.wlm_latency_level =
8904 hdd_ctx->config->wlm_latency_level;
8905 smeConfig->csrConfig.wlm_latency_flags[0] =
8906 hdd_ctx->config->wlm_latency_flags_normal;
8907 smeConfig->csrConfig.wlm_latency_flags[1] =
8908 hdd_ctx->config->wlm_latency_flags_moderate;
8909 smeConfig->csrConfig.wlm_latency_flags[2] =
8910 hdd_ctx->config->wlm_latency_flags_low;
8911 smeConfig->csrConfig.wlm_latency_flags[3] =
8912 hdd_ctx->config->wlm_latency_flags_ultralow;
8913
Naveen Rawat2b6e3c92017-03-20 13:59:07 -07008914 smeConfig->csrConfig.pkt_err_disconn_th =
Jeff Johnson723234b2017-09-03 08:49:15 -07008915 hdd_ctx->config->pkt_err_disconn_th;
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05308916 smeConfig->csrConfig.disallow_duration =
Jeff Johnson723234b2017-09-03 08:49:15 -07008917 hdd_ctx->config->disallow_duration;
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05308918 smeConfig->csrConfig.rssi_channel_penalization =
Jeff Johnson723234b2017-09-03 08:49:15 -07008919 hdd_ctx->config->rssi_channel_penalization;
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05308920 smeConfig->csrConfig.num_disallowed_aps =
Jeff Johnson723234b2017-09-03 08:49:15 -07008921 hdd_ctx->config->num_disallowed_aps;
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05308922
Naveen Rawatb2fc4132017-05-10 20:42:05 -07008923 smeConfig->csrConfig.is_force_1x1 =
Jeff Johnson723234b2017-09-03 08:49:15 -07008924 hdd_ctx->config->is_force_1x1;
Naveen Rawat247a8682017-06-05 15:00:31 -07008925 smeConfig->csrConfig.num_11b_tx_chains =
Jeff Johnson723234b2017-09-03 08:49:15 -07008926 hdd_ctx->config->num_11b_tx_chains;
Naveen Rawat247a8682017-06-05 15:00:31 -07008927 smeConfig->csrConfig.num_11ag_tx_chains =
Jeff Johnson723234b2017-09-03 08:49:15 -07008928 hdd_ctx->config->num_11ag_tx_chains;
Yeshwanth Sriram Guntuka2ba6fe92017-10-04 14:40:45 +05308929 val = (pConfig->oce_probe_req_rate_enabled *
8930 WMI_VDEV_OCE_PROBE_REQUEST_RATE_FEATURE_BITMAP) +
8931 (pConfig->oce_probe_resp_rate_enabled *
8932 WMI_VDEV_OCE_PROBE_RESPONSE_RATE_FEATURE_BITMAP) +
8933 (pConfig->oce_beacon_rate_enabled *
8934 WMI_VDEV_OCE_BEACON_RATE_FEATURE_BITMAP) +
8935 (pConfig->probe_req_deferral_enabled *
8936 WMI_VDEV_OCE_PROBE_REQUEST_DEFERRAL_FEATURE_BITMAP) +
8937 (pConfig->fils_discovery_sap_enabled *
8938 WMI_VDEV_OCE_FILS_DISCOVERY_FRAME_FEATURE_BITMAP) +
8939 (pConfig->esp_for_roam_enabled *
8940 WMI_VDEV_OCE_ESP_FEATURE_BITMAP) +
8941 (pConfig->rssi_assoc_reject_enabled *
8942 WMI_VDEV_OCE_REASSOC_REJECT_FEATURE_BITMAP);
8943 smeConfig->csrConfig.oce_feature_bitmap = val;
Vignesh Viswanathan9dd88d32017-11-22 14:22:03 +05308944 smeConfig->csrConfig.mbo_thresholds.mbo_candidate_rssi_thres =
8945 hdd_ctx->config->mbo_candidate_rssi_thres;
8946 smeConfig->csrConfig.mbo_thresholds.mbo_current_rssi_thres =
8947 hdd_ctx->config->mbo_current_rssi_thres;
8948 smeConfig->csrConfig.mbo_thresholds.mbo_current_rssi_mcc_thres =
8949 hdd_ctx->config->mbo_current_rssi_mcc_thres;
8950 smeConfig->csrConfig.mbo_thresholds.mbo_candidate_rssi_btc_thres =
8951 hdd_ctx->config->mbo_candidate_rssi_btc_thres;
Jiachao Wu84bb2ea2018-01-08 16:17:33 +08008952 smeConfig->csrConfig.btm_offload_config =
8953 hdd_ctx->config->btm_offload_config;
8954 smeConfig->csrConfig.btm_solicited_timeout =
8955 hdd_ctx->config->btm_solicited_timeout;
8956 smeConfig->csrConfig.btm_max_attempt_cnt =
8957 hdd_ctx->config->btm_max_attempt_cnt;
8958 smeConfig->csrConfig.btm_sticky_time =
8959 hdd_ctx->config->btm_sticky_time;
Himanshu Agarwal8bcec572017-09-28 11:54:37 +05308960 hdd_update_bss_score_params(hdd_ctx->config,
8961 &smeConfig->csrConfig.bss_score_params);
8962
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05308963 hdd_update_11k_offload_params(hdd_ctx->config,
8964 &smeConfig->csrConfig);
8965
Jeff Johnson723234b2017-09-03 08:49:15 -07008966 status = sme_update_config(hdd_ctx->hHal, smeConfig);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07008967 if (!QDF_IS_STATUS_SUCCESS(status))
8968 hdd_err("sme_update_config() failure: %d", status);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008969
Anurag Chouhan600c3a02016-03-01 10:33:54 +05308970 qdf_mem_free(smeConfig);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008971 return status;
8972}
8973
8974/**
8975 * hdd_execute_global_config_command() - execute the global config command
Jeff Johnson723234b2017-09-03 08:49:15 -07008976 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008977 * @command: the command to run
8978 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308979 * Return: the QDF_STATUS return from hdd_execute_config_command
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008980 */
Jeff Johnson723234b2017-09-03 08:49:15 -07008981QDF_STATUS hdd_execute_global_config_command(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008982 char *command)
8983{
8984 return hdd_execute_config_command(g_registry_table,
8985 ARRAY_SIZE(g_registry_table),
Jeff Johnson723234b2017-09-03 08:49:15 -07008986 (uint8_t *) hdd_ctx->config,
8987 hdd_ctx, command);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008988}
8989
8990/**
8991 * hdd_cfg_get_global_config() - get the configuration table
Jeff Johnson723234b2017-09-03 08:49:15 -07008992 * @hdd_ctx: pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008993 * @pBuf: buffer to store the configuration
8994 * @buflen: size of the buffer
8995 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308996 * Return: QDF_STATUS_SUCCESS if the configuration and buffer size can carry
8997 * the content, otherwise QDF_STATUS_E_RESOURCES
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008998 */
Jeff Johnson723234b2017-09-03 08:49:15 -07008999QDF_STATUS hdd_cfg_get_global_config(struct hdd_context *hdd_ctx, char *pBuf,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009000 int buflen)
9001{
9002 return hdd_cfg_get_config(g_registry_table,
9003 ARRAY_SIZE(g_registry_table),
Jeff Johnson723234b2017-09-03 08:49:15 -07009004 (uint8_t *) hdd_ctx->config, hdd_ctx, pBuf,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009005 buflen);
9006}
9007
9008/**
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08009009 * hdd_get_pmkid_modes() - returns PMKID mode bits
Jeff Johnson723234b2017-09-03 08:49:15 -07009010 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009011 *
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08009012 * Return: value of pmkid_modes
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009013 */
Jeff Johnson723234b2017-09-03 08:49:15 -07009014void hdd_get_pmkid_modes(struct hdd_context *hdd_ctx,
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08009015 struct pmkid_mode_bits *pmkid_modes)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009016{
Jeff Johnson723234b2017-09-03 08:49:15 -07009017 pmkid_modes->fw_okc = (hdd_ctx->config->pmkid_modes &
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08009018 CFG_PMKID_MODES_OKC) ? 1 : 0;
Jeff Johnson723234b2017-09-03 08:49:15 -07009019 pmkid_modes->fw_pmksa_cache = (hdd_ctx->config->pmkid_modes &
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08009020 CFG_PMKID_MODES_PMKSA_CACHING) ? 1 : 0;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009021}
9022
Jeff Johnsonb6909be2017-08-28 12:07:19 -07009023bool hdd_validate_prb_req_ie_bitmap(struct hdd_context *hdd_ctx)
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05309024{
9025 if (!(hdd_ctx->config->probe_req_ie_bitmap_0 ||
9026 hdd_ctx->config->probe_req_ie_bitmap_1 ||
9027 hdd_ctx->config->probe_req_ie_bitmap_2 ||
9028 hdd_ctx->config->probe_req_ie_bitmap_3 ||
9029 hdd_ctx->config->probe_req_ie_bitmap_4 ||
9030 hdd_ctx->config->probe_req_ie_bitmap_5 ||
9031 hdd_ctx->config->probe_req_ie_bitmap_6 ||
9032 hdd_ctx->config->probe_req_ie_bitmap_7))
9033 return false;
9034
9035 /*
9036 * check whether vendor oui IE is set and OUIs are present, each OUI
9037 * is entered in the form of string of 8 characters from ini, therefore,
9038 * for atleast one OUI, minimum length is 8 and hence this string length
9039 * is checked for minimum of 8
9040 */
9041 if ((hdd_ctx->config->probe_req_ie_bitmap_6 &
9042 VENDOR_SPECIFIC_IE_BITMAP) &&
9043 (strlen(hdd_ctx->config->probe_req_ouis) < 8))
9044 return false;
9045
9046 /* check whether vendor oui IE is not set but OUIs are present */
9047 if (!(hdd_ctx->config->probe_req_ie_bitmap_6 &
9048 VENDOR_SPECIFIC_IE_BITMAP) &&
9049 (strlen(hdd_ctx->config->probe_req_ouis) > 0))
9050 return false;
9051
9052 return true;
9053}
9054
Jeff Johnsonb6909be2017-08-28 12:07:19 -07009055int hdd_parse_probe_req_ouis(struct hdd_context *hdd_ctx)
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05309056{
9057 uint32_t *voui = hdd_ctx->config->probe_req_voui;
9058 char *str;
9059 uint8_t *token;
9060 uint32_t oui_indx = 0;
9061 int ret;
9062 uint32_t hex_value;
9063
9064 str = (char *)(hdd_ctx->config->probe_req_ouis);
9065 str[MAX_PRB_REQ_VENDOR_OUI_INI_LEN - 1] = '\0';
9066 hdd_ctx->config->no_of_probe_req_ouis = 0;
9067
9068 if (!strlen(str)) {
9069 hdd_info("NO OUIS to parse");
9070 return 0;
9071 }
9072
9073 token = strsep(&str, " ");
9074 while (token) {
9075 if (strlen(token) != 8)
9076 goto next_token;
9077
9078 ret = kstrtouint(token, 16, &hex_value);
9079 if (ret)
9080 goto next_token;
9081
9082 voui[oui_indx++] = cpu_to_be32(hex_value);
9083 if (oui_indx >= MAX_PROBE_REQ_OUIS)
9084 break;
9085
Jeff Johnson59eb5fd2017-10-05 09:42:39 -07009086next_token:
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05309087 token = strsep(&str, " ");
9088 }
9089
9090 if (!oui_indx)
9091 return -EINVAL;
9092
9093 hdd_ctx->config->no_of_probe_req_ouis = oui_indx;
9094
9095 return 0;
9096}
9097
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009098/**
9099 * hdd_update_nss() - Update the number of spatial streams supported.
9100 * Ensure that nss is either 1 or 2 before calling this.
9101 *
Kiran Kumar Lokere44a29432018-01-24 16:10:30 -08009102 * @adapter: the pointer to adapter
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009103 * @nss: the number of spatial streams to be updated
9104 *
9105 * This function is used to modify the number of spatial streams
9106 * supported when not in connected state.
9107 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309108 * Return: QDF_STATUS_SUCCESS if nss is correctly updated,
9109 * otherwise QDF_STATUS_E_FAILURE would be returned
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009110 */
Kiran Kumar Lokere44a29432018-01-24 16:10:30 -08009111QDF_STATUS hdd_update_nss(struct hdd_adapter *adapter, uint8_t nss)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009112{
Kiran Kumar Lokere44a29432018-01-24 16:10:30 -08009113 struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009114 struct hdd_config *hdd_config = hdd_ctx->config;
9115 uint32_t temp = 0;
9116 uint32_t rx_supp_data_rate, tx_supp_data_rate;
9117 bool status = true;
9118 tSirMacHTCapabilityInfo *ht_cap_info;
9119 uint8_t mcs_set[SIZE_OF_SUPPORTED_MCS_SET] = {0};
9120 uint8_t mcs_set_temp[SIZE_OF_SUPPORTED_MCS_SET];
Sandeep Puligilla98917432016-06-10 13:50:28 -07009121 uint32_t val, val32;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009122 uint16_t val16;
9123 uint8_t enable2x2;
9124
9125 if ((nss == 2) && (hdd_ctx->num_rf_chains != 2)) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009126 hdd_err("No support for 2 spatial streams");
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309127 return QDF_STATUS_E_INVAL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009128 }
9129
9130 enable2x2 = (nss == 1) ? 0 : 1;
9131
9132 if (hdd_config->enable2x2 == enable2x2) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07009133 hdd_debug("NSS same as requested");
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309134 return QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009135 }
9136
9137 if (true == sme_is_any_session_in_connected_state(hdd_ctx->hHal)) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009138 hdd_err("Connected sessions present, Do not change NSS");
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309139 return QDF_STATUS_E_INVAL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009140 }
9141
9142 hdd_config->enable2x2 = enable2x2;
9143
9144 if (!hdd_config->enable2x2) {
9145 /* 1x1 */
Kiran Kumar Lokere666bf852016-05-02 12:23:02 -07009146 rx_supp_data_rate = VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_1_1;
9147 tx_supp_data_rate = VHT_TX_HIGHEST_SUPPORTED_DATA_RATE_1_1;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009148 } else {
9149 /* 2x2 */
Kiran Kumar Lokere666bf852016-05-02 12:23:02 -07009150 rx_supp_data_rate = VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_2_2;
9151 tx_supp_data_rate = VHT_TX_HIGHEST_SUPPORTED_DATA_RATE_2_2;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009152 }
9153
9154 /* Update Rx Highest Long GI data Rate */
9155 if (sme_cfg_set_int(hdd_ctx->hHal,
9156 WNI_CFG_VHT_RX_HIGHEST_SUPPORTED_DATA_RATE,
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309157 rx_supp_data_rate) == QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009158 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009159 hdd_err("Could not pass on WNI_CFG_VHT_RX_HIGHEST_SUPPORTED_DATA_RATE to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009160 }
9161
9162 /* Update Tx Highest Long GI data Rate */
9163 if (sme_cfg_set_int(hdd_ctx->hHal,
9164 WNI_CFG_VHT_TX_HIGHEST_SUPPORTED_DATA_RATE,
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309165 tx_supp_data_rate) == QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009166 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009167 hdd_err("Could not pass on WNI_CFG_VHT_TX_HIGHEST_SUPPORTED_DATA_RATE to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009168 }
9169
9170 sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_HT_CAP_INFO, &temp);
9171 val16 = (uint16_t)temp;
9172 ht_cap_info = (tSirMacHTCapabilityInfo *)&val16;
Sandeep Puligilla98917432016-06-10 13:50:28 -07009173 if (!(hdd_ctx->ht_tx_stbc_supported && hdd_config->enable2x2)) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009174 ht_cap_info->txSTBC = 0;
Sandeep Puligilla98917432016-06-10 13:50:28 -07009175 } else {
9176 sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_VHT_TXSTBC, &val32);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07009177 hdd_debug("STBC %d", val32);
Sandeep Puligilla98917432016-06-10 13:50:28 -07009178 ht_cap_info->txSTBC = val32;
9179 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009180 temp = val16;
9181 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_HT_CAP_INFO,
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309182 temp) == QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009183 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009184 hdd_err("Could not pass on WNI_CFG_HT_CAP_INFO to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009185 }
9186
9187 sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
9188 temp = (temp & 0xFFFC) | hdd_config->vhtRxMCS;
9189 if (hdd_config->enable2x2)
9190 temp = (temp & 0xFFF3) | (hdd_config->vhtRxMCS2x2 << 2);
9191 else
9192 temp |= 0x000C;
9193
9194 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309195 temp) == QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009196 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009197 hdd_err("Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009198 }
9199
9200 sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
9201 temp = (temp & 0xFFFC) | hdd_config->vhtRxMCS;
9202 if (hdd_config->enable2x2)
9203 temp = (temp & 0xFFF3) | (hdd_config->vhtRxMCS2x2 << 2);
9204 else
9205 temp |= 0x000C;
9206
9207 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309208 temp) == QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009209 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009210 hdd_err("Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009211 }
9212
9213 sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
9214 temp = (temp & 0xFFFC) | hdd_config->vhtTxMCS;
9215 if (hdd_config->enable2x2)
9216 temp = (temp & 0xFFF3) | (hdd_config->vhtTxMCS2x2 << 2);
9217 else
9218 temp |= 0x000C;
9219
9220 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309221 temp) == QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009222 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009223 hdd_err("Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009224 }
9225
9226#define WLAN_HDD_RX_MCS_ALL_NSTREAM_RATES 0xff
9227 val = SIZE_OF_SUPPORTED_MCS_SET;
9228 sme_cfg_get_str(hdd_ctx->hHal, WNI_CFG_SUPPORTED_MCS_SET,
9229 mcs_set_temp, &val);
9230
9231 mcs_set[0] = mcs_set_temp[0];
9232 if (hdd_config->enable2x2)
9233 for (val = 0; val < nss; val++)
9234 mcs_set[val] = WLAN_HDD_RX_MCS_ALL_NSTREAM_RATES;
9235
9236 if (sme_cfg_set_str(hdd_ctx->hHal, WNI_CFG_SUPPORTED_MCS_SET,
9237 mcs_set,
9238 SIZE_OF_SUPPORTED_MCS_SET) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309239 QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009240 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009241 hdd_err("Could not pass on MCS SET to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009242 }
Kiran Kumar Lokere44a29432018-01-24 16:10:30 -08009243 sme_update_he_cap_nss(hdd_ctx->hHal, adapter->session_id, nss);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009244#undef WLAN_HDD_RX_MCS_ALL_NSTREAM_RATES
9245
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309246 if (QDF_STATUS_SUCCESS != sme_update_nss(hdd_ctx->hHal, nss))
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009247 status = false;
9248
Tushnim Bhattacharyya7e546692017-03-23 18:30:29 -07009249 hdd_set_policy_mgr_user_cfg(hdd_ctx);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309250 return (status == false) ? QDF_STATUS_E_FAILURE : QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009251}