blob: 68e44429f85940c8271e58742dc15fcd1db9b419 [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 *
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004 * Permission to use, copy, modify, and/or distribute this software for
5 * any purpose with or without fee is hereby granted, provided that the
6 * above copyright notice and this permission notice appear in all
7 * copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16 * PERFORMANCE OF THIS SOFTWARE.
17 */
18
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080019/**
20 * DOC: wlan_hdd_cfg.c
21 *
22 * WLAN Host Device Driver configuration interface implementation
23 */
24
25/* Include Files */
26
27#include <linux/firmware.h>
28#include <linux/string.h>
29#include <wlan_hdd_includes.h>
30#include <wlan_hdd_main.h>
31#include <wlan_hdd_assoc.h>
32#include <wlan_hdd_cfg.h>
33#include <linux/string.h>
Anurag Chouhan6d760662016-02-20 16:05:43 +053034#include <qdf_types.h>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080035#include <csr_api.h>
36#include <wlan_hdd_misc.h>
37#include <wlan_hdd_napi.h>
Tushnim Bhattacharyya9e81b4c2017-02-15 17:11:14 -080038#include <cds_api.h>
Krishna Kumaar Natarajan4f1d7722017-03-03 21:12:51 -080039#include "wlan_hdd_he.h"
Tushnim Bhattacharyya9028cc72017-03-09 13:10:49 -080040#include <wlan_policy_mgr_api.h>
Naveen Rawatd2657be2017-10-10 14:31:23 -070041#include "wifi_pos_api.h"
Jeff Johnsonc57c13a2018-04-01 11:03:29 -070042#include "wlan_hdd_green_ap.h"
43#include "wlan_hdd_green_ap_cfg.h"
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -070044#include "wlan_hdd_twt.h"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080045
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080046static void
Jeff Johnson723234b2017-09-03 08:49:15 -070047cb_notify_set_roam_prefer5_g_hz(struct hdd_context *hdd_ctx, unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080048{
Jeff Johnson723234b2017-09-03 08:49:15 -070049 sme_update_roam_prefer5_g_hz(hdd_ctx->hHal,
50 hdd_ctx->config->nRoamPrefer5GHz);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080051}
52
53static void
Jeff Johnson723234b2017-09-03 08:49:15 -070054cb_notify_set_roam_rssi_diff(struct hdd_context *hdd_ctx, unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080055{
Jeff Johnson723234b2017-09-03 08:49:15 -070056 sme_update_roam_rssi_diff(hdd_ctx->hHal,
57 0, hdd_ctx->config->RoamRssiDiff);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080058}
59
60static void
Jeff Johnson723234b2017-09-03 08:49:15 -070061cb_notify_set_fast_transition_enabled(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080062 unsigned long notifyId)
63{
Jeff Johnson723234b2017-09-03 08:49:15 -070064 sme_update_fast_transition_enabled(hdd_ctx->hHal,
65 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080066 isFastTransitionEnabled);
67}
68
69static void
Jeff Johnson723234b2017-09-03 08:49:15 -070070cb_notify_set_roam_intra_band(struct hdd_context *hdd_ctx, unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080071{
Jeff Johnson723234b2017-09-03 08:49:15 -070072 sme_set_roam_intra_band(hdd_ctx->hHal, hdd_ctx->config->nRoamIntraBand);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080073}
74
Jeff Johnson723234b2017-09-03 08:49:15 -070075static void cb_notify_set_wes_mode(struct hdd_context *hdd_ctx,
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -070076 unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080077{
Jeff Johnson723234b2017-09-03 08:49:15 -070078 sme_update_wes_mode(hdd_ctx->hHal,
79 hdd_ctx->config->isWESModeEnabled, 0);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080080}
81
82static void
Jeff Johnson723234b2017-09-03 08:49:15 -070083cb_notify_set_roam_scan_n_probes(struct hdd_context *hdd_ctx, unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080084{
Jeff Johnson723234b2017-09-03 08:49:15 -070085 sme_update_roam_scan_n_probes(hdd_ctx->hHal, 0,
86 hdd_ctx->config->nProbes);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080087}
88
89static void
Jeff Johnson723234b2017-09-03 08:49:15 -070090cb_notify_set_roam_scan_home_away_time(struct hdd_context *hdd_ctx,
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -070091 unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080092{
Jeff Johnson723234b2017-09-03 08:49:15 -070093 sme_update_roam_scan_home_away_time(hdd_ctx->hHal, 0,
94 hdd_ctx->config->nRoamScanHomeAwayTime,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080095 true);
96}
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080097
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080098static void
Jeff Johnson723234b2017-09-03 08:49:15 -070099notify_is_fast_roam_ini_feature_enabled(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800100 unsigned long notifyId)
101{
Jeff Johnson723234b2017-09-03 08:49:15 -0700102 sme_update_is_fast_roam_ini_feature_enabled(hdd_ctx->hHal, 0,
103 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800104 isFastRoamIniFeatureEnabled);
105}
106
107static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700108notify_is_mawc_ini_feature_enabled(struct hdd_context *hdd_ctx,
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -0700109 unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800110{
Jeff Johnson723234b2017-09-03 08:49:15 -0700111 sme_update_is_mawc_ini_feature_enabled(hdd_ctx->hHal,
112 hdd_ctx->config->MAWCEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800113}
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800114
115#ifdef FEATURE_WLAN_ESE
116static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700117cb_notify_set_ese_feature_enabled(struct hdd_context *hdd_ctx,
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -0700118 unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800119{
Jeff Johnson723234b2017-09-03 08:49:15 -0700120 sme_update_is_ese_feature_enabled(hdd_ctx->hHal, 0,
121 hdd_ctx->config->isEseIniFeatureEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800122}
123#endif
Jeff Johnson723234b2017-09-03 08:49:15 -0700124static void cb_notify_set_opportunistic_scan_threshold_diff(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800125 unsigned long notifyId)
126{
Jeff Johnson723234b2017-09-03 08:49:15 -0700127 sme_set_roam_opportunistic_scan_threshold_diff(hdd_ctx->hHal, 0,
128 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800129 nOpportunisticThresholdDiff);
130}
131
Jeff Johnson723234b2017-09-03 08:49:15 -0700132static void cb_notify_set_roam_rescan_rssi_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_rescan_rssi_diff(hdd_ctx->hHal,
136 0, hdd_ctx->config->nRoamRescanRssiDiff);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800137}
138
139static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700140cb_notify_set_neighbor_lookup_rssi_threshold(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_neighbor_lookup_rssi_threshold(hdd_ctx->hHal, 0,
144 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800145 nNeighborLookupRssiThreshold);
146}
147
148static void
Jeff Johnsonb6909be2017-08-28 12:07:19 -0700149cb_notify_set_delay_before_vdev_stop(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800150 unsigned long notify_id)
151{
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800152 sme_set_delay_before_vdev_stop(hdd_ctx->hHal, 0,
153 hdd_ctx->config->delay_before_vdev_stop);
154}
155
156static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700157cb_notify_set_neighbor_scan_period(struct hdd_context *hdd_ctx,
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -0700158 unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800159{
Jeff Johnson723234b2017-09-03 08:49:15 -0700160 sme_set_neighbor_scan_period(hdd_ctx->hHal, 0,
161 hdd_ctx->config->nNeighborScanPeriod);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800162}
163
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +0530164/*
165 * cb_notify_set_neighbor_scan_min_period() - configure min rest
166 * time during roaming scan
167 *
168 * @hdd_ctx: HDD context data structure
169 * @notify_id: Identifies 1 of the 4 parameters to be modified
170 *
171 * Picks up the value from hdd configuration and passes it to SME.
172 * Return: void
173 */
174static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700175cb_notify_set_neighbor_scan_min_period(struct hdd_context *hdd_ctx,
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +0530176 unsigned long notifyId)
177{
Jeff Johnson723234b2017-09-03 08:49:15 -0700178 sme_set_neighbor_scan_min_period(hdd_ctx->hHal, 0,
179 hdd_ctx->config->
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +0530180 neighbor_scan_min_period);
181}
182
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800183static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700184cb_notify_set_neighbor_results_refresh_period(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800185 unsigned long notifyId)
186{
Jeff Johnson723234b2017-09-03 08:49:15 -0700187 sme_set_neighbor_scan_refresh_period(hdd_ctx->hHal, 0,
188 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800189 nNeighborResultsRefreshPeriod);
190}
191
192static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700193cb_notify_set_empty_scan_refresh_period(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800194 unsigned long notifyId)
195{
Jeff Johnson723234b2017-09-03 08:49:15 -0700196 sme_update_empty_scan_refresh_period(hdd_ctx->hHal, 0,
197 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800198 nEmptyScanRefreshPeriod);
199}
200
201static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700202cb_notify_set_neighbor_scan_min_chan_time(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800203 unsigned long notifyId)
204{
Jeff Johnson723234b2017-09-03 08:49:15 -0700205 sme_set_neighbor_scan_min_chan_time(hdd_ctx->hHal,
206 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800207 nNeighborScanMinChanTime, 0);
208}
209
210static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700211cb_notify_set_neighbor_scan_max_chan_time(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800212 unsigned long notifyId)
213{
Jeff Johnson723234b2017-09-03 08:49:15 -0700214 sme_set_neighbor_scan_max_chan_time(hdd_ctx->hHal, 0,
215 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800216 nNeighborScanMaxChanTime);
217}
218
Jeff Johnson723234b2017-09-03 08:49:15 -0700219static void cb_notify_set_roam_bmiss_first_bcnt(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_roam_bmiss_first_bcnt(hdd_ctx->hHal,
223 0, hdd_ctx->config->nRoamBmissFirstBcnt);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800224}
225
Jeff Johnson723234b2017-09-03 08:49:15 -0700226static void cb_notify_set_roam_bmiss_final_bcnt(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800227 unsigned long notifyId)
228{
Jeff Johnson723234b2017-09-03 08:49:15 -0700229 sme_set_roam_bmiss_final_bcnt(hdd_ctx->hHal, 0,
230 hdd_ctx->config->nRoamBmissFinalBcnt);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800231}
232
Jeff Johnson723234b2017-09-03 08:49:15 -0700233static void cb_notify_set_roam_beacon_rssi_weight(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800234 unsigned long notifyId)
235{
Jeff Johnson723234b2017-09-03 08:49:15 -0700236 sme_set_roam_beacon_rssi_weight(hdd_ctx->hHal, 0,
237 hdd_ctx->config->nRoamBeaconRssiWeight);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800238}
239
240static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700241cb_notify_set_dfs_scan_mode(struct hdd_context *hdd_ctx, unsigned long notifyId)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800242{
Jeff Johnson723234b2017-09-03 08:49:15 -0700243 sme_update_dfs_scan_mode(hdd_ctx->hHal, 0,
244 hdd_ctx->config->allowDFSChannelRoam);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800245}
246
Jeff Johnson723234b2017-09-03 08:49:15 -0700247static void cb_notify_set_enable_ssr(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800248 unsigned long notifyId)
249{
Jeff Johnson723234b2017-09-03 08:49:15 -0700250 sme_update_enable_ssr(hdd_ctx->hHal, hdd_ctx->config->enableSSR);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800251}
252
Jeff Johnson723234b2017-09-03 08:49:15 -0700253static void cb_notify_set_g_sap_preferred_chan_location(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800254 unsigned long notifyId)
255{
Jeff Johnson723234b2017-09-03 08:49:15 -0700256 wlansap_set_dfs_preferred_channel_location(hdd_ctx->hHal,
257 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800258 gSapPreferredChanLocation);
259}
Jeff Johnson723234b2017-09-03 08:49:15 -0700260static void ch_notify_set_g_disable_dfs_japan_w53(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800261 unsigned long notifyId)
262{
Jeff Johnson723234b2017-09-03 08:49:15 -0700263 wlansap_set_dfs_restrict_japan_w53(hdd_ctx->hHal,
264 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800265 gDisableDfsJapanW53);
266}
267static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700268cb_notify_update_roam_scan_offload_enabled(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 sme_update_roam_scan_offload_enabled(hdd_ctx->hHal,
272 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800273 isRoamOffloadScanEnabled);
Jeff Johnson723234b2017-09-03 08:49:15 -0700274 if (0 == hdd_ctx->config->isRoamOffloadScanEnabled) {
275 hdd_ctx->config->bFastRoamInConIniFeatureEnabled = 0;
276 sme_update_enable_fast_roam_in_concurrency(hdd_ctx->hHal,
277 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800278 bFastRoamInConIniFeatureEnabled);
279 }
280}
281
282static void
Jeff Johnson723234b2017-09-03 08:49:15 -0700283cb_notify_set_enable_fast_roam_in_concurrency(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800284 unsigned long notifyId)
285{
Jeff Johnson723234b2017-09-03 08:49:15 -0700286 sme_update_enable_fast_roam_in_concurrency(hdd_ctx->hHal,
287 hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800288 bFastRoamInConIniFeatureEnabled);
289}
290
291/**
292 * cb_notify_set_roam_scan_hi_rssi_scan_params() - configure hi rssi
293 * scan params from cfg to sme.
294 * @hdd_ctx: HDD context data structure
295 * @notify_id: Identifies 1 of the 4 parameters to be modified
296 *
297 * Picks up the value from hdd configuration and passes it to SME.
298 * Return: void
299 */
300
301static void
Jeff Johnsonb6909be2017-08-28 12:07:19 -0700302cb_notify_set_roam_scan_hi_rssi_scan_params(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800303 unsigned long notify_id)
304{
305 int32_t val;
306
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -0700307 if (wlan_hdd_validate_context(hdd_ctx))
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800308 return;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800309
310 switch (notify_id) {
311 case eCSR_HI_RSSI_SCAN_MAXCOUNT_ID:
312 val = hdd_ctx->config->nhi_rssi_scan_max_count;
313 break;
314
315 case eCSR_HI_RSSI_SCAN_RSSI_DELTA_ID:
316 val = hdd_ctx->config->nhi_rssi_scan_rssi_delta;
317 break;
318
319 case eCSR_HI_RSSI_SCAN_DELAY_ID:
320 val = hdd_ctx->config->nhi_rssi_scan_delay;
321 break;
322
323 case eCSR_HI_RSSI_SCAN_RSSI_UB_ID:
324 val = hdd_ctx->config->nhi_rssi_scan_rssi_ub;
325 break;
326
327 default:
328 return;
329 }
330
331 sme_update_roam_scan_hi_rssi_scan_params(hdd_ctx->hHal, 0,
332 notify_id, val);
333}
334
335
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -0700336struct reg_table_entry g_registry_table[] = {
Alok Kumarb64650c2018-03-23 17:05:11 +0530337#ifdef WLAN_NUD_TRACKING
338 REG_VARIABLE(CFG_ENABLE_NUD_TRACKING_NAME, WLAN_PARAM_Integer,
339 struct hdd_config, enable_nud_tracking,
340 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
341 CFG_ENABLE_NUD_TRACKING_DEFAULT,
342 CFG_ENABLE_NUD_TRACKING_MIN,
343 CFG_ENABLE_NUD_TRACKING_MAX),
344#endif
345
Ashish Kumar Dhanotiya470af292017-05-31 20:46:00 +0530346 REG_VARIABLE(CFG_ENABLE_CONNECTED_SCAN_NAME, WLAN_PARAM_Integer,
347 struct hdd_config, enable_connected_scan,
348 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
349 CFG_ENABLE_CONNECTED_SCAN_DEFAULT,
350 CFG_ENABLE_CONNECTED_SCAN_MIN,
351 CFG_ENABLE_CONNECTED_SCAN_MAX),
352
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800353 REG_VARIABLE(CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
354 struct hdd_config, RTSThreshold,
355 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
356 CFG_RTS_THRESHOLD_DEFAULT,
357 CFG_RTS_THRESHOLD_MIN,
358 CFG_RTS_THRESHOLD_MAX),
359
360 REG_VARIABLE(CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
361 struct hdd_config, FragmentationThreshold,
362 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
363 CFG_FRAG_THRESHOLD_DEFAULT,
364 CFG_FRAG_THRESHOLD_MIN,
365 CFG_FRAG_THRESHOLD_MAX),
366
367 REG_VARIABLE(CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
368 struct hdd_config, OperatingChannel,
369 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
370 CFG_OPERATING_CHANNEL_DEFAULT,
371 CFG_OPERATING_CHANNEL_MIN,
372 CFG_OPERATING_CHANNEL_MAX),
373
374 REG_VARIABLE(CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
375 struct hdd_config, ShortSlotTimeEnabled,
376 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
377 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
378 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
379 CFG_SHORT_SLOT_TIME_ENABLED_MAX),
380
381 REG_VARIABLE(CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
382 struct hdd_config, Is11dSupportEnabled,
383 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
384 CFG_11D_SUPPORT_ENABLED_DEFAULT,
385 CFG_11D_SUPPORT_ENABLED_MIN,
386 CFG_11D_SUPPORT_ENABLED_MAX),
387
388 REG_VARIABLE(CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
389 struct hdd_config, Is11hSupportEnabled,
390 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
391 CFG_11H_SUPPORT_ENABLED_DEFAULT,
392 CFG_11H_SUPPORT_ENABLED_MIN,
393 CFG_11H_SUPPORT_ENABLED_MAX),
394
395 REG_VARIABLE(CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
396 struct hdd_config, fSupplicantCountryCodeHasPriority,
397 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
398 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
399 CFG_COUNTRY_CODE_PRIORITY_MIN,
400 CFG_COUNTRY_CODE_PRIORITY_MAX),
401
402 REG_VARIABLE(CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
403 struct hdd_config, HeartbeatThresh24,
404 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
405 CFG_HEARTBEAT_THRESH_24_DEFAULT,
406 CFG_HEARTBEAT_THRESH_24_MIN,
407 CFG_HEARTBEAT_THRESH_24_MAX),
408
409 REG_VARIABLE_STRING(CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
410 struct hdd_config, PowerUsageControl,
411 VAR_FLAGS_OPTIONAL,
412 (void *)CFG_POWER_USAGE_DEFAULT),
413
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800414 REG_VARIABLE(CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
415 struct hdd_config, fIsImpsEnabled,
416 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
417 CFG_ENABLE_IMPS_DEFAULT,
418 CFG_ENABLE_IMPS_MIN,
419 CFG_ENABLE_IMPS_MAX),
420
421 REG_VARIABLE(CFG_ENABLE_PS_NAME, WLAN_PARAM_Integer,
422 struct hdd_config, is_ps_enabled,
423 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
424 CFG_ENABLE_PS_DEFAULT,
425 CFG_ENABLE_PS_MIN,
426 CFG_ENABLE_PS_MAX),
427
Kiran Kumar Lokere0ac679c2016-11-17 17:43:36 -0800428 REG_VARIABLE(CFG_AUTO_PS_ENABLE_TIMER_NAME, WLAN_PARAM_Integer,
429 struct hdd_config, auto_bmps_timer_val,
430 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
431 CFG_AUTO_PS_ENABLE_TIMER_DEFAULT,
432 CFG_AUTO_PS_ENABLE_TIMER_MIN,
433 CFG_AUTO_PS_ENABLE_TIMER_MAX),
434
Zhu Jianmin04392c42017-05-12 16:34:53 +0800435#ifdef WLAN_ICMP_DISABLE_PS
436 REG_VARIABLE(CFG_ICMP_DISABLE_PS_NAME, WLAN_PARAM_Integer,
437 struct hdd_config, icmp_disable_ps_val,
438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
439 CFG_ICMP_DISABLE_PS_DEFAULT,
440 CFG_ICMP_DISABLE_PS_MIN,
441 CFG_ICMP_DISABLE_PS_MAX),
442#endif
443
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800444 REG_VARIABLE(CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
445 struct hdd_config, nBmpsMinListenInterval,
446 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
447 CFG_BMPS_MINIMUM_LI_DEFAULT,
448 CFG_BMPS_MINIMUM_LI_MIN,
449 CFG_BMPS_MINIMUM_LI_MAX),
450
451 REG_VARIABLE(CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
452 struct hdd_config, nBmpsMaxListenInterval,
453 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
454 CFG_BMPS_MAXIMUM_LI_DEFAULT,
455 CFG_BMPS_MAXIMUM_LI_MIN,
456 CFG_BMPS_MAXIMUM_LI_MAX),
457
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800458 REG_VARIABLE(CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
459 struct hdd_config, dot11Mode,
460 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
461 CFG_DOT11_MODE_DEFAULT,
462 CFG_DOT11_MODE_MIN,
463 CFG_DOT11_MODE_MAX),
464
465 REG_VARIABLE(CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
466 struct hdd_config, nChannelBondingMode24GHz,
467 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
468 CFG_CHANNEL_BONDING_MODE_DEFAULT,
469 CFG_CHANNEL_BONDING_MODE_MIN,
470 CFG_CHANNEL_BONDING_MODE_MAX),
471
Abhishek Singhb59f8d42017-07-31 14:42:47 +0530472 REG_VARIABLE(CFG_OVERRIDE_HT40_20_24GHZ_NAME, WLAN_PARAM_Integer,
473 struct hdd_config, override_ht20_40_24g,
474 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
475 CFG_OVERRIDE_HT40_20_24GHZ_DEFAULT,
476 CFG_OVERRIDE_HT40_20_24GHZ_MIN,
477 CFG_OVERRIDE_HT40_20_24GHZ_MAX),
478
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800479 REG_VARIABLE(CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
480 struct hdd_config, nChannelBondingMode5GHz,
481 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
482 CFG_CHANNEL_BONDING_MODE_DEFAULT,
483 CFG_CHANNEL_BONDING_MODE_MIN,
484 CFG_CHANNEL_BONDING_MODE_MAX),
485
486 REG_VARIABLE(CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
487 struct hdd_config, MaxRxAmpduFactor,
488 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
489 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
490 CFG_MAX_RX_AMPDU_FACTOR_MIN,
491 CFG_MAX_RX_AMPDU_FACTOR_MAX),
492
Krishna Kumaar Natarajan22b59a72015-11-23 18:54:58 -0800493 REG_VARIABLE(CFG_HT_MPDU_DENSITY_NAME, WLAN_PARAM_Integer,
494 struct hdd_config, ht_mpdu_density,
Jeff Johnson03294f12016-12-09 17:10:24 -0800495 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
Krishna Kumaar Natarajan22b59a72015-11-23 18:54:58 -0800496 CFG_HT_MPDU_DENSITY_DEFAULT,
497 CFG_HT_MPDU_DENSITY_MIN,
498 CFG_HT_MPDU_DENSITY_MAX),
499
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800500 REG_VARIABLE(CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
501 struct hdd_config, ShortGI20MhzEnable,
502 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
503 CFG_SHORT_GI_20MHZ_DEFAULT,
504 CFG_SHORT_GI_20MHZ_MIN,
505 CFG_SHORT_GI_20MHZ_MAX),
506
507 REG_VARIABLE(CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
508 struct hdd_config, ScanResultAgeCount,
509 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
510 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
511 CFG_SCAN_RESULT_AGE_COUNT_MIN,
512 CFG_SCAN_RESULT_AGE_COUNT_MAX),
513
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800514 REG_VARIABLE(CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
515 struct hdd_config, nRssiCatGap,
516 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
517 CFG_RSSI_CATEGORY_GAP_DEFAULT,
518 CFG_RSSI_CATEGORY_GAP_MIN,
519 CFG_RSSI_CATEGORY_GAP_MAX),
520
521 REG_VARIABLE(CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
522 struct hdd_config, fIsShortPreamble,
523 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
524 CFG_SHORT_PREAMBLE_DEFAULT,
525 CFG_SHORT_PREAMBLE_MIN,
526 CFG_SHORT_PREAMBLE_MAX),
527
528 REG_VARIABLE_STRING(CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
529 struct hdd_config, IbssBssid,
530 VAR_FLAGS_OPTIONAL,
531 (void *)CFG_IBSS_BSSID_DEFAULT),
532
533 REG_VARIABLE_STRING(CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
534 struct hdd_config, intfMacAddr[0],
535 VAR_FLAGS_OPTIONAL,
536 (void *)CFG_INTF0_MAC_ADDR_DEFAULT),
537
538 REG_VARIABLE_STRING(CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
539 struct hdd_config, intfMacAddr[1],
540 VAR_FLAGS_OPTIONAL,
541 (void *)CFG_INTF1_MAC_ADDR_DEFAULT),
542
543 REG_VARIABLE_STRING(CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
544 struct hdd_config, intfMacAddr[2],
545 VAR_FLAGS_OPTIONAL,
546 (void *)CFG_INTF2_MAC_ADDR_DEFAULT),
547
548 REG_VARIABLE_STRING(CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
549 struct hdd_config, intfMacAddr[3],
550 VAR_FLAGS_OPTIONAL,
551 (void *)CFG_INTF3_MAC_ADDR_DEFAULT),
552
553 REG_VARIABLE(CFG_AP_QOS_UAPSD_MODE_NAME, WLAN_PARAM_Integer,
554 struct hdd_config, apUapsdEnabled,
555 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
556 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
557 CFG_AP_QOS_UAPSD_MODE_MIN,
558 CFG_AP_QOS_UAPSD_MODE_MAX),
559
560
561 REG_VARIABLE(CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
562 struct hdd_config, apRandomBssidEnabled,
563 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
564 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
565 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
566 CFG_AP_ENABLE_RANDOM_BSSID_MAX),
567
568 REG_VARIABLE(CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
569 struct hdd_config, apProtEnabled,
570 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
571 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
572 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
573 CFG_AP_ENABLE_PROTECTION_MODE_MAX),
574
575 REG_VARIABLE(CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
576 struct hdd_config, apProtection,
577 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
578 CFG_AP_PROTECTION_MODE_DEFAULT,
579 CFG_AP_PROTECTION_MODE_MIN,
580 CFG_AP_PROTECTION_MODE_MAX),
581
582 REG_VARIABLE(CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
583 struct hdd_config, apOBSSProtEnabled,
584 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
585 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
586 CFG_AP_OBSS_PROTECTION_MODE_MIN,
587 CFG_AP_OBSS_PROTECTION_MODE_MAX),
588
589 REG_VARIABLE(CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
590 struct hdd_config, apDisableIntraBssFwd,
591 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
592 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
593 CFG_AP_STA_SECURITY_SEPERATION_MIN,
594 CFG_AP_STA_SECURITY_SEPERATION_MAX),
595
596 REG_VARIABLE(CFG_ENABLE_LTE_COEX, WLAN_PARAM_Integer,
597 struct hdd_config, enableLTECoex,
598 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
599 CFG_ENABLE_LTE_COEX_DEFAULT,
600 CFG_ENABLE_LTE_COEX_MIN,
601 CFG_ENABLE_LTE_COEX_MAX),
Agrawal Ashishbafaff12016-12-27 17:43:08 +0530602
Nachiket Kukade8983cf62017-10-12 18:14:48 +0530603 REG_VARIABLE(CFG_VC_MODE_BITMAP, WLAN_PARAM_HexInteger,
604 struct hdd_config, vc_mode_cfg_bitmap,
605 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
606 CFG_VC_MODE_BITMAP_DEFAULT,
607 CFG_VC_MODE_BITMAP_MIN,
608 CFG_VC_MODE_BITMAP_MAX),
609
Ganesh Kondabattini408fb8d2017-08-08 22:00:20 +0530610 REG_VARIABLE(CFG_ENABLE_SAP_MANDATORY_CHAN_LIST, WLAN_PARAM_Integer,
611 struct hdd_config, enable_sap_mandatory_chan_list,
612 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
613 CFG_ENABLE_SAP_MANDATORY_CHAN_LIST_DEFAULT,
614 CFG_ENABLE_SAP_MANDATORY_CHAN_LIST_MIN,
615 CFG_ENABLE_SAP_MANDATORY_CHAN_LIST_MAX),
616
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800617 REG_VARIABLE(CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
618 struct hdd_config, apKeepAlivePeriod,
619 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
620 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
621 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
622 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
623
624 REG_VARIABLE(CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
625 struct hdd_config, goKeepAlivePeriod,
626 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
627 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
628 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
629 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
630
631 REG_VARIABLE(CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
632 struct hdd_config, apLinkMonitorPeriod,
633 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
634 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
635 CFG_AP_LINK_MONITOR_PERIOD_MIN,
636 CFG_AP_LINK_MONITOR_PERIOD_MAX),
637
638 REG_VARIABLE(CFG_GO_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
639 struct hdd_config, goLinkMonitorPeriod,
640 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
641 CFG_GO_LINK_MONITOR_PERIOD_DEFAULT,
642 CFG_GO_LINK_MONITOR_PERIOD_MIN,
643 CFG_GO_LINK_MONITOR_PERIOD_MAX),
644
645 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER, WLAN_PARAM_Integer,
646 struct hdd_config, disablePacketFilter,
647 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
648 CFG_DISABLE_PACKET_FILTER_DEFAULT,
649 CFG_DISABLE_PACKET_FILTER_MIN,
650 CFG_DISABLE_PACKET_FILTER_MAX),
651
652 REG_VARIABLE(CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
653 struct hdd_config, nBeaconInterval,
654 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
655 CFG_BEACON_INTERVAL_DEFAULT,
656 CFG_BEACON_INTERVAL_MIN,
657 CFG_BEACON_INTERVAL_MAX),
658
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800659 REG_VARIABLE(CFG_VCC_RSSI_TRIGGER_NAME, WLAN_PARAM_Integer,
660 struct hdd_config, nVccRssiTrigger,
661 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
662 CFG_VCC_RSSI_TRIGGER_DEFAULT,
663 CFG_VCC_RSSI_TRIGGER_MIN,
664 CFG_VCC_RSSI_TRIGGER_MAX),
665
666 REG_VARIABLE(CFG_VCC_UL_MAC_LOSS_THRESH_NAME, WLAN_PARAM_Integer,
667 struct hdd_config, nVccUlMacLossThreshold,
668 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
669 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
670 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
671 CFG_VCC_UL_MAC_LOSS_THRESH_MAX),
672
673 REG_VARIABLE(CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
674 struct hdd_config, nPassiveMaxChnTime,
675 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
676 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
677 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
678 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX),
679
680 REG_VARIABLE(CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
681 struct hdd_config, nPassiveMinChnTime,
682 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
683 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
684 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
685 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX),
686
687 REG_VARIABLE(CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
688 struct hdd_config, nActiveMaxChnTime,
689 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
690 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
691 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
692 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX),
693
694 REG_VARIABLE(CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
695 struct hdd_config, nActiveMinChnTime,
696 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
697 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
698 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
699 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX),
700
Kiran Kumar Lokerea2dfefe2017-06-29 19:01:24 -0700701 REG_VARIABLE(CFG_SCAN_NUM_PROBES_NAME, WLAN_PARAM_Integer,
702 struct hdd_config, scan_num_probes,
703 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
704 CFG_SCAN_NUM_PROBES_DEFAULT,
705 CFG_SCAN_NUM_PROBES_MIN,
706 CFG_SCAN_NUM_PROBES_MAX),
707
708 REG_VARIABLE(CFG_SCAN_PROBE_REPEAT_TIME_NAME, WLAN_PARAM_Integer,
709 struct hdd_config, scan_probe_repeat_time,
710 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
711 CFG_SCAN_PROBE_REPEAT_TIME_DEFAULT,
712 CFG_SCAN_PROBE_REPEAT_TIME_MIN,
713 CFG_SCAN_PROBE_REPEAT_TIME_MAX),
714
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800715 REG_VARIABLE(CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
716 struct hdd_config, nPassiveMaxChnTimeConc,
717 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
718 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
719 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
720 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX),
721
722 REG_VARIABLE(CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
723 struct hdd_config, nPassiveMinChnTimeConc,
724 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
725 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
726 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
727 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX),
728
729 REG_VARIABLE(CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
730 struct hdd_config, nActiveMaxChnTimeConc,
731 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
732 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
733 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
734 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX),
735
736 REG_VARIABLE(CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
737 struct hdd_config, nActiveMinChnTimeConc,
738 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
739 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
740 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
741 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX),
742
743 REG_VARIABLE(CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
744 struct hdd_config, nRestTimeConc,
745 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
746 CFG_REST_TIME_CONC_DEFAULT,
747 CFG_REST_TIME_CONC_MIN,
748 CFG_REST_TIME_CONC_MAX),
749
Agrawal Ashish17bb3902016-05-05 13:29:40 +0530750 REG_VARIABLE(CFG_MIN_REST_TIME_NAME, WLAN_PARAM_Integer,
751 struct hdd_config, min_rest_time_conc,
752 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
753 CFG_MIN_REST_TIME_DEFAULT,
754 CFG_MIN_REST_TIME_MIN,
755 CFG_MIN_REST_TIME_MAX),
756
Jeff Johnson03294f12016-12-09 17:10:24 -0800757 REG_VARIABLE(CFG_IDLE_TIME_NAME, WLAN_PARAM_Integer,
Agrawal Ashish17bb3902016-05-05 13:29:40 +0530758 struct hdd_config, idle_time_conc,
759 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
760 CFG_IDLE_TIME_DEFAULT,
761 CFG_IDLE_TIME_MIN,
Jeff Johnson03294f12016-12-09 17:10:24 -0800762 CFG_IDLE_TIME_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800763
764 REG_VARIABLE(CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
765 struct hdd_config, nMaxPsPoll,
766 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
767 CFG_MAX_PS_POLL_DEFAULT,
768 CFG_MAX_PS_POLL_MIN,
769 CFG_MAX_PS_POLL_MAX),
770
771 REG_VARIABLE(CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
772 struct hdd_config, nTxPowerCap,
773 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
774 CFG_MAX_TX_POWER_DEFAULT,
775 CFG_MAX_TX_POWER_MIN,
776 CFG_MAX_TX_POWER_MAX),
777
Padma, Santhosh Kumar29df3622016-08-16 19:15:16 +0530778 REG_VARIABLE(CFG_TX_POWER_CTRL_NAME, WLAN_PARAM_Integer,
779 struct hdd_config, allow_tpc_from_ap,
780 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
781 CFG_TX_POWER_CTRL_DEFAULT,
782 CFG_TX_POWER_CTRL_MIN,
783 CFG_TX_POWER_CTRL_MAX),
784
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800785 REG_VARIABLE(CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
786 struct hdd_config, fMaxLIModulatedDTIM,
787 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
788 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
789 CFG_MAX_LI_MODULATED_DTIM_MIN,
790 CFG_MAX_LI_MODULATED_DTIM_MAX),
791
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800792 REG_VARIABLE(CFG_FW_MCC_RTS_CTS_PROT_NAME, WLAN_PARAM_Integer,
793 struct hdd_config, mcc_rts_cts_prot_enable,
794 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
795 CFG_FW_MCC_RTS_CTS_PROT_DEFAULT,
796 CFG_FW_MCC_RTS_CTS_PROT_MIN,
797 CFG_FW_MCC_RTS_CTS_PROT_MAX),
798
799 REG_VARIABLE(CFG_FW_MCC_BCAST_PROB_RESP_NAME, WLAN_PARAM_Integer,
800 struct hdd_config, mcc_bcast_prob_resp_enable,
801 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
802 CFG_FW_MCC_BCAST_PROB_RESP_DEFAULT,
803 CFG_FW_MCC_BCAST_PROB_RESP_MIN,
804 CFG_FW_MCC_BCAST_PROB_RESP_MAX),
805
806 REG_VARIABLE(CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
807 struct hdd_config, nDataInactivityTimeout,
808 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
809 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
810 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
811 CFG_DATA_INACTIVITY_TIMEOUT_MAX),
812
Mukul Sharmaed92f2f2017-04-20 00:06:28 +0530813 REG_VARIABLE(CFG_WOW_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
814 struct hdd_config, wow_data_inactivity_timeout,
815 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
816 CFG_WOW_DATA_INACTIVITY_TIMEOUT_DEFAULT,
817 CFG_WOW_DATA_INACTIVITY_TIMEOUT_MIN,
818 CFG_WOW_DATA_INACTIVITY_TIMEOUT_MAX),
819
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800820 REG_VARIABLE(CFG_QOS_WMM_MODE_NAME, WLAN_PARAM_Integer,
821 struct hdd_config, WmmMode,
822 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
823 CFG_QOS_WMM_MODE_DEFAULT,
824 CFG_QOS_WMM_MODE_MIN,
825 CFG_QOS_WMM_MODE_MAX),
826
827 REG_VARIABLE(CFG_QOS_WMM_80211E_ENABLED_NAME, WLAN_PARAM_Integer,
828 struct hdd_config, b80211eIsEnabled,
829 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
830 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
831 CFG_QOS_WMM_80211E_ENABLED_MIN,
832 CFG_QOS_WMM_80211E_ENABLED_MAX),
833
834 REG_VARIABLE(CFG_QOS_WMM_UAPSD_MASK_NAME, WLAN_PARAM_HexInteger,
835 struct hdd_config, UapsdMask,
836 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
837 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
838 CFG_QOS_WMM_UAPSD_MASK_MIN,
839 CFG_QOS_WMM_UAPSD_MASK_MAX),
840
841 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME,
842 WLAN_PARAM_Integer,
843 struct hdd_config, InfraUapsdVoSrvIntv,
844 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
845 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
846 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
847 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX),
848
849 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME,
850 WLAN_PARAM_Integer,
851 struct hdd_config, InfraUapsdVoSuspIntv,
852 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
853 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
854 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
855 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX),
856
857 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME,
858 WLAN_PARAM_Integer,
859 struct hdd_config, InfraUapsdViSrvIntv,
860 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
861 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
862 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
863 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX),
864
865 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME,
866 WLAN_PARAM_Integer,
867 struct hdd_config, InfraUapsdViSuspIntv,
868 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
869 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
870 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
871 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX),
872
873 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME,
874 WLAN_PARAM_Integer,
875 struct hdd_config, InfraUapsdBeSrvIntv,
876 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
877 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
878 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
879 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX),
880
881 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME,
882 WLAN_PARAM_Integer,
883 struct hdd_config, InfraUapsdBeSuspIntv,
884 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
885 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
886 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
887 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX),
888
889 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME,
890 WLAN_PARAM_Integer,
891 struct hdd_config, InfraUapsdBkSrvIntv,
892 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
893 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
894 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
895 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX),
896
897 REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME,
898 WLAN_PARAM_Integer,
899 struct hdd_config, InfraUapsdBkSuspIntv,
900 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
901 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
902 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
903 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX),
904
905#ifdef FEATURE_WLAN_ESE
906 REG_VARIABLE(CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME,
907 WLAN_PARAM_Integer,
908 struct hdd_config, InfraInactivityInterval,
909 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
910 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
911 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
912 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
913
914 REG_DYNAMIC_VARIABLE(CFG_ESE_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
915 struct hdd_config, isEseIniFeatureEnabled,
916 VAR_FLAGS_OPTIONAL |
917 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
918 CFG_ESE_FEATURE_ENABLED_DEFAULT,
919 CFG_ESE_FEATURE_ENABLED_MIN,
920 CFG_ESE_FEATURE_ENABLED_MAX,
921 cb_notify_set_ese_feature_enabled, 0),
922#endif /* FEATURE_WLAN_ESE */
923
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800924 /* flag to turn ON/OFF Legacy Fast Roaming */
925 REG_DYNAMIC_VARIABLE(CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
926 struct hdd_config, isFastRoamIniFeatureEnabled,
927 VAR_FLAGS_OPTIONAL |
928 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
929 CFG_LFR_FEATURE_ENABLED_DEFAULT,
930 CFG_LFR_FEATURE_ENABLED_MIN,
931 CFG_LFR_FEATURE_ENABLED_MAX,
932 notify_is_fast_roam_ini_feature_enabled, 0),
933
934 /* flag to turn ON/OFF Motion assistance for Legacy Fast Roaming */
935 REG_DYNAMIC_VARIABLE(CFG_LFR_MAWC_FEATURE_ENABLED_NAME,
936 WLAN_PARAM_Integer,
937 struct hdd_config, MAWCEnabled,
938 VAR_FLAGS_OPTIONAL |
939 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
940 CFG_LFR_MAWC_FEATURE_ENABLED_DEFAULT,
941 CFG_LFR_MAWC_FEATURE_ENABLED_MIN,
942 CFG_LFR_MAWC_FEATURE_ENABLED_MAX,
943 notify_is_mawc_ini_feature_enabled, 0),
944
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -0700945 REG_VARIABLE(CFG_MAWC_ROAM_ENABLED_NAME, WLAN_PARAM_Integer,
946 struct hdd_config, mawc_roam_enabled,
947 VAR_FLAGS_OPTIONAL |
948 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
949 CFG_MAWC_ROAM_ENABLED_DEFAULT,
950 CFG_MAWC_ROAM_ENABLED_MIN,
951 CFG_MAWC_ROAM_ENABLED_MAX),
952
953 REG_VARIABLE(CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_NAME, WLAN_PARAM_Integer,
954 struct hdd_config, mawc_roam_traffic_threshold,
955 VAR_FLAGS_OPTIONAL |
956 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
957 CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_DEFAULT,
958 CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_MIN,
959 CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_MAX),
960
961 REG_VARIABLE(CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_NAME,
962 WLAN_PARAM_SignedInteger, struct hdd_config,
963 mawc_roam_ap_rssi_threshold, VAR_FLAGS_OPTIONAL |
964 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
965 CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_DEFAULT,
966 CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_MIN,
967 CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_MAX),
968
969 REG_VARIABLE(CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_NAME, WLAN_PARAM_Integer,
970 struct hdd_config, mawc_roam_rssi_high_adjust,
971 VAR_FLAGS_OPTIONAL |
972 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
973 CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_DEFAULT,
974 CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_MIN,
975 CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_MAX),
976
977 REG_VARIABLE(CFG_MAWC_ROAM_RSSI_LOW_ADJUST_NAME, WLAN_PARAM_Integer,
978 struct hdd_config, mawc_roam_rssi_low_adjust,
979 VAR_FLAGS_OPTIONAL |
980 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
981 CFG_MAWC_ROAM_RSSI_LOW_ADJUST_DEFAULT,
982 CFG_MAWC_ROAM_RSSI_LOW_ADJUST_MIN,
983 CFG_MAWC_ROAM_RSSI_LOW_ADJUST_MAX),
984
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800985 /* flag to turn ON/OFF 11r and ESE FastTransition */
986 REG_DYNAMIC_VARIABLE(CFG_FAST_TRANSITION_ENABLED_NAME,
987 WLAN_PARAM_Integer,
988 struct hdd_config, isFastTransitionEnabled,
989 VAR_FLAGS_OPTIONAL |
990 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
991 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
992 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
993 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
994 cb_notify_set_fast_transition_enabled, 0),
995
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -0700996 /* Variable to specify the delta/difference between the
997 * RSSI of current AP and roamable AP while roaming
Jeff Johnson78d88a82017-01-12 09:50:54 -0800998 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800999 REG_DYNAMIC_VARIABLE(CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1000 struct hdd_config, RoamRssiDiff,
1001 VAR_FLAGS_OPTIONAL |
1002 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1003 CFG_ROAM_RSSI_DIFF_DEFAULT,
1004 CFG_ROAM_RSSI_DIFF_MIN,
1005 CFG_ROAM_RSSI_DIFF_MAX,
1006 cb_notify_set_roam_rssi_diff, 0),
1007
Abhishek Singh34c0e632017-09-28 14:39:29 +05301008 REG_VARIABLE(CFG_ROAM_RSSI_ABS_THRESHOLD_NAME, WLAN_PARAM_SignedInteger,
1009 struct hdd_config, rssi_abs_thresh,
1010 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1011 CFG_ROAM_RSSI_ABS_THRESHOLD_DEFAULT,
1012 CFG_ROAM_RSSI_ABS_THRESHOLD_MIN,
1013 CFG_ROAM_RSSI_ABS_THRESHOLD_MAX),
1014
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001015 REG_DYNAMIC_VARIABLE(CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1016 struct hdd_config, isWESModeEnabled,
1017 VAR_FLAGS_OPTIONAL |
1018 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1019 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1020 CFG_ENABLE_WES_MODE_NAME_MIN,
1021 CFG_ENABLE_WES_MODE_NAME_MAX,
1022 cb_notify_set_wes_mode, 0),
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08001023 REG_VARIABLE(CFG_PMKID_MODES_NAME, WLAN_PARAM_Integer,
1024 struct hdd_config, pmkid_modes,
Deepak Dhamdheref2a7d8b2016-08-19 16:17:38 -07001025 VAR_FLAGS_OPTIONAL |
1026 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08001027 CFG_PMKID_MODES_DEFAULT,
1028 CFG_PMKID_MODES_MIN,
1029 CFG_PMKID_MODES_MAX),
1030
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001031 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1032 struct hdd_config, isRoamOffloadScanEnabled,
1033 VAR_FLAGS_OPTIONAL |
1034 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1035 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1036 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1037 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1038 cb_notify_update_roam_scan_offload_enabled, 0),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001039
1040 REG_VARIABLE(CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME, WLAN_PARAM_Integer,
1041 struct hdd_config, InfraDirAcVo,
1042 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1043 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1044 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
1045 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX),
1046
1047 REG_VARIABLE(CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME,
1048 WLAN_PARAM_HexInteger,
1049 struct hdd_config, InfraNomMsduSizeAcVo,
1050 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1051 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1052 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
1053 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX),
1054
1055 REG_VARIABLE(CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME,
1056 WLAN_PARAM_HexInteger,
1057 struct hdd_config, InfraMeanDataRateAcVo,
1058 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1059 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1060 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
1061 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX),
1062
1063 REG_VARIABLE(CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME,
1064 WLAN_PARAM_HexInteger,
1065 struct hdd_config, InfraMinPhyRateAcVo,
1066 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1067 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1068 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
1069 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX),
1070
1071 REG_VARIABLE(CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME, WLAN_PARAM_HexInteger,
1072 struct hdd_config, InfraSbaAcVo,
1073 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1074 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1075 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
1076 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX),
1077
1078 REG_VARIABLE(CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME, WLAN_PARAM_Integer,
1079 struct hdd_config, InfraDirAcVi,
1080 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1081 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1082 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
1083 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX),
1084
1085 REG_VARIABLE(CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME,
1086 WLAN_PARAM_HexInteger,
1087 struct hdd_config, InfraNomMsduSizeAcVi,
1088 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1089 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1090 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
1091 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX),
1092
1093 REG_VARIABLE(CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME,
1094 WLAN_PARAM_HexInteger,
1095 struct hdd_config, InfraMeanDataRateAcVi,
1096 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1097 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1098 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
1099 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX),
1100
1101 REG_VARIABLE(CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME,
1102 WLAN_PARAM_HexInteger,
1103 struct hdd_config, InfraMinPhyRateAcVi,
1104 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1105 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1106 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
1107 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX),
1108
1109 REG_VARIABLE(CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME, WLAN_PARAM_HexInteger,
1110 struct hdd_config, InfraSbaAcVi,
1111 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1112 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1113 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
1114 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX),
1115
1116 REG_VARIABLE(CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME, WLAN_PARAM_Integer,
1117 struct hdd_config, InfraDirAcBe,
1118 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1119 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1120 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
1121 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX),
1122
1123 REG_VARIABLE(CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME,
1124 WLAN_PARAM_HexInteger,
1125 struct hdd_config, InfraNomMsduSizeAcBe,
1126 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1127 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1128 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
1129 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX),
1130
1131 REG_VARIABLE(CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME,
1132 WLAN_PARAM_HexInteger,
1133 struct hdd_config, InfraMeanDataRateAcBe,
1134 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1135 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1136 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
1137 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX),
1138
1139 REG_VARIABLE(CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME,
1140 WLAN_PARAM_HexInteger,
1141 struct hdd_config, InfraMinPhyRateAcBe,
1142 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1143 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1144 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
1145 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX),
1146
1147 REG_VARIABLE(CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME, WLAN_PARAM_HexInteger,
1148 struct hdd_config, InfraSbaAcBe,
1149 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1150 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1151 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
1152 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX),
1153
1154 REG_VARIABLE(CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME, WLAN_PARAM_Integer,
1155 struct hdd_config, InfraDirAcBk,
1156 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1157 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1158 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
1159 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX),
1160
1161 REG_VARIABLE(CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME,
1162 WLAN_PARAM_HexInteger,
1163 struct hdd_config, InfraNomMsduSizeAcBk,
1164 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1165 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1166 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
1167 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX),
1168
1169 REG_VARIABLE(CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME,
1170 WLAN_PARAM_HexInteger,
1171 struct hdd_config, InfraMeanDataRateAcBk,
1172 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1173 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1174 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
1175 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX),
1176
1177 REG_VARIABLE(CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME,
1178 WLAN_PARAM_HexInteger,
1179 struct hdd_config, InfraMinPhyRateAcBk,
1180 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1181 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1182 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
1183 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX),
1184
1185 REG_VARIABLE(CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME, WLAN_PARAM_HexInteger,
1186 struct hdd_config, InfraSbaAcBk,
1187 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1188 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1189 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
1190 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX),
1191
1192 REG_VARIABLE(CFG_TL_DELAYED_TRGR_FRM_INT_NAME, WLAN_PARAM_Integer,
1193 struct hdd_config, DelayedTriggerFrmInt,
1194 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1195 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1196 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
1197 CFG_TL_DELAYED_TRGR_FRM_INT_MAX),
1198
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001199 REG_VARIABLE(CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME, WLAN_PARAM_Integer,
1200 struct hdd_config, bImplicitQosEnabled,
1201 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1202 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1203 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
1204 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX),
1205
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001206#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
1207 REG_VARIABLE(CFG_WLAN_MCC_TO_SCC_SWITCH_MODE, WLAN_PARAM_Integer,
1208 struct hdd_config, WlanMccToSccSwitchMode,
1209 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1210 CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_DEFAULT,
1211 CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_MIN,
1212 CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_MAX),
1213#endif
1214#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
1215 REG_VARIABLE(CFG_WLAN_AUTO_SHUTDOWN, WLAN_PARAM_Integer,
1216 struct hdd_config, WlanAutoShutdown,
1217 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1218 CFG_WLAN_AUTO_SHUTDOWN_DEFAULT,
1219 CFG_WLAN_AUTO_SHUTDOWN_MIN,
1220 CFG_WLAN_AUTO_SHUTDOWN_MAX),
1221#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001222 REG_VARIABLE(CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
1223 struct hdd_config, fRrmEnable,
1224 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1225 CFG_RRM_ENABLE_DEFAULT,
1226 CFG_RRM_ENABLE_MIN,
1227 CFG_RRM_ENABLE_MAX),
1228
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001229 REG_VARIABLE(CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
1230 struct hdd_config, nRrmRandnIntvl,
1231 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1232 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1233 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
1234 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX),
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08001235
1236 REG_VARIABLE_STRING(CFG_RM_CAPABILITY_NAME, WLAN_PARAM_String,
1237 struct hdd_config, rm_capability,
1238 VAR_FLAGS_OPTIONAL,
1239 (void *) CFG_RM_CAPABILITY_DEFAULT),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001240
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001241 REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME,
1242 WLAN_PARAM_Integer,
1243 struct hdd_config, nNeighborScanPeriod,
1244 VAR_FLAGS_OPTIONAL |
1245 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1246 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1247 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
1248 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1249 cb_notify_set_neighbor_scan_period, 0),
1250
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +05301251 REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_SCAN_MIN_TIMER_PERIOD_NAME,
1252 WLAN_PARAM_Integer,
1253 struct hdd_config, neighbor_scan_min_period,
1254 VAR_FLAGS_OPTIONAL |
1255 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1256 CFG_NEIGHBOR_SCAN_MIN_TIMER_PERIOD_DEFAULT,
1257 CFG_NEIGHBOR_SCAN_MIN_TIMER_PERIOD_MIN,
1258 CFG_NEIGHBOR_SCAN_MIN_TIMER_PERIOD_MAX,
1259 cb_notify_set_neighbor_scan_min_period, 0),
1260
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001261 REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME,
1262 WLAN_PARAM_Integer,
1263 struct hdd_config, nNeighborLookupRssiThreshold,
1264 VAR_FLAGS_OPTIONAL |
1265 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1266 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1267 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
1268 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1269 cb_notify_set_neighbor_lookup_rssi_threshold, 0),
1270
Varun Reddy Yeturu168134f2017-06-26 13:46:05 -07001271 REG_VARIABLE(CFG_5G_RSSI_THRESHOLD_OFFSET_NAME,
1272 WLAN_PARAM_SignedInteger, struct hdd_config,
1273 rssi_thresh_offset_5g,
1274 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1275 CFG_5G_RSSI_THRESHOLD_OFFSET_DEFAULT,
1276 CFG_5G_RSSI_THRESHOLD_OFFSET_MIN,
1277 CFG_5G_RSSI_THRESHOLD_OFFSET_MAX),
1278
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001279 REG_DYNAMIC_VARIABLE(CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_NAME,
1280 WLAN_PARAM_Integer,
1281 struct hdd_config, nOpportunisticThresholdDiff,
1282 VAR_FLAGS_OPTIONAL |
1283 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1284 CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_DEFAULT,
1285 CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_MIN,
1286 CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_MAX,
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07001287 cb_notify_set_opportunistic_scan_threshold_diff,
1288 0),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001289
1290 REG_DYNAMIC_VARIABLE(CFG_ROAM_RESCAN_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1291 struct hdd_config, nRoamRescanRssiDiff,
1292 VAR_FLAGS_OPTIONAL |
1293 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1294 CFG_ROAM_RESCAN_RSSI_DIFF_DEFAULT,
1295 CFG_ROAM_RESCAN_RSSI_DIFF_MIN,
1296 CFG_ROAM_RESCAN_RSSI_DIFF_MAX,
1297 cb_notify_set_roam_rescan_rssi_diff, 0),
1298
1299 REG_VARIABLE_STRING(CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
1300 struct hdd_config, neighborScanChanList,
1301 VAR_FLAGS_OPTIONAL,
1302 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT),
1303
1304 REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME,
1305 WLAN_PARAM_Integer,
1306 struct hdd_config, nNeighborScanMinChanTime,
1307 VAR_FLAGS_OPTIONAL |
1308 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1309 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1310 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
1311 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1312 cb_notify_set_neighbor_scan_min_chan_time, 0),
1313
1314 REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME,
1315 WLAN_PARAM_Integer,
1316 struct hdd_config, nNeighborScanMaxChanTime,
1317 VAR_FLAGS_OPTIONAL |
1318 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1319 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1320 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
1321 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1322 cb_notify_set_neighbor_scan_max_chan_time, 0),
1323
1324 REG_VARIABLE(CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1325 struct hdd_config, nMaxNeighborReqTries,
1326 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1327 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1328 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1329 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1330
1331 REG_DYNAMIC_VARIABLE(CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME,
1332 WLAN_PARAM_Integer,
1333 struct hdd_config, nNeighborResultsRefreshPeriod,
1334 VAR_FLAGS_OPTIONAL |
1335 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1336 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1337 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
1338 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1339 cb_notify_set_neighbor_results_refresh_period, 0),
1340
1341 REG_DYNAMIC_VARIABLE(CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME,
1342 WLAN_PARAM_Integer,
1343 struct hdd_config, nEmptyScanRefreshPeriod,
1344 VAR_FLAGS_OPTIONAL |
1345 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1346 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1347 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1348 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1349 cb_notify_set_empty_scan_refresh_period, 0),
1350
1351 REG_DYNAMIC_VARIABLE(CFG_ROAM_BMISS_FIRST_BCNT_NAME, WLAN_PARAM_Integer,
1352 struct hdd_config, nRoamBmissFirstBcnt,
1353 VAR_FLAGS_OPTIONAL |
1354 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1355 CFG_ROAM_BMISS_FIRST_BCNT_DEFAULT,
1356 CFG_ROAM_BMISS_FIRST_BCNT_MIN,
1357 CFG_ROAM_BMISS_FIRST_BCNT_MAX,
1358 cb_notify_set_roam_bmiss_first_bcnt, 0),
1359
1360 REG_DYNAMIC_VARIABLE(CFG_ROAM_BMISS_FINAL_BCNT_NAME, WLAN_PARAM_Integer,
1361 struct hdd_config, nRoamBmissFinalBcnt,
1362 VAR_FLAGS_OPTIONAL |
1363 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1364 CFG_ROAM_BMISS_FINAL_BCNT_DEFAULT,
1365 CFG_ROAM_BMISS_FINAL_BCNT_MIN,
1366 CFG_ROAM_BMISS_FINAL_BCNT_MAX,
1367 cb_notify_set_roam_bmiss_final_bcnt, 0),
1368
1369 REG_DYNAMIC_VARIABLE(CFG_ROAM_BEACON_RSSI_WEIGHT_NAME,
1370 WLAN_PARAM_Integer,
1371 struct hdd_config, nRoamBeaconRssiWeight,
1372 VAR_FLAGS_OPTIONAL |
1373 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1374 CFG_ROAM_BEACON_RSSI_WEIGHT_DEFAULT,
1375 CFG_ROAM_BEACON_RSSI_WEIGHT_MIN,
1376 CFG_ROAM_BEACON_RSSI_WEIGHT_MAX,
1377 cb_notify_set_roam_beacon_rssi_weight, 0),
1378
1379 REG_DYNAMIC_VARIABLE(CFG_ROAMING_DFS_CHANNEL_NAME, WLAN_PARAM_Integer,
1380 struct hdd_config, allowDFSChannelRoam,
1381 VAR_FLAGS_OPTIONAL |
1382 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1383 CFG_ROAMING_DFS_CHANNEL_DEFAULT,
1384 CFG_ROAMING_DFS_CHANNEL_MIN,
1385 CFG_ROAMING_DFS_CHANNEL_MAX,
1386 cb_notify_set_dfs_scan_mode, 0),
1387
1388 REG_DYNAMIC_VARIABLE(CFG_DELAY_BEFORE_VDEV_STOP_NAME,
1389 WLAN_PARAM_Integer,
1390 struct hdd_config,
1391 delay_before_vdev_stop,
1392 VAR_FLAGS_OPTIONAL |
1393 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1394 CFG_DELAY_BEFORE_VDEV_STOP_DEFAULT,
1395 CFG_DELAY_BEFORE_VDEV_STOP_MIN,
1396 CFG_DELAY_BEFORE_VDEV_STOP_MAX,
1397 cb_notify_set_delay_before_vdev_stop,
1398 0),
1399
1400 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_NAME,
1401 WLAN_PARAM_Integer,
1402 struct hdd_config,
1403 nhi_rssi_scan_max_count,
1404 VAR_FLAGS_OPTIONAL |
1405 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1406 CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_DEFAULT,
1407 CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_MIN,
1408 CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_MAX,
1409 cb_notify_set_roam_scan_hi_rssi_scan_params,
1410 eCSR_HI_RSSI_SCAN_MAXCOUNT_ID),
1411
1412 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HI_RSSI_DELTA_NAME,
1413 WLAN_PARAM_Integer,
1414 struct hdd_config,
1415 nhi_rssi_scan_rssi_delta,
1416 VAR_FLAGS_OPTIONAL |
1417 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1418 CFG_ROAM_SCAN_HI_RSSI_DELTA_DEFAULT,
1419 CFG_ROAM_SCAN_HI_RSSI_DELTA_MIN,
1420 CFG_ROAM_SCAN_HI_RSSI_DELTA_MAX,
1421 cb_notify_set_roam_scan_hi_rssi_scan_params,
1422 eCSR_HI_RSSI_SCAN_RSSI_DELTA_ID),
1423
1424 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HI_RSSI_DELAY_NAME,
1425 WLAN_PARAM_Integer,
1426 struct hdd_config,
1427 nhi_rssi_scan_delay,
1428 VAR_FLAGS_OPTIONAL |
1429 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1430 CFG_ROAM_SCAN_HI_RSSI_DELAY_DEFAULT,
1431 CFG_ROAM_SCAN_HI_RSSI_DELAY_MIN,
1432 CFG_ROAM_SCAN_HI_RSSI_DELAY_MAX,
1433 cb_notify_set_roam_scan_hi_rssi_scan_params,
1434 eCSR_HI_RSSI_SCAN_DELAY_ID),
1435
1436 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HI_RSSI_UB_NAME,
1437 WLAN_PARAM_SignedInteger,
1438 struct hdd_config,
1439 nhi_rssi_scan_rssi_ub,
1440 VAR_FLAGS_OPTIONAL |
1441 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1442 CFG_ROAM_SCAN_HI_RSSI_UB_DEFAULT,
1443 CFG_ROAM_SCAN_HI_RSSI_UB_MIN,
1444 CFG_ROAM_SCAN_HI_RSSI_UB_MAX,
1445 cb_notify_set_roam_scan_hi_rssi_scan_params,
1446 eCSR_HI_RSSI_SCAN_RSSI_UB_ID),
1447
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001448 REG_VARIABLE(CFG_QOS_WMM_BURST_SIZE_DEFN_NAME, WLAN_PARAM_Integer,
1449 struct hdd_config, burstSizeDefinition,
1450 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1451 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1452 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
1453 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX),
1454
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001455 REG_VARIABLE(CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1456 struct hdd_config, fhostArpOffload,
1457 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1458 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1459 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1460 CFG_ENABLE_HOST_ARPOFFLOAD_MAX),
1461
Nachiket Kukadef0804072018-02-27 18:20:07 +05301462 REG_VARIABLE(CFG_HW_FILTER_MODE_BITMAP_NAME, WLAN_PARAM_Integer,
1463 struct hdd_config, hw_filter_mode_bitmap,
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05301464 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Nachiket Kukadef0804072018-02-27 18:20:07 +05301465 CFG_HW_FILTER_MODE_BITMAP_DEFAULT,
1466 CFG_HW_FILTER_MODE_BITMAP_MIN,
1467 CFG_HW_FILTER_MODE_BITMAP_MAX),
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05301468
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001469#ifdef FEATURE_WLAN_RA_FILTERING
1470 REG_VARIABLE(CFG_RA_FILTER_ENABLE_NAME, WLAN_PARAM_Integer,
1471 struct hdd_config, IsRArateLimitEnabled,
1472 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1473 CFG_RA_FILTER_ENABLE_DEFAULT,
1474 CFG_RA_FILTER_ENABLE_MIN,
1475 CFG_RA_FILTER_ENABLE_MAX),
1476
1477 REG_VARIABLE(CFG_RA_RATE_LIMIT_INTERVAL_NAME, WLAN_PARAM_Integer,
1478 struct hdd_config, RArateLimitInterval,
1479 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1480 CFG_RA_RATE_LIMIT_INTERVAL_DEFAULT,
1481 CFG_RA_RATE_LIMIT_INTERVAL_MIN,
1482 CFG_RA_RATE_LIMIT_INTERVAL_MAX),
1483#endif
1484
1485 REG_VARIABLE(CFG_IGNORE_PEER_ERP_INFO_NAME, WLAN_PARAM_Integer,
1486 struct hdd_config, ignore_peer_erp_info,
1487 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1488 CFG_IGNORE_PEER_ERP_INFO_DEFAULT,
1489 CFG_IGNORE_PEER_ERP_INFO_MIN,
1490 CFG_IGNORE_PEER_ERP_INFO_MAX),
1491
1492 REG_VARIABLE(CFG_ENABLE_HOST_SSDP_NAME, WLAN_PARAM_Integer,
1493 struct hdd_config, ssdp,
1494 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1495 CFG_ENABLE_HOST_SSDP_DEFAULT,
1496 CFG_ENABLE_HOST_SSDP_MIN,
1497 CFG_ENABLE_HOST_SSDP_MAX),
1498
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07001499#ifdef FEATURE_RUNTIME_PM
1500 REG_VARIABLE(CFG_ENABLE_RUNTIME_PM, WLAN_PARAM_Integer,
1501 struct hdd_config, runtime_pm,
1502 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1503 CFG_ENABLE_RUNTIME_PM_DEFAULT,
1504 CFG_ENABLE_RUNTIME_PM_MIN,
1505 CFG_ENABLE_RUNTIME_PM_MAX),
1506
1507 REG_VARIABLE(CFG_RUNTIME_PM_DELAY_NAME, WLAN_PARAM_Integer,
1508 struct hdd_config, runtime_pm_delay,
1509 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1510 CFG_RUNTIME_PM_DELAY_DEFAULT,
1511 CFG_RUNTIME_PM_DELAY_MIN,
1512 CFG_RUNTIME_PM_DELAY_MAX),
1513#endif
1514
1515
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001516 REG_VARIABLE(CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1517 struct hdd_config, fhostNSOffload,
1518 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1519 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1520 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1521 CFG_ENABLE_HOST_NSOFFLOAD_MAX),
1522
1523 REG_VARIABLE(CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME, WLAN_PARAM_HexInteger,
1524 struct hdd_config, tsInfoAckPolicy,
1525 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1526 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1527 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
1528 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX),
1529
1530 REG_VARIABLE(CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1531 struct hdd_config, bSingleTidRc,
1532 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1533 CFG_SINGLE_TID_RC_DEFAULT,
1534 CFG_SINGLE_TID_RC_MIN,
1535 CFG_SINGLE_TID_RC_MAX),
1536
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001537 REG_VARIABLE(CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1538 struct hdd_config, teleBcnWakeupEn,
1539 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1540 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1541 CFG_TELE_BCN_WAKEUP_EN_MIN,
1542 CFG_TELE_BCN_WAKEUP_EN_MAX),
1543
1544 REG_VARIABLE(CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1545 struct hdd_config, infraStaKeepAlivePeriod,
1546 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1547 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1548 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1549 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1550
Dustin Brownb6b0f182017-03-08 13:08:27 -08001551 REG_VARIABLE(CFG_STA_KEEPALIVE_METHOD_NAME, WLAN_PARAM_Integer,
1552 struct hdd_config, sta_keepalive_method,
1553 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1554 CFG_STA_KEEPALIVE_METHOD_DEFAULT,
1555 CFG_STA_KEEPALIVE_METHOD_MIN,
1556 CFG_STA_KEEPALIVE_METHOD_MAX),
1557
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001558 REG_VARIABLE(CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME, WLAN_PARAM_Integer,
1559 struct hdd_config, AddTSWhenACMIsOff,
1560 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1561 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1562 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
1563 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX),
1564
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001565 REG_VARIABLE(CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
1566 struct hdd_config, nBandCapability,
1567 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1568 CFG_BAND_CAPABILITY_DEFAULT,
1569 CFG_BAND_CAPABILITY_MIN,
1570 CFG_BAND_CAPABILITY_MAX),
1571
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301572/* CFG_QDF_TRACE_ENABLE Parameters */
1573 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
1574 struct hdd_config, qdf_trace_enable_wdi,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001575 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301576 CFG_QDF_TRACE_ENABLE_DEFAULT,
1577 CFG_QDF_TRACE_ENABLE_MIN,
1578 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001579
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301580 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
1581 struct hdd_config, qdf_trace_enable_hdd,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001582 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301583 CFG_QDF_TRACE_ENABLE_DEFAULT,
1584 CFG_QDF_TRACE_ENABLE_MIN,
1585 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001586
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301587 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_BMI_NAME, WLAN_PARAM_Integer,
1588 struct hdd_config, qdf_trace_enable_bmi,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001589 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301590 CFG_QDF_TRACE_ENABLE_DEFAULT,
1591 CFG_QDF_TRACE_ENABLE_MIN,
1592 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001593
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301594 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
1595 struct hdd_config, qdf_trace_enable_sme,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001596 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301597 CFG_QDF_TRACE_ENABLE_DEFAULT,
1598 CFG_QDF_TRACE_ENABLE_MIN,
1599 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001600
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301601 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
1602 struct hdd_config, qdf_trace_enable_pe,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001603 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301604 CFG_QDF_TRACE_ENABLE_DEFAULT,
1605 CFG_QDF_TRACE_ENABLE_MIN,
1606 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001607
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301608 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_WMA_NAME, WLAN_PARAM_Integer,
1609 struct hdd_config, qdf_trace_enable_wma,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001610 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301611 CFG_QDF_TRACE_ENABLE_DEFAULT,
1612 CFG_QDF_TRACE_ENABLE_MIN,
1613 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001614
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301615 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
1616 struct hdd_config, qdf_trace_enable_sys,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001617 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301618 CFG_QDF_TRACE_ENABLE_DEFAULT,
1619 CFG_QDF_TRACE_ENABLE_MIN,
1620 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001621
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301622 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_QDF_NAME, WLAN_PARAM_Integer,
1623 struct hdd_config, qdf_trace_enable_qdf,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001624 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301625 CFG_QDF_TRACE_ENABLE_DEFAULT,
1626 CFG_QDF_TRACE_ENABLE_MIN,
1627 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001628
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301629 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
1630 struct hdd_config, qdf_trace_enable_sap,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001631 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301632 CFG_QDF_TRACE_ENABLE_DEFAULT,
1633 CFG_QDF_TRACE_ENABLE_MIN,
1634 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001635
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301636 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
1637 struct hdd_config, qdf_trace_enable_hdd_sap,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001638 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301639 CFG_QDF_TRACE_ENABLE_DEFAULT,
1640 CFG_QDF_TRACE_ENABLE_MIN,
1641 CFG_QDF_TRACE_ENABLE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001642
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301643 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_CFG_NAME, WLAN_PARAM_Integer,
1644 struct hdd_config, qdf_trace_enable_cfg,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301645 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301646 CFG_QDF_TRACE_ENABLE_DEFAULT,
1647 CFG_QDF_TRACE_ENABLE_MIN,
1648 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301649
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301650 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_TXRX_NAME, WLAN_PARAM_Integer,
Houston Hoffmanfbf05102017-08-28 11:37:01 -07001651 struct hdd_config, qdf_trace_enable_txrx,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301652 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301653 CFG_QDF_TRACE_ENABLE_DEFAULT,
1654 CFG_QDF_TRACE_ENABLE_MIN,
1655 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301656
Houston Hoffmanfbf05102017-08-28 11:37:01 -07001657 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_DP_NAME, WLAN_PARAM_Integer,
1658 struct hdd_config, qdf_trace_enable_dp,
1659 VAR_FLAGS_OPTIONAL,
1660 CFG_QDF_TRACE_ENABLE_DP_DEFAULT,
1661 CFG_QDF_TRACE_ENABLE_MIN,
1662 CFG_QDF_TRACE_ENABLE_MAX),
1663
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301664 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_HTC_NAME, WLAN_PARAM_Integer,
1665 struct hdd_config, qdf_trace_enable_htc,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301666 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301667 CFG_QDF_TRACE_ENABLE_DEFAULT,
1668 CFG_QDF_TRACE_ENABLE_MIN,
1669 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301670
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301671 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_HIF_NAME, WLAN_PARAM_Integer,
1672 struct hdd_config, qdf_trace_enable_hif,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301673 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301674 CFG_QDF_TRACE_ENABLE_DEFAULT,
1675 CFG_QDF_TRACE_ENABLE_MIN,
1676 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301677
1678 REG_VARIABLE(CFG_CDR_TRACE_ENABLE_HDD_SAP_DATA_NAME, WLAN_PARAM_Integer,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301679 struct hdd_config, qdf_trace_enable_hdd_sap_data,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301680 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301681 CFG_QDF_TRACE_ENABLE_DEFAULT,
1682 CFG_QDF_TRACE_ENABLE_MIN,
1683 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301684
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301685 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_HDD_DATA_NAME, WLAN_PARAM_Integer,
1686 struct hdd_config, qdf_trace_enable_hdd_data,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301687 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301688 CFG_QDF_TRACE_ENABLE_DEFAULT,
1689 CFG_QDF_TRACE_ENABLE_MIN,
1690 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301691
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301692 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_EPPING, WLAN_PARAM_Integer,
1693 struct hdd_config, qdf_trace_enable_epping,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301694 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301695 CFG_QDF_TRACE_ENABLE_DEFAULT,
1696 CFG_QDF_TRACE_ENABLE_MIN,
1697 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301698
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301699 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_QDF_DEVICES, WLAN_PARAM_Integer,
1700 struct hdd_config, qdf_trace_enable_qdf_devices,
Bhargav Shah480a90f2015-06-24 15:10:14 +05301701 VAR_FLAGS_OPTIONAL,
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301702 CFG_QDF_TRACE_ENABLE_DEFAULT,
1703 CFG_QDF_TRACE_ENABLE_MIN,
1704 CFG_QDF_TRACE_ENABLE_MAX),
Bhargav Shah480a90f2015-06-24 15:10:14 +05301705
Naveen Rawat7df31862017-03-01 17:09:30 -08001706 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_WIFI_POS, WLAN_PARAM_Integer,
1707 struct hdd_config, qdf_trace_enable_wifi_pos,
1708 VAR_FLAGS_OPTIONAL,
1709 CFG_QDF_TRACE_ENABLE_DEFAULT,
1710 CFG_QDF_TRACE_ENABLE_MIN,
1711 CFG_QDF_TRACE_ENABLE_MAX),
1712
Naveen Rawatf2b0dbd2017-03-27 10:00:15 -07001713 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_NAN, WLAN_PARAM_Integer,
1714 struct hdd_config, qdf_trace_enable_nan,
1715 VAR_FLAGS_OPTIONAL,
1716 CFG_QDF_TRACE_ENABLE_DEFAULT,
1717 CFG_QDF_TRACE_ENABLE_MIN,
1718 CFG_QDF_TRACE_ENABLE_MAX),
1719
Kiran Kumar Lokere798de7e2017-03-30 14:01:12 -07001720 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_REGULATORY, WLAN_PARAM_Integer,
1721 struct hdd_config, qdf_trace_enable_regulatory,
1722 VAR_FLAGS_OPTIONAL,
1723 CFG_QDF_TRACE_ENABLE_DEFAULT,
1724 CFG_QDF_TRACE_ENABLE_MIN,
1725 CFG_QDF_TRACE_ENABLE_MAX),
1726
Naveen Rawat3cb779e2018-02-16 16:36:10 -08001727 REG_VARIABLE(CFG_QDF_TRACE_ENABLE_CP_STATS, WLAN_PARAM_Integer,
1728 struct hdd_config, qdf_trace_enable_cp_stats,
1729 VAR_FLAGS_OPTIONAL,
1730 CFG_QDF_TRACE_ENABLE_DEFAULT,
1731 CFG_QDF_TRACE_ENABLE_MIN,
1732 CFG_QDF_TRACE_ENABLE_MAX),
1733
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001734 REG_VARIABLE(CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
1735 struct hdd_config, nTeleBcnMaxListenInterval,
1736 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1737 CFG_TELE_BCN_MAX_LI_DEFAULT,
1738 CFG_TELE_BCN_MAX_LI_MIN,
1739 CFG_TELE_BCN_MAX_LI_MAX),
1740
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001741 REG_VARIABLE(CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
1742 struct hdd_config, enableBypass11d,
1743 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1744 CFG_ENABLE_BYPASS_11D_DEFAULT,
1745 CFG_ENABLE_BYPASS_11D_MIN,
1746 CFG_ENABLE_BYPASS_11D_MAX),
1747
1748 REG_VARIABLE(CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
1749 struct hdd_config, enableDFSChnlScan,
1750 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1751 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
1752 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
1753 CFG_ENABLE_DFS_CHNL_SCAN_MAX),
1754
1755 REG_VARIABLE(CFG_ENABLE_DFS_PNO_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
1756 struct hdd_config, enable_dfs_pno_chnl_scan,
1757 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1758 CFG_ENABLE_DFS_PNO_CHNL_SCAN_DEFAULT,
1759 CFG_ENABLE_DFS_PNO_CHNL_SCAN_MIN,
1760 CFG_ENABLE_DFS_PNO_CHNL_SCAN_MAX),
1761
1762 REG_VARIABLE(CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
1763 struct hdd_config, enableDynamicDTIM,
1764 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1765 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
1766 CFG_ENABLE_DYNAMIC_DTIM_MIN,
1767 CFG_ENABLE_DYNAMIC_DTIM_MAX),
1768
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001769 REG_VARIABLE(CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
1770 struct hdd_config, ShortGI40MhzEnable,
1771 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1772 CFG_SHORT_GI_40MHZ_DEFAULT,
1773 CFG_SHORT_GI_40MHZ_MIN,
1774 CFG_SHORT_GI_40MHZ_MAX),
1775
1776 REG_DYNAMIC_VARIABLE(CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
1777 struct hdd_config, reportMaxLinkSpeed,
1778 VAR_FLAGS_OPTIONAL |
1779 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1780 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
1781 CFG_REPORT_MAX_LINK_SPEED_MIN,
1782 CFG_REPORT_MAX_LINK_SPEED_MAX,
1783 NULL, 0),
1784
1785 REG_DYNAMIC_VARIABLE(CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
1786 struct hdd_config, linkSpeedRssiHigh,
1787 VAR_FLAGS_OPTIONAL |
1788 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1789 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
1790 CFG_LINK_SPEED_RSSI_HIGH_MIN,
1791 CFG_LINK_SPEED_RSSI_HIGH_MAX,
1792 NULL, 0),
1793
1794 REG_DYNAMIC_VARIABLE(CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
1795 struct hdd_config, linkSpeedRssiMid,
1796 VAR_FLAGS_OPTIONAL |
1797 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1798 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
1799 CFG_LINK_SPEED_RSSI_MID_MIN,
1800 CFG_LINK_SPEED_RSSI_MID_MAX,
1801 NULL, 0),
1802
1803 REG_DYNAMIC_VARIABLE(CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
1804 struct hdd_config, linkSpeedRssiLow,
1805 VAR_FLAGS_OPTIONAL |
1806 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1807 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
1808 CFG_LINK_SPEED_RSSI_LOW_MIN,
1809 CFG_LINK_SPEED_RSSI_LOW_MAX,
1810 NULL, 0),
1811
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001812 REG_DYNAMIC_VARIABLE(CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
1813 struct hdd_config, nRoamPrefer5GHz,
1814 VAR_FLAGS_OPTIONAL |
1815 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1816 CFG_ROAM_PREFER_5GHZ_DEFAULT,
1817 CFG_ROAM_PREFER_5GHZ_MIN,
1818 CFG_ROAM_PREFER_5GHZ_MAX,
1819 cb_notify_set_roam_prefer5_g_hz, 0),
1820
1821 REG_DYNAMIC_VARIABLE(CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
1822 struct hdd_config, nRoamIntraBand,
1823 VAR_FLAGS_OPTIONAL |
1824 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1825 CFG_ROAM_INTRA_BAND_DEFAULT,
1826 CFG_ROAM_INTRA_BAND_MIN,
1827 CFG_ROAM_INTRA_BAND_MAX,
1828 cb_notify_set_roam_intra_band, 0),
1829
1830 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
1831 struct hdd_config, nProbes,
1832 VAR_FLAGS_OPTIONAL |
1833 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1834 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
1835 CFG_ROAM_SCAN_N_PROBES_MIN,
1836 CFG_ROAM_SCAN_N_PROBES_MAX,
1837 cb_notify_set_roam_scan_n_probes, 0),
1838
1839 REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
1840 struct hdd_config, nRoamScanHomeAwayTime,
1841 VAR_FLAGS_OPTIONAL |
1842 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1843 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
1844 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
1845 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
1846 cb_notify_set_roam_scan_home_away_time, 0),
1847
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001848 REG_VARIABLE(CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME,
1849 WLAN_PARAM_Integer,
1850 struct hdd_config, isP2pDeviceAddrAdministrated,
1851 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1852 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
1853 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
1854 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX),
1855
1856 REG_VARIABLE(CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
1857 struct hdd_config, enableMCC,
1858 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1859 CFG_ENABLE_MCC_ENABLED_DEFAULT,
1860 CFG_ENABLE_MCC_ENABLED_MIN,
1861 CFG_ENABLE_MCC_ENABLED_MAX),
1862
1863 REG_VARIABLE(CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
1864 struct hdd_config, allowMCCGODiffBI,
1865 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1866 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
1867 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
1868 CFG_ALLOW_MCC_GO_DIFF_BI_MAX),
1869
1870 REG_VARIABLE(CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
1871 struct hdd_config, thermalMitigationEnable,
1872 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1873 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
1874 CFG_THERMAL_MIGRATION_ENABLE_MIN,
1875 CFG_THERMAL_MIGRATION_ENABLE_MAX),
1876
1877 REG_VARIABLE(CFG_THROTTLE_PERIOD_NAME, WLAN_PARAM_Integer,
1878 struct hdd_config, throttlePeriod,
1879 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1880 CFG_THROTTLE_PERIOD_DEFAULT,
1881 CFG_THROTTLE_PERIOD_MIN,
1882 CFG_THROTTLE_PERIOD_MAX),
1883
Poddar, Siddarth83905022016-04-16 17:56:08 -07001884 REG_VARIABLE(CFG_THROTTLE_DUTY_CYCLE_LEVEL0_NAME, WLAN_PARAM_Integer,
1885 struct hdd_config, throttle_dutycycle_level0,
1886 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1887 CFG_THROTTLE_DUTY_CYCLE_LEVEL0_DEFAULT,
1888 CFG_THROTTLE_DUTY_CYCLE_LEVEL0_MIN,
1889 CFG_THROTTLE_DUTY_CYCLE_LEVEL0_MAX),
1890
1891 REG_VARIABLE(CFG_THROTTLE_DUTY_CYCLE_LEVEL1_NAME, WLAN_PARAM_Integer,
1892 struct hdd_config, throttle_dutycycle_level1,
1893 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1894 CFG_THROTTLE_DUTY_CYCLE_LEVEL1_DEFAULT,
1895 CFG_THROTTLE_DUTY_CYCLE_LEVEL1_MIN,
1896 CFG_THROTTLE_DUTY_CYCLE_LEVEL1_MAX),
1897
1898 REG_VARIABLE(CFG_THROTTLE_DUTY_CYCLE_LEVEL2_NAME, WLAN_PARAM_Integer,
1899 struct hdd_config, throttle_dutycycle_level2,
1900 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1901 CFG_THROTTLE_DUTY_CYCLE_LEVEL2_DEFAULT,
1902 CFG_THROTTLE_DUTY_CYCLE_LEVEL2_MIN,
1903 CFG_THROTTLE_DUTY_CYCLE_LEVEL2_MAX),
1904
1905 REG_VARIABLE(CFG_THROTTLE_DUTY_CYCLE_LEVEL3_NAME, WLAN_PARAM_Integer,
1906 struct hdd_config, throttle_dutycycle_level3,
1907 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1908 CFG_THROTTLE_DUTY_CYCLE_LEVEL3_DEFAULT,
1909 CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MIN,
1910 CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MAX),
1911
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001912 REG_VARIABLE(CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
1913 struct hdd_config, enableModulatedDTIM,
1914 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1915 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
1916 CFG_ENABLE_MODULATED_DTIM_MIN,
1917 CFG_ENABLE_MODULATED_DTIM_MAX),
1918
1919 REG_VARIABLE(CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
1920 struct hdd_config, fEnableMCAddrList,
1921 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1922 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
1923 CFG_MC_ADDR_LIST_ENABLE_MIN,
1924 CFG_MC_ADDR_LIST_ENABLE_MAX),
1925
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001926 REG_VARIABLE(CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
1927 struct hdd_config, vhtChannelWidth,
1928 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1929 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
1930 CFG_VHT_CHANNEL_WIDTH_MIN,
1931 CFG_VHT_CHANNEL_WIDTH_MAX),
1932
1933 REG_VARIABLE(CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
1934 struct hdd_config, vhtRxMCS,
1935 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1936 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
1937 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
1938 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
1939
1940 REG_VARIABLE(CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
1941 struct hdd_config, vhtTxMCS,
1942 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1943 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
1944 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
1945 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
1946
1947 REG_VARIABLE(CFG_VHT_ENABLE_RX_MCS2x2_8_9, WLAN_PARAM_Integer,
1948 struct hdd_config, vhtRxMCS2x2,
1949 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1950 CFG_VHT_ENABLE_RX_MCS2x2_8_9_DEFAULT,
1951 CFG_VHT_ENABLE_RX_MCS2x2_8_9_MIN,
1952 CFG_VHT_ENABLE_RX_MCS2x2_8_9_MAX),
1953
1954 REG_VARIABLE(CFG_VHT_ENABLE_TX_MCS2x2_8_9, WLAN_PARAM_Integer,
1955 struct hdd_config, vhtTxMCS2x2,
1956 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1957 CFG_VHT_ENABLE_TX_MCS2x2_8_9_DEFAULT,
1958 CFG_VHT_ENABLE_TX_MCS2x2_8_9_MIN,
1959 CFG_VHT_ENABLE_TX_MCS2x2_8_9_MAX),
1960
Kiran Kumar Lokere0e255172018-03-30 18:54:25 -07001961 REG_VARIABLE(CFG_ENABLE_VHT20_MCS9, WLAN_PARAM_Integer,
1962 struct hdd_config, enable_vht20_mcs9,
1963 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1964 CFG_ENABLE_VHT20_MCS9_DEFAULT,
1965 CFG_ENABLE_VHT20_MCS9_MIN,
1966 CFG_ENABLE_VHT20_MCS9_MAX),
1967
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001968 REG_VARIABLE(CFG_VHT_ENABLE_2x2_CAP_FEATURE, WLAN_PARAM_Integer,
1969 struct hdd_config, enable2x2,
1970 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1971 CFG_VHT_ENABLE_2x2_CAP_FEATURE_DEFAULT,
1972 CFG_VHT_ENABLE_2x2_CAP_FEATURE_MIN,
1973 CFG_VHT_ENABLE_2x2_CAP_FEATURE_MAX),
1974
Krunal Soni158bfe62017-08-02 12:33:08 -07001975 REG_VARIABLE(CFG_DISABLE_HIGH_HT_RX_MCS_2x2, WLAN_PARAM_Integer,
1976 struct hdd_config, disable_high_ht_mcs_2x2,
1977 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1978 CFG_DISABLE_HIGH_HT_RX_MCS_2x2_DEFAULT,
1979 CFG_DISABLE_HIGH_HT_RX_MCS_2x2_MIN,
1980 CFG_DISABLE_HIGH_HT_RX_MCS_2x2_MAX),
1981
Nitesh Shah0e5c7322017-03-23 14:55:11 +05301982 REG_VARIABLE(CFG_VDEV_TYPE_NSS_2G, WLAN_PARAM_Integer,
Kiran Kumar Lokere666bf852016-05-02 12:23:02 -07001983 struct hdd_config, vdev_type_nss_2g,
1984 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1985 CFG_VDEV_TYPE_NSS_2G_DEFAULT,
1986 CFG_VDEV_TYPE_NSS_2G_MIN,
1987 CFG_VDEV_TYPE_NSS_2G_MAX),
1988
Liangwei Dong22810e82018-03-15 03:42:12 -04001989 REG_VARIABLE(CFG_ENABLE_BT_CHAIN_SEPARATION, WLAN_PARAM_Integer,
1990 struct hdd_config, enable_bt_chain_separation,
1991 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1992 CFG_ENABLE_BT_CHAIN_SEPARATION_DEFAULT,
1993 CFG_ENABLE_BT_CHAIN_SEPARATION_MIN,
1994 CFG_ENABLE_BT_CHAIN_SEPARATION_MAX),
1995
Kiran Kumar Lokere1aa9c9a2016-10-05 18:50:59 -07001996 REG_VARIABLE(CFG_STA_PREFER_80MHZ_OVER_160MHZ, WLAN_PARAM_Integer,
1997 struct hdd_config, sta_prefer_80MHz_over_160MHz,
1998 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1999 CFG_STA_PREFER_80MHZ_OVER_160MHZ_DEFAULT,
2000 CFG_STA_PREFER_80MHZ_OVER_160MHZ_MIN,
2001 CFG_STA_PREFER_80MHZ_OVER_160MHZ_MAX),
2002
Nitesh Shah0e5c7322017-03-23 14:55:11 +05302003 REG_VARIABLE(CFG_VDEV_TYPE_NSS_5G, WLAN_PARAM_Integer,
Kiran Kumar Lokere666bf852016-05-02 12:23:02 -07002004 struct hdd_config, vdev_type_nss_5g,
2005 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2006 CFG_VDEV_TYPE_NSS_5G_DEFAULT,
2007 CFG_VDEV_TYPE_NSS_5G_MIN,
2008 CFG_VDEV_TYPE_NSS_5G_MAX),
2009
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002010 REG_VARIABLE(CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
2011 struct hdd_config, enableMuBformee,
2012 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2013 CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_DEFAULT,
2014 CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_MIN,
2015 CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_MAX),
2016
2017 REG_VARIABLE(CFG_VHT_ENABLE_PAID_FEATURE, WLAN_PARAM_Integer,
2018 struct hdd_config, enableVhtpAid,
2019 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2020 CFG_VHT_ENABLE_PAID_FEATURE_DEFAULT,
2021 CFG_VHT_ENABLE_PAID_FEATURE_MIN,
2022 CFG_VHT_ENABLE_PAID_FEATURE_MAX),
2023
2024 REG_VARIABLE(CFG_VHT_ENABLE_GID_FEATURE, WLAN_PARAM_Integer,
2025 struct hdd_config, enableVhtGid,
2026 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2027 CFG_VHT_ENABLE_GID_FEATURE_DEFAULT,
2028 CFG_VHT_ENABLE_GID_FEATURE_MIN,
2029 CFG_VHT_ENABLE_GID_FEATURE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002030
2031 REG_VARIABLE(CFG_VHT_ENABLE_1x1_TX_CHAINMASK, WLAN_PARAM_Integer,
2032 struct hdd_config, txchainmask1x1,
2033 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2034 CFG_VHT_ENABLE_1x1_TX_CHAINMASK_DEFAULT,
2035 CFG_VHT_ENABLE_1x1_TX_CHAINMASK_MIN,
2036 CFG_VHT_ENABLE_1x1_TX_CHAINMASK_MAX),
2037
2038 REG_VARIABLE(CFG_VHT_ENABLE_1x1_RX_CHAINMASK, WLAN_PARAM_Integer,
2039 struct hdd_config, rxchainmask1x1,
2040 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2041 CFG_VHT_ENABLE_1x1_RX_CHAINMASK_DEFAULT,
2042 CFG_VHT_ENABLE_1x1_RX_CHAINMASK_MIN,
2043 CFG_VHT_ENABLE_1x1_RX_CHAINMASK_MAX),
2044
2045 REG_VARIABLE(CFG_ENABLE_AMPDUPS_FEATURE, WLAN_PARAM_Integer,
2046 struct hdd_config, enableAmpduPs,
2047 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2048 CFG_ENABLE_AMPDUPS_FEATURE_DEFAULT,
2049 CFG_ENABLE_AMPDUPS_FEATURE_MIN,
2050 CFG_ENABLE_AMPDUPS_FEATURE_MAX),
2051
2052 REG_VARIABLE(CFG_HT_ENABLE_SMPS_CAP_FEATURE, WLAN_PARAM_Integer,
2053 struct hdd_config, enableHtSmps,
2054 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2055 CFG_HT_ENABLE_SMPS_CAP_FEATURE_DEFAULT,
2056 CFG_HT_ENABLE_SMPS_CAP_FEATURE_MIN,
2057 CFG_HT_ENABLE_SMPS_CAP_FEATURE_MAX),
2058
2059 REG_VARIABLE(CFG_HT_SMPS_CAP_FEATURE, WLAN_PARAM_Integer,
2060 struct hdd_config, htSmps,
2061 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2062 CFG_HT_SMPS_CAP_FEATURE_DEFAULT,
2063 CFG_HT_SMPS_CAP_FEATURE_MIN,
2064 CFG_HT_SMPS_CAP_FEATURE_MAX),
2065
2066 REG_VARIABLE(CFG_DISABLE_DFS_CH_SWITCH, WLAN_PARAM_Integer,
2067 struct hdd_config, disableDFSChSwitch,
2068 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2069 CFG_DISABLE_DFS_CH_SWITCH_DEFAULT,
2070 CFG_DISABLE_DFS_CH_SWITCH_MIN,
2071 CFG_DISABLE_DFS_CH_SWITCH_MAX),
2072
2073 REG_VARIABLE(CFG_ENABLE_DFS_MASTER_CAPABILITY, WLAN_PARAM_Integer,
2074 struct hdd_config, enableDFSMasterCap,
2075 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2076 CFG_ENABLE_DFS_MASTER_CAPABILITY_DEFAULT,
2077 CFG_ENABLE_DFS_MASTER_CAPABILITY_MIN,
2078 CFG_ENABLE_DFS_MASTER_CAPABILITY_MAX),
2079
2080 REG_DYNAMIC_VARIABLE(CFG_SAP_PREFERRED_CHANNEL_LOCATION,
2081 WLAN_PARAM_Integer,
2082 struct hdd_config, gSapPreferredChanLocation,
2083 VAR_FLAGS_OPTIONAL |
2084 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2085 CFG_SAP_PREFERRED_CHANNEL_LOCATION_DEFAULT,
2086 CFG_SAP_PREFERRED_CHANNEL_LOCATION_MIN,
2087 CFG_SAP_PREFERRED_CHANNEL_LOCATION_MAX,
2088 cb_notify_set_g_sap_preferred_chan_location, 0),
2089 REG_DYNAMIC_VARIABLE(CFG_DISABLE_DFS_JAPAN_W53, WLAN_PARAM_Integer,
2090 struct hdd_config, gDisableDfsJapanW53,
2091 VAR_FLAGS_OPTIONAL |
2092 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2093 CFG_DISABLE_DFS_JAPAN_W53_DEFAULT,
2094 CFG_DISABLE_DFS_JAPAN_W53_MIN,
2095 CFG_DISABLE_DFS_JAPAN_W53_MAX,
2096 ch_notify_set_g_disable_dfs_japan_w53, 0),
Hong Shi417824f2017-01-12 02:31:14 +08002097
2098 REG_VARIABLE(CFG_MAX_HT_MCS_FOR_TX_DATA, WLAN_PARAM_HexInteger,
2099 struct hdd_config, max_ht_mcs_txdata,
2100 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2101 CFG_MAX_HT_MCS_FOR_TX_DATA_DEFAULT,
2102 CFG_MAX_HT_MCS_FOR_TX_DATA_MIN,
2103 CFG_MAX_HT_MCS_FOR_TX_DATA_MAX),
2104
Will Huang496b36c2017-07-11 16:38:50 +08002105 REG_VARIABLE(CFG_SAP_GET_PEER_INFO, WLAN_PARAM_Integer,
2106 struct hdd_config, sap_get_peer_info,
2107 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2108 CFG_SAP_GET_PEER_INFO_DEFAULT,
2109 CFG_SAP_GET_PEER_INFO_MIN,
2110 CFG_SAP_GET_PEER_INFO_MAX),
2111
Hong Shia9ef8712017-02-19 21:54:02 +08002112 REG_VARIABLE(CFG_DISABLE_ABG_RATE_FOR_TX_DATA, WLAN_PARAM_Integer,
2113 struct hdd_config, disable_abg_rate_txdata,
2114 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2115 CFG_DISABLE_ABG_RATE_FOR_TX_DATA_DEFAULT,
2116 CFG_DISABLE_ABG_RATE_FOR_TX_DATA_MIN,
2117 CFG_DISABLE_ABG_RATE_FOR_TX_DATA_MAX),
2118
Hong Shib90718f2017-02-20 00:57:22 +08002119 REG_VARIABLE(CFG_RATE_FOR_TX_MGMT, WLAN_PARAM_HexInteger,
2120 struct hdd_config, rate_for_tx_mgmt,
2121 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2122 CFG_RATE_FOR_TX_MGMT_DEFAULT,
2123 CFG_RATE_FOR_TX_MGMT_MIN,
2124 CFG_RATE_FOR_TX_MGMT_MAX),
2125
Hong Shi2d384fd2017-05-22 18:38:41 +08002126 REG_VARIABLE(CFG_RATE_FOR_TX_MGMT_2G, WLAN_PARAM_HexInteger,
2127 struct hdd_config, rate_for_tx_mgmt_2g,
2128 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2129 CFG_RATE_FOR_TX_MGMT_2G_DEFAULT,
2130 CFG_RATE_FOR_TX_MGMT_2G_MIN,
2131 CFG_RATE_FOR_TX_MGMT_2G_MAX),
2132
2133 REG_VARIABLE(CFG_RATE_FOR_TX_MGMT_5G, WLAN_PARAM_HexInteger,
2134 struct hdd_config, rate_for_tx_mgmt_5g,
2135 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2136 CFG_RATE_FOR_TX_MGMT_5G_DEFAULT,
2137 CFG_RATE_FOR_TX_MGMT_5G_MIN,
2138 CFG_RATE_FOR_TX_MGMT_5G_MAX),
2139
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002140 REG_VARIABLE(CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
2141 struct hdd_config, enableFirstScan2GOnly,
2142 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2143 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2144 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
2145 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX),
2146
2147 REG_VARIABLE(CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
2148 struct hdd_config, skipDfsChnlInP2pSearch,
2149 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2150 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2151 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
2152 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX),
2153
2154 REG_VARIABLE(CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME,
2155 WLAN_PARAM_Integer,
2156 struct hdd_config, ignoreDynamicDtimInP2pMode,
2157 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2158 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2159 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
2160 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX),
2161
2162 REG_VARIABLE(CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
2163 struct hdd_config, enableRxSTBC,
2164 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2165 CFG_ENABLE_RX_STBC_DEFAULT,
2166 CFG_ENABLE_RX_STBC_MIN,
2167 CFG_ENABLE_RX_STBC_MAX),
2168
2169 REG_VARIABLE(CFG_ENABLE_TX_STBC, WLAN_PARAM_Integer,
2170 struct hdd_config, enableTxSTBC,
2171 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2172 CFG_ENABLE_TX_STBC_DEFAULT,
2173 CFG_ENABLE_TX_STBC_MIN,
2174 CFG_ENABLE_TX_STBC_MAX),
2175
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002176 REG_VARIABLE(CFG_PPS_ENABLE_5G_EBT, WLAN_PARAM_Integer,
2177 struct hdd_config, enable5gEBT,
2178 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2179 CFG_PPS_ENABLE_5G_EBT_FEATURE_DEFAULT,
2180 CFG_PPS_ENABLE_5G_EBT_FEATURE_MIN,
2181 CFG_PPS_ENABLE_5G_EBT_FEATURE_MAX),
2182
Dustin Brownfe7aa872017-06-26 10:52:08 -07002183 REG_VARIABLE(CFG_PREVENT_LINK_DOWN_NAME, WLAN_PARAM_Integer,
2184 struct hdd_config, prevent_link_down,
2185 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2186 CFG_PREVENT_LINK_DOWN_DEFAULT,
2187 CFG_PREVENT_LINK_DOWN_MIN,
2188 CFG_PREVENT_LINK_DOWN_MAX),
2189
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002190#ifdef FEATURE_WLAN_TDLS
2191 REG_VARIABLE(CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2192 struct hdd_config, fEnableTDLSSupport,
2193 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2194 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2195 CFG_TDLS_SUPPORT_ENABLE_MIN,
2196 CFG_TDLS_SUPPORT_ENABLE_MAX),
2197
2198 REG_VARIABLE(CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
2199 struct hdd_config, fEnableTDLSImplicitTrigger,
2200 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2201 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2202 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2203 CFG_TDLS_IMPLICIT_TRIGGER_MAX),
2204
2205 REG_VARIABLE(CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
2206 struct hdd_config, fTDLSTxStatsPeriod,
2207 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2208 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2209 CFG_TDLS_TX_STATS_PERIOD_MIN,
2210 CFG_TDLS_TX_STATS_PERIOD_MAX),
2211
2212 REG_VARIABLE(CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
2213 struct hdd_config, fTDLSTxPacketThreshold,
2214 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2215 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2216 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2217 CFG_TDLS_TX_PACKET_THRESHOLD_MAX),
2218
2219 REG_VARIABLE(CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
2220 struct hdd_config, fTDLSMaxDiscoveryAttempt,
2221 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2222 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2223 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2224 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX),
2225
Kabilan Kannanca670be2015-11-23 01:56:12 -08002226 REG_VARIABLE(CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2227 struct hdd_config, tdls_idle_timeout,
2228 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2229 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2230 CFG_TDLS_IDLE_TIMEOUT_MIN,
2231 CFG_TDLS_IDLE_TIMEOUT_MAX),
2232
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002233 REG_VARIABLE(CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
2234 struct hdd_config, fTDLSIdlePacketThreshold,
2235 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2236 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2237 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2238 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX),
2239
2240 REG_VARIABLE(CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
2241 struct hdd_config, fTDLSRSSITriggerThreshold,
2242 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2243 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2244 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2245 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX),
2246
2247 REG_VARIABLE(CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
2248 struct hdd_config, fTDLSRSSITeardownThreshold,
2249 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2250 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2251 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2252 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX),
2253
2254 REG_VARIABLE(CFG_TDLS_RSSI_DELTA, WLAN_PARAM_SignedInteger,
2255 struct hdd_config, fTDLSRSSIDelta,
2256 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2257 CFG_TDLS_RSSI_DELTA_DEFAULT,
2258 CFG_TDLS_RSSI_DELTA_MIN,
2259 CFG_TDLS_RSSI_DELTA_MAX),
2260
2261 REG_VARIABLE(CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME, WLAN_PARAM_HexInteger,
2262 struct hdd_config, fTDLSUapsdMask,
2263 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2264 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2265 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2266 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX),
2267
2268 REG_VARIABLE(CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2269 struct hdd_config, fEnableTDLSBufferSta,
2270 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2271 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2272 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2273 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX),
2274
2275 REG_VARIABLE(CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2276 struct hdd_config, fEnableTDLSOffChannel,
2277 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2278 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_DEFAULT,
2279 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MIN,
2280 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MAX),
2281
2282 REG_VARIABLE(CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM, WLAN_PARAM_Integer,
2283 struct hdd_config, fTDLSPrefOffChanNum,
2284 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2285 CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM_DEFAULT,
2286 CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM_MIN,
2287 CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM_MAX),
2288
2289 REG_VARIABLE(CFG_TDLS_PREFERRED_OFF_CHANNEL_BW, WLAN_PARAM_Integer,
2290 struct hdd_config, fTDLSPrefOffChanBandwidth,
2291 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2292 CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_DEFAULT,
2293 CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_MIN,
2294 CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_MAX),
2295
2296 REG_VARIABLE(CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2297 struct hdd_config, fTDLSPuapsdInactivityTimer,
2298 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2299 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2300 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2301 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX),
2302
2303 REG_VARIABLE(CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2304 struct hdd_config, fTDLSRxFrameThreshold,
2305 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2306 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2307 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2308 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX),
2309
2310 REG_VARIABLE(CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW,
2311 WLAN_PARAM_Integer,
2312 struct hdd_config, fTDLSPuapsdPTIWindow,
2313 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2314 CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW_DEFAULT,
2315 CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW_MIN,
2316 CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW_MAX),
2317
2318 REG_VARIABLE(CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT,
2319 WLAN_PARAM_Integer,
2320 struct hdd_config, fTDLSPuapsdPTRTimeout,
2321 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2322 CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT_DEFAULT,
2323 CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT_MIN,
2324 CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT_MAX),
2325
2326 REG_VARIABLE(CFG_TDLS_EXTERNAL_CONTROL, WLAN_PARAM_Integer,
2327 struct hdd_config, fTDLSExternalControl,
2328 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2329 CFG_TDLS_EXTERNAL_CONTROL_DEFAULT,
2330 CFG_TDLS_EXTERNAL_CONTROL_MIN,
2331 CFG_TDLS_EXTERNAL_CONTROL_MAX),
2332 REG_VARIABLE(CFG_TDLS_WMM_MODE_ENABLE, WLAN_PARAM_Integer,
2333 struct hdd_config, fEnableTDLSWmmMode,
2334 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2335 CFG_TDLS_WMM_MODE_ENABLE_DEFAULT,
2336 CFG_TDLS_WMM_MODE_ENABLE_MIN,
2337 CFG_TDLS_WMM_MODE_ENABLE_MAX),
2338
2339 REG_VARIABLE(CFG_TDLS_SCAN_ENABLE, WLAN_PARAM_Integer,
2340 struct hdd_config, enable_tdls_scan,
2341 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2342 CFG_TDLS_SCAN_ENABLE_DEFAULT,
2343 CFG_TDLS_SCAN_ENABLE_MIN,
2344 CFG_TDLS_SCAN_ENABLE_MAX),
Kabilan Kannan421714b2015-11-23 04:44:59 -08002345
2346 REG_VARIABLE(CFG_TDLS_PEER_KICKOUT_THRESHOLD, WLAN_PARAM_Integer,
2347 struct hdd_config, tdls_peer_kickout_threshold,
2348 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2349 CFG_TDLS_PEER_KICKOUT_THRESHOLD_DEFAULT,
2350 CFG_TDLS_PEER_KICKOUT_THRESHOLD_MIN,
2351 CFG_TDLS_PEER_KICKOUT_THRESHOLD_MAX),
2352
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002353#endif
2354
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002355 REG_VARIABLE(CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
2356 struct hdd_config, scanAgingTimeout,
2357 VAR_FLAGS_OPTIONAL,
2358 CFG_SCAN_AGING_PARAM_DEFAULT,
2359 CFG_SCAN_AGING_PARAM_MIN,
2360 CFG_SCAN_AGING_PARAM_MAX),
2361
2362 REG_VARIABLE(CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Krunal Sonia2c0e412017-05-04 14:12:41 +05302363 struct hdd_config, enable_tx_ldpc,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002364 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2365 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2366 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2367 CFG_TX_LDPC_ENABLE_FEATURE_MAX),
2368
Krunal Sonia2c0e412017-05-04 14:12:41 +05302369 REG_VARIABLE(CFG_ENABLE_RX_LDPC, WLAN_PARAM_Integer,
2370 struct hdd_config, enable_rx_ldpc,
2371 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2372 CFG_ENABLE_RX_LDPC_DEFAULT,
2373 CFG_ENABLE_RX_LDPC_MIN,
2374 CFG_ENABLE_RX_LDPC_MAX),
2375
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002376 REG_VARIABLE(CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME,
2377 WLAN_PARAM_Integer,
2378 struct hdd_config, enableMCCAdaptiveScheduler,
2379 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2380 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2381 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2382 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX),
2383
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002384 REG_VARIABLE(CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
2385 struct hdd_config, AdHocChannel5G,
2386 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2387 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2388 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2389 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2390
2391 REG_VARIABLE(CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
2392 struct hdd_config, AdHocChannel24G,
2393 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2394 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2395 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2396 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2397
2398 REG_VARIABLE(CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
2399 struct hdd_config, enableTxBF,
2400 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2401 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2402 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2403 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX),
2404
Abhishek Singh68844282018-01-25 16:48:41 +05302405 REG_VARIABLE(CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE_NAME, WLAN_PARAM_Integer,
2406 struct hdd_config, enable_subfee_vendor_vhtie,
2407 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2408 CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE_DEFAULT,
2409 CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE_MIN,
2410 CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE_MAX),
2411
Kiran Kumar Lokere5302ab62015-12-16 16:03:16 -08002412 REG_VARIABLE(CFG_VHT_ENABLE_TXBF_SAP_MODE, WLAN_PARAM_Integer,
2413 struct hdd_config, enable_txbf_sap_mode,
2414 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2415 CFG_VHT_ENABLE_TXBF_SAP_MODE_DEFAULT,
2416 CFG_VHT_ENABLE_TXBF_SAP_MODE_MIN,
2417 CFG_VHT_ENABLE_TXBF_SAP_MODE_MAX),
2418
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002419 REG_VARIABLE(CFG_VHT_ENABLE_TXBF_IN_20MHZ, WLAN_PARAM_Integer,
2420 struct hdd_config, enableTxBFin20MHz,
2421 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2422 CFG_VHT_ENABLE_TXBF_IN_20MHZ_DEFAULT,
2423 CFG_VHT_ENABLE_TXBF_IN_20MHZ_MIN,
2424 CFG_VHT_ENABLE_TXBF_IN_20MHZ_MAX),
2425
2426 REG_VARIABLE(CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
2427 struct hdd_config, txBFCsnValue,
2428 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2429 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2430 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2431 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX),
2432
2433 REG_VARIABLE(CFG_VHT_ENABLE_TX_SU_BEAM_FORMER, WLAN_PARAM_Integer,
2434 struct hdd_config, enable_su_tx_bformer,
2435 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2436 CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_DEFAULT,
2437 CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_MIN,
2438 CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_MAX),
2439
2440 REG_VARIABLE(CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
2441 struct hdd_config, sapAllowAllChannel,
2442 VAR_FLAGS_OPTIONAL,
2443 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2444 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2445 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX),
2446
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002447 REG_VARIABLE(CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
2448 struct hdd_config, disableLDPCWithTxbfAP,
2449 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2450 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2451 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2452 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002453
2454 REG_DYNAMIC_VARIABLE(CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2455 struct hdd_config, enableSSR,
2456 VAR_FLAGS_OPTIONAL |
2457 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2458 CFG_ENABLE_SSR_DEFAULT,
2459 CFG_ENABLE_SSR_MIN,
2460 CFG_ENABLE_SSR_MAX,
2461 cb_notify_set_enable_ssr, 0),
2462
Poddar, Siddarth37033032017-10-11 15:47:40 +05302463 REG_VARIABLE(CFG_ENABLE_DATA_STALL_DETECTION, WLAN_PARAM_Integer,
2464 struct hdd_config, enable_data_stall_det,
2465 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2466 CFG_ENABLE_DATA_STALL_DETECTION_DEFAULT,
2467 CFG_ENABLE_DATA_STALL_DETECTION_MIN,
2468 CFG_ENABLE_DATA_STALL_DETECTION_MAX),
2469
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002470 REG_VARIABLE(CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2471 struct hdd_config, enableVhtFor24GHzBand,
2472 VAR_FLAGS_OPTIONAL,
2473 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2474 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2475 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002476
Kapil Gupta4b2efbb2016-10-03 13:07:20 +05302477
2478 REG_VARIABLE(CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2479 struct hdd_config, enable_sap_vendor_vht,
2480 VAR_FLAGS_OPTIONAL,
2481 CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_DEFAULT,
2482 CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_MIN,
2483 CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_MAX),
2484
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002485 REG_DYNAMIC_VARIABLE(CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY,
2486 WLAN_PARAM_Integer,
2487 struct hdd_config, bFastRoamInConIniFeatureEnabled,
2488 VAR_FLAGS_OPTIONAL |
2489 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2490 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2491 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2492 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2493 cb_notify_set_enable_fast_roam_in_concurrency, 0),
2494
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002495 REG_VARIABLE(CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer,
2496 struct hdd_config, fEnableSNRMonitoring,
2497 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2498 CFG_ENABLE_SNR_MONITORING_DEFAULT,
2499 CFG_ENABLE_SNR_MONITORING_MIN,
2500 CFG_ENABLE_SNR_MONITORING_MAX),
2501
2502#ifdef FEATURE_WLAN_SCAN_PNO
2503 REG_VARIABLE(CFG_PNO_SCAN_SUPPORT, WLAN_PARAM_Integer,
2504 struct hdd_config, configPNOScanSupport,
2505 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2506 CFG_PNO_SCAN_SUPPORT_DEFAULT,
2507 CFG_PNO_SCAN_SUPPORT_DISABLE,
2508 CFG_PNO_SCAN_SUPPORT_ENABLE),
2509
2510 REG_VARIABLE(CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer,
2511 struct hdd_config, configPNOScanTimerRepeatValue,
2512 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2513 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT,
2514 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
2515 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
Srinivas Girigowdabdc98162015-09-17 11:06:07 -07002516
2517 REG_VARIABLE(CFG_PNO_SLOW_SCAN_MULTIPLIER, WLAN_PARAM_Integer,
2518 struct hdd_config, pno_slow_scan_multiplier,
2519 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2520 CFG_PNO_SLOW_SCAN_MULTIPLIER_DEFAULT,
2521 CFG_PNO_SLOW_SCAN_MULTIPLIER_MIN,
2522 CFG_PNO_SLOW_SCAN_MULTIPLIER_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002523#endif
Jeff Johnson82cc76f2017-09-30 14:18:07 -07002524 REG_VARIABLE(CFG_MAX_AMSDU_NUM_NAME, WLAN_PARAM_Integer,
Deepak Dhamdhere612392c2016-08-28 02:56:51 -07002525 struct hdd_config, max_amsdu_num,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002526 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Deepak Dhamdhere612392c2016-08-28 02:56:51 -07002527 CFG_MAX_AMSDU_NUM_DEFAULT,
2528 CFG_MAX_AMSDU_NUM_MIN,
2529 CFG_MAX_AMSDU_NUM_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002530
2531 REG_VARIABLE(CFG_STRICT_5GHZ_PREF_BY_MARGIN, WLAN_PARAM_Integer,
2532 struct hdd_config, nSelect5GHzMargin,
2533 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2534 CFG_STRICT_5GHZ_PREF_BY_MARGIN_DEFAULT,
2535 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MIN,
2536 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MAX),
2537
2538 REG_VARIABLE(CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD, WLAN_PARAM_Integer,
2539 struct hdd_config, enable_ip_tcp_udp_checksum_offload,
2540 VAR_FLAGS_OPTIONAL,
2541 CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_DEFAULT,
2542 CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_DISABLE,
2543 CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_ENABLE),
2544
2545 REG_VARIABLE(CFG_POWERSAVE_OFFLOAD_NAME, WLAN_PARAM_Integer,
2546 struct hdd_config, enablePowersaveOffload,
2547 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2548 CFG_POWERSAVE_OFFLOAD_DEFAULT,
2549 CFG_POWERSAVE_OFFLOAD_MIN,
2550 CFG_POWERSAVE_OFFLOAD_MAX),
2551
2552 REG_VARIABLE(CFG_ENABLE_FW_UART_PRINT_NAME, WLAN_PARAM_Integer,
2553 struct hdd_config, enablefwprint,
2554 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2555 CFG_ENABLE_FW_UART_PRINT_DEFAULT,
2556 CFG_ENABLE_FW_UART_PRINT_DISABLE,
2557 CFG_ENABLE_FW_UART_PRINT_ENABLE),
2558
2559 REG_VARIABLE(CFG_ENABLE_FW_LOG_NAME, WLAN_PARAM_Integer,
Komal Seelamc11bb222016-01-27 18:57:10 +05302560 struct hdd_config, enable_fw_log,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002561 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2562 CFG_ENABLE_FW_LOG_DEFAULT,
2563 CFG_ENABLE_FW_LOG_DISABLE,
Yuanyuan Liu7a97b8f2017-01-27 10:42:52 -08002564 CFG_ENABLE_FW_LOG_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002565
2566#ifdef IPA_OFFLOAD
2567 REG_VARIABLE(CFG_IPA_OFFLOAD_CONFIG_NAME, WLAN_PARAM_HexInteger,
2568 struct hdd_config, IpaConfig,
2569 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2570 CFG_IPA_OFFLOAD_CONFIG_DEFAULT,
2571 CFG_IPA_OFFLOAD_CONFIG_MIN,
2572 CFG_IPA_OFFLOAD_CONFIG_MAX),
2573
2574 REG_VARIABLE(CFG_IPA_DESC_SIZE_NAME, WLAN_PARAM_Integer,
2575 struct hdd_config, IpaDescSize,
2576 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2577 CFG_IPA_DESC_SIZE_DEFAULT,
2578 CFG_IPA_DESC_SIZE_MIN,
2579 CFG_IPA_DESC_SIZE_MAX),
2580
2581 REG_VARIABLE(CFG_IPA_HIGH_BANDWIDTH_MBPS, WLAN_PARAM_Integer,
2582 struct hdd_config, IpaHighBandwidthMbps,
2583 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2584 CFG_IPA_HIGH_BANDWIDTH_MBPS_DEFAULT,
2585 CFG_IPA_HIGH_BANDWIDTH_MBPS_MIN,
2586 CFG_IPA_HIGH_BANDWIDTH_MBPS_MAX),
2587
2588 REG_VARIABLE(CFG_IPA_MEDIUM_BANDWIDTH_MBPS, WLAN_PARAM_Integer,
2589 struct hdd_config, IpaMediumBandwidthMbps,
2590 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2591 CFG_IPA_MEDIUM_BANDWIDTH_MBPS_DEFAULT,
2592 CFG_IPA_MEDIUM_BANDWIDTH_MBPS_MIN,
2593 CFG_IPA_MEDIUM_BANDWIDTH_MBPS_MAX),
2594
2595 REG_VARIABLE(CFG_IPA_LOW_BANDWIDTH_MBPS, WLAN_PARAM_Integer,
2596 struct hdd_config, IpaLowBandwidthMbps,
2597 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2598 CFG_IPA_LOW_BANDWIDTH_MBPS_DEFAULT,
2599 CFG_IPA_LOW_BANDWIDTH_MBPS_MIN,
2600 CFG_IPA_LOW_BANDWIDTH_MBPS_MAX),
2601#endif
2602
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002603 REG_VARIABLE(CFG_VHT_AMPDU_LEN_EXPONENT_NAME, WLAN_PARAM_Integer,
2604 struct hdd_config, fVhtAmpduLenExponent,
2605 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2606 CFG_VHT_AMPDU_LEN_EXPONENT_DEFAULT,
2607 CFG_VHT_AMPDU_LEN_EXPONENT_MIN,
2608 CFG_VHT_AMPDU_LEN_EXPONENT_MAX),
2609
2610 REG_VARIABLE(CFG_VHT_MPDU_LEN_NAME, WLAN_PARAM_Integer,
2611 struct hdd_config, vhtMpduLen,
2612 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2613 CFG_VHT_MPDU_LEN_DEFAULT,
2614 CFG_VHT_MPDU_LEN_MIN,
2615 CFG_VHT_MPDU_LEN_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002616
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002617 REG_VARIABLE(CFG_WOW_STATUS_NAME, WLAN_PARAM_Integer,
2618 struct hdd_config, wowEnable,
2619 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2620 CFG_WOW_STATUS_DEFAULT,
2621 CFG_WOW_ENABLE_MIN,
2622 CFG_WOW_ENABLE_MAX),
2623
2624 REG_VARIABLE(CFG_COALESING_IN_IBSS_NAME, WLAN_PARAM_Integer,
2625 struct hdd_config, isCoalesingInIBSSAllowed,
2626 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2627 CFG_COALESING_IN_IBSS_DEFAULT,
2628 CFG_COALESING_IN_IBSS_MIN,
2629 CFG_COALESING_IN_IBSS_MAX),
2630
2631 REG_VARIABLE(CFG_IBSS_ATIM_WIN_SIZE_NAME, WLAN_PARAM_Integer,
2632 struct hdd_config, ibssATIMWinSize,
2633 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2634 CFG_IBSS_ATIM_WIN_SIZE_DEFAULT,
2635 CFG_IBSS_ATIM_WIN_SIZE_MIN,
2636 CFG_IBSS_ATIM_WIN_SIZE_MAX),
2637
2638 REG_VARIABLE(CFG_SAP_MAX_NO_PEERS, WLAN_PARAM_Integer,
2639 struct hdd_config, maxNumberOfPeers,
2640 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2641 CFG_SAP_MAX_NO_PEERS_DEFAULT,
2642 CFG_SAP_MAX_NO_PEERS_MIN,
2643 CFG_SAP_MAX_NO_PEERS_MAX),
2644
2645 REG_VARIABLE(CFG_IBSS_IS_POWER_SAVE_ALLOWED_NAME, WLAN_PARAM_Integer,
2646 struct hdd_config, isIbssPowerSaveAllowed,
2647 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2648 CFG_IBSS_IS_POWER_SAVE_ALLOWED_DEFAULT,
2649 CFG_IBSS_IS_POWER_SAVE_ALLOWED_MIN,
2650 CFG_IBSS_IS_POWER_SAVE_ALLOWED_MAX),
2651
2652 REG_VARIABLE(CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_NAME,
2653 WLAN_PARAM_Integer,
2654 struct hdd_config, isIbssPowerCollapseAllowed,
2655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2656 CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_DEFAULT,
2657 CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_MIN,
2658 CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_MAX),
2659
2660 REG_VARIABLE(CFG_IBSS_AWAKE_ON_TX_RX_NAME, WLAN_PARAM_Integer,
2661 struct hdd_config, isIbssAwakeOnTxRx,
2662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2663 CFG_IBSS_AWAKE_ON_TX_RX_DEFAULT,
2664 CFG_IBSS_AWAKE_ON_TX_RX_MIN,
2665 CFG_IBSS_AWAKE_ON_TX_RX_MAX),
2666
2667 REG_VARIABLE(CFG_IBSS_INACTIVITY_TIME_NAME, WLAN_PARAM_Integer,
2668 struct hdd_config, ibssInactivityCount,
2669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2670 CFG_IBSS_INACTIVITY_TIME_DEFAULT,
2671 CFG_IBSS_INACTIVITY_TIME_MIN,
2672 CFG_IBSS_INACTIVITY_TIME_MAX),
2673
2674 REG_VARIABLE(CFG_IBSS_TXSP_END_INACTIVITY_NAME, WLAN_PARAM_Integer,
2675 struct hdd_config, ibssTxSpEndInactivityTime,
2676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2677 CFG_IBSS_TXSP_END_INACTIVITY_DEFAULT,
2678 CFG_IBSS_TXSP_END_INACTIVITY_MIN,
2679 CFG_IBSS_TXSP_END_INACTIVITY_MAX),
2680
2681 REG_VARIABLE(CFG_IBSS_PS_WARMUP_TIME_NAME, WLAN_PARAM_Integer,
2682 struct hdd_config, ibssPsWarmupTime,
2683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2684 CFG_IBSS_PS_WARMUP_TIME_DEFAULT,
2685 CFG_IBSS_PS_WARMUP_TIME_MIN,
2686 CFG_IBSS_PS_WARMUP_TIME_MAX),
2687
2688 REG_VARIABLE(CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_NAME,
2689 WLAN_PARAM_Integer,
2690 struct hdd_config, ibssPs1RxChainInAtimEnable,
2691 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2692 CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_DEFAULT,
2693 CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MIN,
2694 CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MAX),
2695
2696 REG_VARIABLE(CFG_THERMAL_TEMP_MIN_LEVEL0_NAME, WLAN_PARAM_Integer,
2697 struct hdd_config, thermalTempMinLevel0,
2698 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2699 CFG_THERMAL_TEMP_MIN_LEVEL0_DEFAULT,
2700 CFG_THERMAL_TEMP_MIN_LEVEL0_MIN,
2701 CFG_THERMAL_TEMP_MIN_LEVEL0_MAX),
2702
2703 REG_VARIABLE(CFG_THERMAL_TEMP_MAX_LEVEL0_NAME, WLAN_PARAM_Integer,
2704 struct hdd_config, thermalTempMaxLevel0,
2705 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2706 CFG_THERMAL_TEMP_MAX_LEVEL0_DEFAULT,
2707 CFG_THERMAL_TEMP_MAX_LEVEL0_MIN,
2708 CFG_THERMAL_TEMP_MAX_LEVEL0_MAX),
2709
2710 REG_VARIABLE(CFG_THERMAL_TEMP_MIN_LEVEL1_NAME, WLAN_PARAM_Integer,
2711 struct hdd_config, thermalTempMinLevel1,
2712 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2713 CFG_THERMAL_TEMP_MIN_LEVEL1_DEFAULT,
2714 CFG_THERMAL_TEMP_MIN_LEVEL1_MIN,
2715 CFG_THERMAL_TEMP_MIN_LEVEL1_MAX),
2716
2717 REG_VARIABLE(CFG_THERMAL_TEMP_MAX_LEVEL1_NAME, WLAN_PARAM_Integer,
2718 struct hdd_config, thermalTempMaxLevel1,
2719 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2720 CFG_THERMAL_TEMP_MAX_LEVEL1_DEFAULT,
2721 CFG_THERMAL_TEMP_MAX_LEVEL1_MIN,
2722 CFG_THERMAL_TEMP_MAX_LEVEL1_MAX),
2723
2724 REG_VARIABLE(CFG_THERMAL_TEMP_MIN_LEVEL2_NAME, WLAN_PARAM_Integer,
2725 struct hdd_config, thermalTempMinLevel2,
2726 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2727 CFG_THERMAL_TEMP_MIN_LEVEL2_DEFAULT,
2728 CFG_THERMAL_TEMP_MIN_LEVEL2_MIN,
2729 CFG_THERMAL_TEMP_MIN_LEVEL2_MAX),
2730
2731 REG_VARIABLE(CFG_THERMAL_TEMP_MAX_LEVEL2_NAME, WLAN_PARAM_Integer,
2732 struct hdd_config, thermalTempMaxLevel2,
2733 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2734 CFG_THERMAL_TEMP_MAX_LEVEL2_DEFAULT,
2735 CFG_THERMAL_TEMP_MAX_LEVEL2_MIN,
2736 CFG_THERMAL_TEMP_MAX_LEVEL2_MAX),
2737
2738 REG_VARIABLE(CFG_THERMAL_TEMP_MIN_LEVEL3_NAME, WLAN_PARAM_Integer,
2739 struct hdd_config, thermalTempMinLevel3,
2740 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2741 CFG_THERMAL_TEMP_MIN_LEVEL3_DEFAULT,
2742 CFG_THERMAL_TEMP_MIN_LEVEL3_MIN,
2743 CFG_THERMAL_TEMP_MIN_LEVEL3_MAX),
2744
2745 REG_VARIABLE(CFG_THERMAL_TEMP_MAX_LEVEL3_NAME, WLAN_PARAM_Integer,
2746 struct hdd_config, thermalTempMaxLevel3,
2747 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2748 CFG_THERMAL_TEMP_MAX_LEVEL3_DEFAULT,
2749 CFG_THERMAL_TEMP_MAX_LEVEL3_MIN,
2750 CFG_THERMAL_TEMP_MAX_LEVEL3_MAX),
2751
2752 REG_VARIABLE(CFG_SET_TXPOWER_LIMIT2G_NAME, WLAN_PARAM_Integer,
2753 struct hdd_config, TxPower2g,
2754 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2755 CFG_SET_TXPOWER_LIMIT2G_DEFAULT,
2756 CFG_SET_TXPOWER_LIMIT2G_MIN,
2757 CFG_SET_TXPOWER_LIMIT2G_MAX),
2758
2759 REG_VARIABLE(CFG_SET_TXPOWER_LIMIT5G_NAME, WLAN_PARAM_Integer,
2760 struct hdd_config, TxPower5g,
2761 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2762 CFG_SET_TXPOWER_LIMIT5G_DEFAULT,
2763 CFG_SET_TXPOWER_LIMIT5G_MIN,
2764 CFG_SET_TXPOWER_LIMIT5G_MAX),
2765
2766 REG_VARIABLE(CFG_ENABLE_DEBUG_CONNECT_ISSUE, WLAN_PARAM_Integer,
2767 struct hdd_config, gEnableDebugLog,
2768 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2769 CFG_ENABLE_DEBUG_CONNECT_ISSUE_DEFAULT,
2770 CFG_ENABLE_DEBUG_CONNECT_ISSUE_MIN,
2771 CFG_ENABLE_DEBUG_CONNECT_ISSUE_MAX),
2772
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002773 REG_VARIABLE(CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_NAME,
2774 WLAN_PARAM_Integer,
2775 struct hdd_config, fDfsPhyerrFilterOffload,
2776 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2777 CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_DEFAULT,
2778 CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_MIN,
2779 CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_MAX),
2780
2781 REG_VARIABLE(CFG_ENABLE_OVERLAP_CH, WLAN_PARAM_Integer,
2782 struct hdd_config, gEnableOverLapCh,
2783 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2784 CFG_ENABLE_OVERLAP_CH_DEFAULT,
2785 CFG_ENABLE_OVERLAP_CH_MIN,
2786 CFG_ENABLE_OVERLAP_CH_MAX),
2787
2788 REG_VARIABLE(CFG_REG_CHANGE_DEF_COUNTRY_NAME, WLAN_PARAM_Integer,
2789 struct hdd_config, fRegChangeDefCountry,
2790 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2791 CFG_REG_CHANGE_DEF_COUNTRY_DEFAULT,
2792 CFG_REG_CHANGE_DEF_COUNTRY_MIN,
2793 CFG_REG_CHANGE_DEF_COUNTRY_MAX),
2794
gaoleze5108942017-03-31 16:56:42 +08002795 REG_VARIABLE(CFG_ACS_WITH_MORE_PARAM_NAME, WLAN_PARAM_Integer,
2796 struct hdd_config, acs_with_more_param,
2797 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2798 CFG_ACS_WITH_MORE_PARAM_DEFAULT,
2799 CFG_ACS_WITH_MORE_PARAM_MIN,
2800 CFG_ACS_WITH_MORE_PARAM_MAX),
2801
2802 REG_VARIABLE(CFG_AUTO_CHANNEL_SELECT_WEIGHT, WLAN_PARAM_HexInteger,
2803 struct hdd_config, auto_channel_select_weight,
2804 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2805 CFG_AUTO_CHANNEL_SELECT_WEIGHT_DEFAULT,
2806 CFG_AUTO_CHANNEL_SELECT_WEIGHT_MIN,
2807 CFG_AUTO_CHANNEL_SELECT_WEIGHT_MAX),
2808
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002809#ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL
2810 REG_VARIABLE(CFG_LL_TX_FLOW_LWM, WLAN_PARAM_Integer,
2811 struct hdd_config, TxFlowLowWaterMark,
2812 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2813 CFG_LL_TX_FLOW_LWM_DEFAULT,
2814 CFG_LL_TX_FLOW_LWM_MIN,
2815 CFG_LL_TX_FLOW_LWM_MAX),
2816 REG_VARIABLE(CFG_LL_TX_FLOW_HWM_OFFSET, WLAN_PARAM_Integer,
2817 struct hdd_config, TxFlowHighWaterMarkOffset,
2818 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2819 CFG_LL_TX_FLOW_HWM_OFFSET_DEFAULT,
2820 CFG_LL_TX_FLOW_HWM_OFFSET_MIN,
2821 CFG_LL_TX_FLOW_HWM_OFFSET_MAX),
2822 REG_VARIABLE(CFG_LL_TX_FLOW_MAX_Q_DEPTH, WLAN_PARAM_Integer,
2823 struct hdd_config, TxFlowMaxQueueDepth,
2824 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2825 CFG_LL_TX_FLOW_MAX_Q_DEPTH_DEFAULT,
2826 CFG_LL_TX_FLOW_MAX_Q_DEPTH_MIN,
2827 CFG_LL_TX_FLOW_MAX_Q_DEPTH_MAX),
2828 REG_VARIABLE(CFG_LL_TX_LBW_FLOW_LWM, WLAN_PARAM_Integer,
2829 struct hdd_config, TxLbwFlowLowWaterMark,
2830 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2831 CFG_LL_TX_LBW_FLOW_LWM_DEFAULT,
2832 CFG_LL_TX_LBW_FLOW_LWM_MIN,
2833 CFG_LL_TX_LBW_FLOW_LWM_MAX),
2834
2835 REG_VARIABLE(CFG_LL_TX_LBW_FLOW_HWM_OFFSET, WLAN_PARAM_Integer,
2836 struct hdd_config, TxLbwFlowHighWaterMarkOffset,
2837 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2838 CFG_LL_TX_LBW_FLOW_HWM_OFFSET_DEFAULT,
2839 CFG_LL_TX_LBW_FLOW_HWM_OFFSET_MIN,
2840 CFG_LL_TX_LBW_FLOW_HWM_OFFSET_MAX),
2841
2842 REG_VARIABLE(CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH, WLAN_PARAM_Integer,
2843 struct hdd_config, TxLbwFlowMaxQueueDepth,
2844 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2845 CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_DEFAULT,
2846 CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_MIN,
2847 CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_MAX),
2848
2849 REG_VARIABLE(CFG_LL_TX_HBW_FLOW_LWM, WLAN_PARAM_Integer,
2850 struct hdd_config, TxHbwFlowLowWaterMark,
2851 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2852 CFG_LL_TX_HBW_FLOW_LWM_DEFAULT,
2853 CFG_LL_TX_HBW_FLOW_LWM_MIN,
2854 CFG_LL_TX_HBW_FLOW_LWM_MAX),
2855
2856 REG_VARIABLE(CFG_LL_TX_HBW_FLOW_HWM_OFFSET, WLAN_PARAM_Integer,
2857 struct hdd_config, TxHbwFlowHighWaterMarkOffset,
2858 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2859 CFG_LL_TX_HBW_FLOW_HWM_OFFSET_DEFAULT,
2860 CFG_LL_TX_HBW_FLOW_HWM_OFFSET_MIN,
2861 CFG_LL_TX_HBW_FLOW_HWM_OFFSET_MAX),
2862
2863 REG_VARIABLE(CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH, WLAN_PARAM_Integer,
2864 struct hdd_config, TxHbwFlowMaxQueueDepth,
2865 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2866 CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_DEFAULT,
2867 CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_MIN,
2868 CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_MAX),
2869#endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */
2870#ifdef QCA_LL_TX_FLOW_CONTROL_V2
2871
2872 REG_VARIABLE(CFG_LL_TX_FLOW_STOP_QUEUE_TH, WLAN_PARAM_Integer,
2873 struct hdd_config, TxFlowStopQueueThreshold,
2874 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2875 CFG_LL_TX_FLOW_STOP_QUEUE_TH_DEFAULT,
2876 CFG_LL_TX_FLOW_STOP_QUEUE_TH_MIN,
2877 CFG_LL_TX_FLOW_STOP_QUEUE_TH_MAX),
2878
2879 REG_VARIABLE(CFG_LL_TX_FLOW_START_QUEUE_OFFSET, WLAN_PARAM_Integer,
2880 struct hdd_config, TxFlowStartQueueOffset,
2881 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2882 CFG_LL_TX_FLOW_START_QUEUE_OFFSET_DEFAULT,
2883 CFG_LL_TX_FLOW_START_QUEUE_OFFSET_MIN,
2884 CFG_LL_TX_FLOW_START_QUEUE_OFFSET_MAX),
2885
2886#endif
2887 REG_VARIABLE(CFG_INITIAL_DWELL_TIME_NAME, WLAN_PARAM_Integer,
2888 struct hdd_config, nInitialDwellTime,
2889 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2890 CFG_INITIAL_DWELL_TIME_DEFAULT,
2891 CFG_INITIAL_DWELL_TIME_MIN,
2892 CFG_INITIAL_DWELL_TIME_MAX),
2893
2894 REG_VARIABLE(CFG_INITIAL_SCAN_NO_DFS_CHNL_NAME, WLAN_PARAM_Integer,
2895 struct hdd_config, initial_scan_no_dfs_chnl,
2896 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2897 CFG_INITIAL_SCAN_NO_DFS_CHNL_DEFAULT,
2898 CFG_INITIAL_SCAN_NO_DFS_CHNL_MIN,
2899 CFG_INITIAL_SCAN_NO_DFS_CHNL_MAX),
2900
2901 REG_VARIABLE(CFG_SAP_MAX_OFFLOAD_PEERS, WLAN_PARAM_Integer,
2902 struct hdd_config, apMaxOffloadPeers,
2903 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2904 CFG_SAP_MAX_OFFLOAD_PEERS_DEFAULT,
2905 CFG_SAP_MAX_OFFLOAD_PEERS_MIN,
2906 CFG_SAP_MAX_OFFLOAD_PEERS_MAX),
2907
2908 REG_VARIABLE(CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS, WLAN_PARAM_Integer,
2909 struct hdd_config, apMaxOffloadReorderBuffs,
2910 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2911 CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_DEFAULT,
2912 CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_MIN,
2913 CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_MAX),
2914
2915 REG_VARIABLE(CFG_ADVERTISE_CONCURRENT_OPERATION_NAME,
2916 WLAN_PARAM_Integer,
2917 struct hdd_config, advertiseConcurrentOperation,
2918 VAR_FLAGS_OPTIONAL,
2919 CFG_ADVERTISE_CONCURRENT_OPERATION_DEFAULT,
2920 CFG_ADVERTISE_CONCURRENT_OPERATION_MIN,
2921 CFG_ADVERTISE_CONCURRENT_OPERATION_MAX),
2922
2923 REG_VARIABLE(CFG_ENABLE_MEMORY_DEEP_SLEEP, WLAN_PARAM_Integer,
2924 struct hdd_config, enableMemDeepSleep,
2925 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2926 CFG_ENABLE_MEMORY_DEEP_SLEEP_DEFAULT,
2927 CFG_ENABLE_MEMORY_DEEP_SLEEP_MIN,
2928 CFG_ENABLE_MEMORY_DEEP_SLEEP_MAX),
2929
Dustin Brown732ab9c2017-06-15 13:24:09 -07002930 REG_VARIABLE(CFG_ENABLE_CCK_TX_FIR_OVERRIDE_NAME, WLAN_PARAM_Integer,
2931 struct hdd_config, enable_cck_tx_fir_override,
2932 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2933 CFG_ENABLE_CCK_TX_FIR_OVERRIDE_DEFAULT,
2934 CFG_ENABLE_CCK_TX_FIR_OVERRIDE_MIN,
2935 CFG_ENABLE_CCK_TX_FIR_OVERRIDE_MAX),
2936
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002937 REG_VARIABLE(CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_NAME, WLAN_PARAM_Integer,
2938 struct hdd_config, debugP2pRemainOnChannel,
2939 VAR_FLAGS_OPTIONAL,
2940 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_DEFAULT,
2941 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MIN,
2942 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MAX),
2943
Nirav Shahbb8e47c2018-05-17 16:56:41 +05302944#ifndef REMOVE_PKT_LOG
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002945 REG_VARIABLE(CFG_ENABLE_PACKET_LOG, WLAN_PARAM_Integer,
2946 struct hdd_config, enablePacketLog,
2947 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2948 CFG_ENABLE_PACKET_LOG_DEFAULT,
2949 CFG_ENABLE_PACKET_LOG_MIN,
2950 CFG_ENABLE_PACKET_LOG_MAX),
Nirav Shahbb8e47c2018-05-17 16:56:41 +05302951#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002952
2953#ifdef WLAN_FEATURE_ROAM_OFFLOAD
2954 REG_VARIABLE(CFG_ROAMING_OFFLOAD_NAME, WLAN_PARAM_Integer,
2955 struct hdd_config, isRoamOffloadEnabled,
2956 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2957 CFG_ROAMING_OFFLOAD_DEFAULT,
2958 CFG_ROAMING_OFFLOAD_MIN,
2959 CFG_ROAMING_OFFLOAD_MAX),
2960#endif
2961#ifdef MSM_PLATFORM
2962 REG_VARIABLE(CFG_BUS_BANDWIDTH_HIGH_THRESHOLD, WLAN_PARAM_Integer,
2963 struct hdd_config, busBandwidthHighThreshold,
2964 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2965 CFG_BUS_BANDWIDTH_HIGH_THRESHOLD_DEFAULT,
2966 CFG_BUS_BANDWIDTH_HIGH_THRESHOLD_MIN,
2967 CFG_BUS_BANDWIDTH_HIGH_THRESHOLD_MAX),
2968
2969 REG_VARIABLE(CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD, WLAN_PARAM_Integer,
2970 struct hdd_config, busBandwidthMediumThreshold,
2971 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2972 CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD_DEFAULT,
2973 CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD_MIN,
2974 CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD_MAX),
2975
2976 REG_VARIABLE(CFG_BUS_BANDWIDTH_LOW_THRESHOLD, WLAN_PARAM_Integer,
2977 struct hdd_config, busBandwidthLowThreshold,
2978 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2979 CFG_BUS_BANDWIDTH_LOW_THRESHOLD_DEFAULT,
2980 CFG_BUS_BANDWIDTH_LOW_THRESHOLD_MIN,
2981 CFG_BUS_BANDWIDTH_LOW_THRESHOLD_MAX),
2982
2983 REG_VARIABLE(CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL, WLAN_PARAM_Integer,
2984 struct hdd_config, busBandwidthComputeInterval,
2985 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2986 CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_DEFAULT,
2987 CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MIN,
2988 CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MAX),
Ravi Joshie2331e82015-07-01 18:18:54 -07002989
Prakash Manjunathappae73e3b52018-02-27 18:56:22 -08002990 REG_VARIABLE(CFG_ENABLE_TCP_LIMIT_OUTPUT, WLAN_PARAM_Integer,
2991 struct hdd_config, enable_tcp_limit_output,
2992 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2993 CFG_ENABLE_TCP_LIMIT_OUTPUT_DEFAULT,
2994 CFG_ENABLE_TCP_LIMIT_OUTPUT_MIN,
2995 CFG_ENABLE_TCP_LIMIT_OUTPUT_MAX),
2996
Mohit Khanna6272fb682017-04-13 09:34:36 -07002997 REG_VARIABLE(CFG_ENABLE_TCP_ADV_WIN_SCALE, WLAN_PARAM_Integer,
2998 struct hdd_config, enable_tcp_adv_win_scale,
2999 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3000 CFG_ENABLE_TCP_ADV_WIN_SCALE_DEFAULT,
3001 CFG_ENABLE_TCP_ADV_WIN_SCALE_MIN,
3002 CFG_ENABLE_TCP_ADV_WIN_SCALE_MAX),
3003
Ravi Joshie2331e82015-07-01 18:18:54 -07003004 REG_VARIABLE(CFG_ENABLE_TCP_DELACK, WLAN_PARAM_Integer,
3005 struct hdd_config, enable_tcp_delack,
3006 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3007 CFG_ENABLE_TCP_DELACK_DEFAULT,
3008 CFG_ENABLE_TCP_DELACK_MIN,
3009 CFG_ENABLE_TCP_DELACK_MAX),
3010
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003011 REG_VARIABLE(CFG_TCP_DELACK_THRESHOLD_HIGH, WLAN_PARAM_Integer,
3012 struct hdd_config, tcpDelackThresholdHigh,
3013 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3014 CFG_TCP_DELACK_THRESHOLD_HIGH_DEFAULT,
3015 CFG_TCP_DELACK_THRESHOLD_HIGH_MIN,
3016 CFG_TCP_DELACK_THRESHOLD_HIGH_MAX),
Ravi Joshie2331e82015-07-01 18:18:54 -07003017
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003018 REG_VARIABLE(CFG_TCP_DELACK_THRESHOLD_LOW, WLAN_PARAM_Integer,
3019 struct hdd_config, tcpDelackThresholdLow,
3020 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3021 CFG_TCP_DELACK_THRESHOLD_LOW_DEFAULT,
3022 CFG_TCP_DELACK_THRESHOLD_LOW_MIN,
3023 CFG_TCP_DELACK_THRESHOLD_LOW_MAX),
Mohit Khannae71e2262015-11-10 09:37:24 -08003024
Ravi Joshib89e7f72016-09-07 13:43:15 -07003025 REG_VARIABLE(CFG_TCP_DELACK_TIMER_COUNT, WLAN_PARAM_Integer,
3026 struct hdd_config, tcp_delack_timer_count,
3027 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3028 CFG_TCP_DELACK_TIMER_COUNT_DEFAULT,
3029 CFG_TCP_DELACK_TIMER_COUNT_MIN,
3030 CFG_TCP_DELACK_TIMER_COUNT_MAX),
Mohit Khannae71e2262015-11-10 09:37:24 -08003031
Ravi Joshib89e7f72016-09-07 13:43:15 -07003032 REG_VARIABLE(CFG_TCP_TX_HIGH_TPUT_THRESHOLD_NAME, WLAN_PARAM_Integer,
3033 struct hdd_config, tcp_tx_high_tput_thres,
3034 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3035 CFG_TCP_TX_HIGH_TPUT_THRESHOLD_DEFAULT,
3036 CFG_TCP_TX_HIGH_TPUT_THRESHOLD_MIN,
3037 CFG_TCP_TX_HIGH_TPUT_THRESHOLD_MAX),
Mohit Khannaca4173b2017-09-12 21:52:19 -07003038 REG_VARIABLE(CFG_PERIODIC_STATS_DISPLAY_TIME_NAME, WLAN_PARAM_Integer,
3039 struct hdd_config, periodic_stats_disp_time,
3040 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3041 CFG_PERIODIC_STATS_DISPLAY_TIME_DEFAULT,
3042 CFG_PERIODIC_STATS_DISPLAY_TIME_MIN,
3043 CFG_PERIODIC_STATS_DISPLAY_TIME_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003044#endif
3045
3046 REG_VARIABLE(CFG_ENABLE_FW_LOG_TYPE, WLAN_PARAM_Integer,
3047 struct hdd_config, enableFwLogType,
3048 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3049 CFG_ENABLE_FW_LOG_TYPE_DEFAULT,
3050 CFG_ENABLE_FW_LOG_TYPE_MIN,
3051 CFG_ENABLE_FW_LOG_TYPE_MAX),
3052
3053 REG_VARIABLE(CFG_ENABLE_FW_DEBUG_LOG_LEVEL, WLAN_PARAM_Integer,
3054 struct hdd_config, enableFwLogLevel,
3055 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3056 CFG_ENABLE_FW_DEBUG_LOG_LEVEL_DEFAULT,
3057 CFG_ENABLE_FW_DEBUG_LOG_LEVEL_MIN,
3058 CFG_ENABLE_FW_DEBUG_LOG_LEVEL_MAX),
3059
Rajeev Kumar Sirasanagandla0be56df2016-09-08 19:19:47 +05303060 REG_VARIABLE(CFG_ENABLE_FW_RTS_PROFILE, WLAN_PARAM_Integer,
3061 struct hdd_config, rts_profile,
3062 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3063 CFG_ENABLE_FW_RTS_PROFILE_DEFAULT,
3064 CFG_ENABLE_FW_RTS_PROFILE_MIN,
3065 CFG_ENABLE_FW_RTS_PROFILE_MAX),
3066
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003067 REG_VARIABLE_STRING(CFG_ENABLE_FW_MODULE_LOG_LEVEL, WLAN_PARAM_String,
3068 struct hdd_config, enableFwModuleLogLevel,
3069 VAR_FLAGS_OPTIONAL,
3070 (void *)CFG_ENABLE_FW_MODULE_LOG_DEFAULT),
3071
Sourav Mohapatra57006c72017-11-19 16:15:55 +05303072 REG_VARIABLE_STRING(CFG_ENABLE_CONCURRENT_STA, WLAN_PARAM_String,
3073 struct hdd_config, enableConcurrentSTA,
3074 VAR_FLAGS_NONE,
3075 (void *)CFG_ENABLE_CONCURRENT_STA_DEFAULT),
3076
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003077#ifdef WLAN_FEATURE_11W
3078 REG_VARIABLE(CFG_PMF_SA_QUERY_MAX_RETRIES_NAME, WLAN_PARAM_Integer,
3079 struct hdd_config, pmfSaQueryMaxRetries,
3080 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3081 CFG_PMF_SA_QUERY_MAX_RETRIES_DEFAULT,
3082 CFG_PMF_SA_QUERY_MAX_RETRIES_MIN,
3083 CFG_PMF_SA_QUERY_MAX_RETRIES_MAX),
3084
3085 REG_VARIABLE(CFG_PMF_SA_QUERY_RETRY_INTERVAL_NAME, WLAN_PARAM_Integer,
3086 struct hdd_config, pmfSaQueryRetryInterval,
3087 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3088 CFG_PMF_SA_QUERY_RETRY_INTERVAL_DEFAULT,
3089 CFG_PMF_SA_QUERY_RETRY_INTERVAL_MIN,
3090 CFG_PMF_SA_QUERY_RETRY_INTERVAL_MAX),
3091#endif
3092 REG_VARIABLE(CFG_MAX_CONCURRENT_CONNECTIONS_NAME, WLAN_PARAM_Integer,
3093 struct hdd_config, gMaxConcurrentActiveSessions,
3094 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3095 CFG_MAX_CONCURRENT_CONNECTIONS_DEFAULT,
3096 CFG_MAX_CONCURRENT_CONNECTIONS_MIN,
3097 CFG_MAX_CONCURRENT_CONNECTIONS_MAX),
3098
SaidiReddy Yenugacc733af2016-11-09 17:45:42 +05303099 REG_VARIABLE(CFG_ENABLE_CRASH_INJECT, WLAN_PARAM_Integer,
3100 struct hdd_config, crash_inject_enabled,
3101 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3102 CFG_ENABLE_CRASH_INJECT_DEFAULT,
3103 CFG_ENABLE_CRASH_INJECT_MIN,
3104 CFG_ENABLE_CRASH_INJECT_MAX),
3105
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003106 REG_VARIABLE(CFG_IGNORE_CAC_NAME, WLAN_PARAM_Integer,
3107 struct hdd_config, ignoreCAC,
3108 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3109 CFG_IGNORE_CAC_DEFAULT,
3110 CFG_IGNORE_CAC_MIN,
3111 CFG_IGNORE_CAC_MAX),
3112
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003113 REG_VARIABLE(CFG_DFS_RADAR_PRI_MULTIPLIER_NAME, WLAN_PARAM_Integer,
3114 struct hdd_config, dfsRadarPriMultiplier,
3115 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3116 CFG_DFS_RADAR_PRI_MULTIPLIER_DEFAULT,
3117 CFG_DFS_RADAR_PRI_MULTIPLIER_MIN,
3118 CFG_DFS_RADAR_PRI_MULTIPLIER_MAX),
3119
3120 REG_VARIABLE(CFG_REORDER_OFFLOAD_SUPPORT_NAME, WLAN_PARAM_Integer,
3121 struct hdd_config, reorderOffloadSupport,
3122 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3123 CFG_REORDER_OFFLOAD_SUPPORT_DEFAULT,
3124 CFG_REORDER_OFFLOAD_SUPPORT_MIN,
3125 CFG_REORDER_OFFLOAD_SUPPORT_MAX),
3126
3127 REG_VARIABLE(CFG_IPA_UC_TX_BUF_COUNT_NAME, WLAN_PARAM_Integer,
3128 struct hdd_config, IpaUcTxBufCount,
3129 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3130 CFG_IPA_UC_TX_BUF_COUNT_DEFAULT,
3131 CFG_IPA_UC_TX_BUF_COUNT_MIN,
3132 CFG_IPA_UC_TX_BUF_COUNT_MAX),
3133
3134 REG_VARIABLE(CFG_IPA_UC_TX_BUF_SIZE_NAME, WLAN_PARAM_Integer,
3135 struct hdd_config, IpaUcTxBufSize,
3136 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3137 CFG_IPA_UC_TX_BUF_SIZE_DEFAULT,
3138 CFG_IPA_UC_TX_BUF_SIZE_MIN,
3139 CFG_IPA_UC_TX_BUF_SIZE_MAX),
3140
3141 REG_VARIABLE(CFG_IPA_UC_RX_IND_RING_COUNT_NAME, WLAN_PARAM_Integer,
3142 struct hdd_config, IpaUcRxIndRingCount,
3143 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3144 CFG_IPA_UC_RX_IND_RING_COUNT_DEFAULT,
3145 CFG_IPA_UC_RX_IND_RING_COUNT_MIN,
3146 CFG_IPA_UC_RX_IND_RING_COUNT_MAX),
3147
3148 REG_VARIABLE(CFG_IPA_UC_TX_PARTITION_BASE_NAME, WLAN_PARAM_Integer,
3149 struct hdd_config, IpaUcTxPartitionBase,
3150 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3151 CFG_IPA_UC_TX_PARTITION_BASE_DEFAULT,
3152 CFG_IPA_UC_TX_PARTITION_BASE_MIN,
3153 CFG_IPA_UC_TX_PARTITION_BASE_MAX),
3154#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
3155 REG_VARIABLE(CFG_WLAN_LOGGING_SUPPORT_NAME, WLAN_PARAM_Integer,
Nirav Shaheb017be2018-02-15 11:20:58 +05303156 struct hdd_config, wlan_logging_enable,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003157 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3158 CFG_WLAN_LOGGING_SUPPORT_DEFAULT,
3159 CFG_WLAN_LOGGING_SUPPORT_DISABLE,
3160 CFG_WLAN_LOGGING_SUPPORT_ENABLE),
3161
Srinivas Girigowda8187e792017-03-03 11:50:59 -08003162 REG_VARIABLE(CFG_WLAN_LOGGING_CONSOLE_SUPPORT_NAME,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003163 WLAN_PARAM_Integer,
Nirav Shaheb017be2018-02-15 11:20:58 +05303164 struct hdd_config, wlan_logging_to_console,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003165 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Srinivas Girigowda8187e792017-03-03 11:50:59 -08003166 CFG_WLAN_LOGGING_CONSOLE_SUPPORT_DEFAULT,
3167 CFG_WLAN_LOGGING_CONSOLE_SUPPORT_DISABLE,
3168 CFG_WLAN_LOGGING_CONSOLE_SUPPORT_ENABLE),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003169#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
3170
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003171#ifdef WLAN_FEATURE_LPSS
3172 REG_VARIABLE(CFG_ENABLE_LPASS_SUPPORT, WLAN_PARAM_Integer,
Komal Seelamc11bb222016-01-27 18:57:10 +05303173 struct hdd_config, enable_lpass_support,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003174 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3175 CFG_ENABLE_LPASS_SUPPORT_DEFAULT,
3176 CFG_ENABLE_LPASS_SUPPORT_MIN,
3177 CFG_ENABLE_LPASS_SUPPORT_MAX),
3178#endif
3179
3180#ifdef WLAN_FEATURE_NAN
3181 REG_VARIABLE(CFG_ENABLE_NAN_SUPPORT, WLAN_PARAM_Integer,
3182 struct hdd_config, enable_nan_support,
3183 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3184 CFG_ENABLE_NAN_SUPPORT_DEFAULT,
3185 CFG_ENABLE_NAN_SUPPORT_MIN,
3186 CFG_ENABLE_NAN_SUPPORT_MAX),
3187#endif
3188
3189 REG_VARIABLE(CFG_ENABLE_SELF_RECOVERY, WLAN_PARAM_Integer,
3190 struct hdd_config, enableSelfRecovery,
3191 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3192 CFG_ENABLE_SELF_RECOVERY_DEFAULT,
3193 CFG_ENABLE_SELF_RECOVERY_MIN,
3194 CFG_ENABLE_SELF_RECOVERY_MAX),
3195
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003196 REG_VARIABLE(CFG_ENABLE_SAP_SUSPEND, WLAN_PARAM_Integer,
Jeff Johnson60cbd2d2017-11-03 18:26:28 -07003197 struct hdd_config, enable_sap_suspend,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003198 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3199 CFG_ENABLE_SAP_SUSPEND_DEFAULT,
3200 CFG_ENABLE_SAP_SUSPEND_MIN,
3201 CFG_ENABLE_SAP_SUSPEND_MAX),
3202
3203#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
3204 REG_VARIABLE(CFG_EXTWOW_GO_TO_SUSPEND, WLAN_PARAM_Integer,
3205 struct hdd_config, extWowGotoSuspend,
3206 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3207 CFG_EXTWOW_GO_TO_SUSPEND_DEFAULT,
3208 CFG_EXTWOW_GO_TO_SUSPEND_MIN,
3209 CFG_EXTWOW_GO_TO_SUSPEND_MAX),
3210
3211 REG_VARIABLE(CFG_EXTWOW_APP1_WAKE_PIN_NUMBER, WLAN_PARAM_Integer,
3212 struct hdd_config, extWowApp1WakeupPinNumber,
3213 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3214 CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_DEFAULT,
3215 CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_MIN,
3216 CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_MAX),
3217
3218 REG_VARIABLE(CFG_EXTWOW_APP2_WAKE_PIN_NUMBER, WLAN_PARAM_Integer,
3219 struct hdd_config, extWowApp2WakeupPinNumber,
3220 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3221 CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_DEFAULT,
3222 CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_MIN,
3223 CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_MAX),
3224
3225 REG_VARIABLE(CFG_EXTWOW_KA_INIT_PING_INTERVAL, WLAN_PARAM_Integer,
3226 struct hdd_config, extWowApp2KAInitPingInterval,
3227 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3228 CFG_EXTWOW_KA_INIT_PING_INTERVAL_DEFAULT,
3229 CFG_EXTWOW_KA_INIT_PING_INTERVAL_MIN,
3230 CFG_EXTWOW_KA_INIT_PING_INTERVAL_MAX),
3231
3232 REG_VARIABLE(CFG_EXTWOW_KA_MIN_PING_INTERVAL, WLAN_PARAM_Integer,
3233 struct hdd_config, extWowApp2KAMinPingInterval,
3234 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3235 CFG_EXTWOW_KA_MIN_PING_INTERVAL_DEFAULT,
3236 CFG_EXTWOW_KA_MIN_PING_INTERVAL_MIN,
3237 CFG_EXTWOW_KA_MIN_PING_INTERVAL_MAX),
3238
3239 REG_VARIABLE(CFG_EXTWOW_KA_MAX_PING_INTERVAL, WLAN_PARAM_Integer,
3240 struct hdd_config, extWowApp2KAMaxPingInterval,
3241 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3242 CFG_EXTWOW_KA_MAX_PING_INTERVAL_DEFAULT,
3243 CFG_EXTWOW_KA_MAX_PING_INTERVAL_MIN,
3244 CFG_EXTWOW_KA_MAX_PING_INTERVAL_MAX),
3245
3246 REG_VARIABLE(CFG_EXTWOW_KA_INC_PING_INTERVAL, WLAN_PARAM_Integer,
3247 struct hdd_config, extWowApp2KAIncPingInterval,
3248 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3249 CFG_EXTWOW_KA_INC_PING_INTERVAL_DEFAULT,
3250 CFG_EXTWOW_KA_INC_PING_INTERVAL_MIN,
3251 CFG_EXTWOW_KA_INC_PING_INTERVAL_MAX),
3252
3253 REG_VARIABLE(CFG_EXTWOW_TCP_SRC_PORT, WLAN_PARAM_Integer,
3254 struct hdd_config, extWowApp2TcpSrcPort,
3255 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3256 CFG_EXTWOW_TCP_SRC_PORT_DEFAULT,
3257 CFG_EXTWOW_TCP_SRC_PORT_MIN,
3258 CFG_EXTWOW_TCP_SRC_PORT_MAX),
3259
3260 REG_VARIABLE(CFG_EXTWOW_TCP_DST_PORT, WLAN_PARAM_Integer,
3261 struct hdd_config, extWowApp2TcpDstPort,
3262 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3263 CFG_EXTWOW_TCP_DST_PORT_DEFAULT,
3264 CFG_EXTWOW_TCP_DST_PORT_MIN,
3265 CFG_EXTWOW_TCP_DST_PORT_MAX),
3266
3267 REG_VARIABLE(CFG_EXTWOW_TCP_TX_TIMEOUT, WLAN_PARAM_Integer,
3268 struct hdd_config, extWowApp2TcpTxTimeout,
3269 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3270 CFG_EXTWOW_TCP_TX_TIMEOUT_DEFAULT,
3271 CFG_EXTWOW_TCP_TX_TIMEOUT_MIN,
3272 CFG_EXTWOW_TCP_TX_TIMEOUT_MAX),
3273
3274 REG_VARIABLE(CFG_EXTWOW_TCP_RX_TIMEOUT, WLAN_PARAM_Integer,
3275 struct hdd_config, extWowApp2TcpRxTimeout,
3276 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3277 CFG_EXTWOW_TCP_RX_TIMEOUT_DEFAULT,
3278 CFG_EXTWOW_TCP_RX_TIMEOUT_MIN,
3279 CFG_EXTWOW_TCP_RX_TIMEOUT_MAX),
3280#endif
3281 REG_VARIABLE(CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_NAME, WLAN_PARAM_Integer,
3282 struct hdd_config, gEnableDeauthToDisassocMap,
3283 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3284 CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_DEFAULT,
3285 CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_MIN,
3286 CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_MAX),
3287#ifdef DHCP_SERVER_OFFLOAD
3288 REG_VARIABLE(CFG_DHCP_SERVER_OFFLOAD_SUPPORT_NAME, WLAN_PARAM_Integer,
3289 struct hdd_config, enableDHCPServerOffload,
3290 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3291 CFG_DHCP_SERVER_OFFLOAD_SUPPORT_DEFAULT,
3292 CFG_DHCP_SERVER_OFFLOAD_SUPPORT_MIN,
3293 CFG_DHCP_SERVER_OFFLOAD_SUPPORT_MAX),
3294 REG_VARIABLE(CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_NAME,
3295 WLAN_PARAM_Integer,
3296 struct hdd_config, dhcpMaxNumClients,
3297 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3298 CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_DEFAULT,
3299 CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_MIN,
3300 CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_MAX),
3301 REG_VARIABLE_STRING(CFG_DHCP_SERVER_IP_NAME, WLAN_PARAM_String,
3302 struct hdd_config, dhcpServerIP,
3303 VAR_FLAGS_OPTIONAL,
3304 (void *)CFG_DHCP_SERVER_IP_DEFAULT),
3305#endif /* DHCP_SERVER_OFFLOAD */
3306
3307 REG_VARIABLE(CFG_ENABLE_DEAUTH_BEFORE_CONNECTION, WLAN_PARAM_Integer,
Jeff Johnson1ad3fbd2017-11-03 08:00:02 -07003308 struct hdd_config, send_deauth_before_con,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003309 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3310 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_DEFAULT,
3311 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MIN,
3312 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MAX),
3313
3314 REG_VARIABLE(CFG_ENABLE_MAC_ADDR_SPOOFING, WLAN_PARAM_Integer,
3315 struct hdd_config, enable_mac_spoofing,
3316 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3317 CFG_ENABLE_MAC_ADDR_SPOOFING_DEFAULT,
3318 CFG_ENABLE_MAC_ADDR_SPOOFING_MIN,
3319 CFG_ENABLE_MAC_ADDR_SPOOFING_MAX),
3320
3321 REG_VARIABLE(CFG_ENABLE_CUSTOM_CONC_RULE1_NAME, WLAN_PARAM_Integer,
3322 struct hdd_config, conc_custom_rule1,
3323 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3324 CFG_ENABLE_CUSTOM_CONC_RULE1_NAME_DEFAULT,
3325 CFG_ENABLE_CUSTOM_CONC_RULE1_NAME_MIN,
3326 CFG_ENABLE_CUSTOM_CONC_RULE1_NAME_MAX),
3327
3328 REG_VARIABLE(CFG_ENABLE_CUSTOM_CONC_RULE2_NAME, WLAN_PARAM_Integer,
3329 struct hdd_config, conc_custom_rule2,
3330 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3331 CFG_ENABLE_CUSTOM_CONC_RULE2_NAME_DEFAULT,
3332 CFG_ENABLE_CUSTOM_CONC_RULE2_NAME_MIN,
3333 CFG_ENABLE_CUSTOM_CONC_RULE2_NAME_MAX),
3334
3335 REG_VARIABLE(CFG_ENABLE_STA_CONNECTION_IN_5GHZ, WLAN_PARAM_Integer,
3336 struct hdd_config, is_sta_connection_in_5gz_enabled,
3337 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3338 CFG_ENABLE_STA_CONNECTION_IN_5GHZ_DEFAULT,
3339 CFG_ENABLE_STA_CONNECTION_IN_5GHZ_MIN,
3340 CFG_ENABLE_STA_CONNECTION_IN_5GHZ_MAX),
3341
3342 REG_VARIABLE(CFG_STA_MIRACAST_MCC_REST_TIME_VAL, WLAN_PARAM_Integer,
3343 struct hdd_config, sta_miracast_mcc_rest_time_val,
3344 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3345 CFG_STA_MIRACAST_MCC_REST_TIME_VAL_DEFAULT,
3346 CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MIN,
3347 CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MAX),
3348
3349#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
3350 REG_VARIABLE(CFG_SAP_MCC_CHANNEL_AVOIDANCE_NAME,
3351 WLAN_PARAM_Integer,
3352 struct hdd_config,
3353 sap_channel_avoidance,
3354 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3355 CFG_SAP_MCC_CHANNEL_AVOIDANCE_DEFAULT,
3356 CFG_SAP_MCC_CHANNEL_AVOIDANCE_MIN,
3357 CFG_SAP_MCC_CHANNEL_AVOIDANCE_MAX),
3358#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
3359
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05303360 REG_VARIABLE(CFG_SAP_11AC_OVERRIDE_NAME, WLAN_PARAM_Integer,
3361 struct hdd_config, sap_11ac_override,
3362 VAR_FLAGS_OPTIONAL |
3363 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3364 CFG_SAP_11AC_OVERRIDE_DEFAULT,
3365 CFG_SAP_11AC_OVERRIDE_MIN,
3366 CFG_SAP_11AC_OVERRIDE_MAX),
3367
3368 REG_VARIABLE(CFG_GO_11AC_OVERRIDE_NAME, WLAN_PARAM_Integer,
3369 struct hdd_config, go_11ac_override,
3370 VAR_FLAGS_OPTIONAL |
3371 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3372 CFG_GO_11AC_OVERRIDE_DEFAULT,
3373 CFG_GO_11AC_OVERRIDE_MIN,
3374 CFG_GO_11AC_OVERRIDE_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003375
3376 REG_VARIABLE(CFG_ENABLE_RAMDUMP_COLLECTION, WLAN_PARAM_Integer,
3377 struct hdd_config, is_ramdump_enabled,
3378 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3379 CFG_ENABLE_RAMDUMP_COLLECTION_DEFAULT,
3380 CFG_ENABLE_RAMDUMP_COLLECTION_MIN,
3381 CFG_ENABLE_RAMDUMP_COLLECTION_MAX),
3382
3383 REG_VARIABLE(CFG_SAP_DOT11MC, WLAN_PARAM_Integer,
3384 struct hdd_config, sap_dot11mc,
3385 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3386 CFG_SAP_DOT11MC_DEFAULT,
3387 CFG_SAP_DOT11MC_MIN,
3388 CFG_SAP_DOT11MC_MAX),
3389
3390 REG_VARIABLE(CFG_ENABLE_NON_DFS_CHAN_ON_RADAR, WLAN_PARAM_Integer,
3391 struct hdd_config, prefer_non_dfs_on_radar,
3392 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3393 CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_DEFAULT,
3394 CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MIN,
3395 CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MAX),
3396
Bala Venkateshf4928a42017-10-24 11:28:07 +05303397 REG_VARIABLE(CFG_P2P_LISTEN_DEFER_INTERVAL_NAME, WLAN_PARAM_Integer,
3398 struct hdd_config, p2p_listen_defer_interval,
3399 VAR_FLAGS_OPTIONAL |
3400 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3401 CFG_P2P_LISTEN_DEFER_INTERVAL_DEFAULT,
3402 CFG_P2P_LISTEN_DEFER_INTERVAL_MIN,
3403 CFG_P2P_LISTEN_DEFER_INTERVAL_MAX),
3404
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003405 REG_VARIABLE(CFG_MULTICAST_HOST_FW_MSGS, WLAN_PARAM_Integer,
3406 struct hdd_config, multicast_host_fw_msgs,
3407 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3408 CFG_MULTICAST_HOST_FW_MSGS_DEFAULT,
3409 CFG_MULTICAST_HOST_FW_MSGS_MIN,
3410 CFG_MULTICAST_HOST_FW_MSGS_MAX),
3411
3412 REG_VARIABLE(CFG_CONC_SYSTEM_PREF, WLAN_PARAM_Integer,
3413 struct hdd_config, conc_system_pref,
3414 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3415 CFG_CONC_SYSTEM_PREF_DEFAULT,
3416 CFG_CONC_SYSTEM_PREF_MIN,
3417 CFG_CONC_SYSTEM_PREF_MAX),
3418
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003419 REG_VARIABLE(CFG_TSO_ENABLED_NAME, WLAN_PARAM_Integer,
3420 struct hdd_config, tso_enable,
3421 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3422 CFG_TSO_ENABLED_DEFAULT,
3423 CFG_TSO_ENABLED_MIN,
3424 CFG_TSO_ENABLED_MAX),
3425
3426 REG_VARIABLE(CFG_LRO_ENABLED_NAME, WLAN_PARAM_Integer,
3427 struct hdd_config, lro_enable,
3428 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3429 CFG_LRO_ENABLED_DEFAULT,
3430 CFG_LRO_ENABLED_MIN,
3431 CFG_LRO_ENABLED_MAX),
3432
Manjunathappa Prakash7b0ad462018-04-15 00:37:16 -07003433 REG_VARIABLE(CFG_GRO_ENABLED_NAME, WLAN_PARAM_Integer,
3434 struct hdd_config, gro_enable,
3435 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3436 CFG_GRO_ENABLED_DEFAULT,
3437 CFG_GRO_ENABLED_MIN,
3438 CFG_GRO_ENABLED_MAX),
3439
Nachiket Kukadee547a482018-05-22 16:43:30 +05303440 REG_VARIABLE(CFG_APF_PACKET_FILTER_OFFLOAD, WLAN_PARAM_Integer,
3441 struct hdd_config, apf_packet_filter_enable,
Rajeev Kumardd3bc602016-08-16 14:21:05 -07003442 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Nachiket Kukadee547a482018-05-22 16:43:30 +05303443 CFG_APF_PACKET_FILTER_OFFLOAD_DEFAULT,
3444 CFG_APF_PACKET_FILTER_OFFLOAD_MIN,
3445 CFG_APF_PACKET_FILTER_OFFLOAD_MAX),
Rajeev Kumardd3bc602016-08-16 14:21:05 -07003446
Nitesh Shah61c10d92016-10-19 19:29:15 +05303447 REG_VARIABLE(CFG_TDLS_ENABLE_DEFER_TIMER, WLAN_PARAM_Integer,
3448 struct hdd_config, tdls_enable_defer_time,
3449 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3450 CFG_TDLS_ENABLE_DEFER_TIMER_DEFAULT,
3451 CFG_TDLS_ENABLE_DEFER_TIMER_MIN,
3452 CFG_TDLS_ENABLE_DEFER_TIMER_MAX),
3453
Manjunathappa Prakashfff753c2016-09-01 19:34:56 -07003454 REG_VARIABLE(CFG_FLOW_STEERING_ENABLED_NAME, WLAN_PARAM_Integer,
3455 struct hdd_config, flow_steering_enable,
3456 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3457 CFG_FLOW_STEERING_ENABLED_DEFAULT,
3458 CFG_FLOW_STEERING_ENABLED_MIN,
3459 CFG_FLOW_STEERING_ENABLED_MAX),
3460
Orhan K AKYILDIZ30e8cbc2017-08-11 18:00:28 -07003461 REG_VARIABLE(CFG_MAX_MSDUS_PER_RXIND_NAME, WLAN_PARAM_Integer,
3462 struct hdd_config, max_msdus_per_rxinorderind,
3463 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3464 CFG_MAX_MSDUS_PER_RXIND_DEFAULT,
3465 CFG_MAX_MSDUS_PER_RXIND_MIN,
3466 CFG_MAX_MSDUS_PER_RXIND_MAX),
3467
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003468 REG_VARIABLE(CFG_ACTIVE_MODE_OFFLOAD, WLAN_PARAM_Integer,
3469 struct hdd_config, active_mode_offload,
3470 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3471 CFG_ACTIVE_MODE_OFFLOAD_DEFAULT,
3472 CFG_ACTIVE_MODE_OFFLOAD_MIN,
3473 CFG_ACTIVE_MODE_OFFLOAD_MAX),
3474
3475 REG_VARIABLE(CFG_FINE_TIME_MEAS_CAPABILITY, WLAN_PARAM_HexInteger,
3476 struct hdd_config, fine_time_meas_cap,
3477 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3478 CFG_FINE_TIME_MEAS_CAPABILITY_DEFAULT,
3479 CFG_FINE_TIME_MEAS_CAPABILITY_MIN,
3480 CFG_FINE_TIME_MEAS_CAPABILITY_MAX),
3481
3482#ifdef WLAN_FEATURE_FASTPATH
3483 REG_VARIABLE(CFG_ENABLE_FASTPATH, WLAN_PARAM_Integer,
3484 struct hdd_config, fastpath_enable,
3485 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3486 CFG_ENABLE_FASTPATH_DEFAULT,
3487 CFG_ENABLE_FASTPATH_MIN,
3488 CFG_ENABLE_FASTPATH_MAX),
3489#endif
3490 REG_VARIABLE(CFG_MAX_SCAN_COUNT_NAME, WLAN_PARAM_Integer,
3491 struct hdd_config, max_scan_count,
3492 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3493 CFG_MAX_SCAN_COUNT_DEFAULT,
3494 CFG_MAX_SCAN_COUNT_MIN,
3495 CFG_MAX_SCAN_COUNT_MAX),
3496
3497 REG_VARIABLE(CFG_DOT11P_MODE_NAME, WLAN_PARAM_Integer,
3498 struct hdd_config, dot11p_mode,
3499 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3500 CFG_DOT11P_MODE_DEFAULT,
3501 CFG_DOT11P_MODE_MIN,
3502 CFG_DOT11P_MODE_MAX),
3503
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003504#ifdef FEATURE_WLAN_EXTSCAN
Manjeet Singh0f2ce5c2016-09-01 12:08:57 +05303505 REG_VARIABLE(CFG_EXTSCAN_ALLOWED_NAME, WLAN_PARAM_Integer,
3506 struct hdd_config, extscan_enabled,
3507 VAR_FLAGS_OPTIONAL |
3508 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3509 CFG_EXTSCAN_ALLOWED_DEF,
3510 CFG_EXTSCAN_ALLOWED_MIN,
3511 CFG_EXTSCAN_ALLOWED_MAX),
3512
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003513 REG_VARIABLE(CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_NAME,
3514 WLAN_PARAM_Integer,
3515 struct hdd_config, extscan_passive_max_chn_time,
3516 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3517 CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
3518 CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MIN,
3519 CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MAX),
3520
3521 REG_VARIABLE(CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_NAME,
3522 WLAN_PARAM_Integer,
3523 struct hdd_config, extscan_passive_min_chn_time,
3524 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3525 CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
3526 CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MIN,
3527 CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MAX),
3528
3529 REG_VARIABLE(CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_NAME,
3530 WLAN_PARAM_Integer,
3531 struct hdd_config, extscan_active_max_chn_time,
3532 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3533 CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
3534 CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MIN,
3535 CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MAX),
3536
3537 REG_VARIABLE(CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_NAME,
3538 WLAN_PARAM_Integer,
3539 struct hdd_config, extscan_active_min_chn_time,
3540 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3541 CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
3542 CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MIN,
3543 CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MAX),
3544#endif
3545
Yingying Tang95409972016-10-20 15:16:15 +08003546#ifdef WLAN_FEATURE_WOW_PULSE
3547 REG_VARIABLE(CFG_WOW_PULSE_SUPPORT_NAME, WLAN_PARAM_Integer,
3548 struct hdd_config, wow_pulse_support,
3549 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3550 CFG_WOW_PULSE_SUPPORT_DEFAULT,
3551 CFG_WOW_PULSE_SUPPORT_MIN,
3552 CFG_WOW_PULSE_SUPPORT_MAX),
3553
3554 REG_VARIABLE(CFG_WOW_PULSE_PIN_NAME, WLAN_PARAM_Integer,
3555 struct hdd_config, wow_pulse_pin,
3556 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3557 CFG_WOW_PULSE_PIN_DEFAULT,
3558 CFG_WOW_PULSE_PIN_MIN,
3559 CFG_WOW_PULSE_PIN_MAX),
3560
3561 REG_VARIABLE(CFG_WOW_PULSE_INTERVAL_LOW_NAME, WLAN_PARAM_Integer,
3562 struct hdd_config, wow_pulse_interval_low,
3563 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3564 CFG_WOW_PULSE_INTERVAL_LOW_DEFAULT,
3565 CFG_WOW_PULSE_INTERVAL_LOW_MIN,
3566 CFG_WOW_PULSE_INTERVAL_LOW_MAX),
3567
3568 REG_VARIABLE(CFG_WOW_PULSE_INTERVAL_HIGH_NAME, WLAN_PARAM_Integer,
3569 struct hdd_config, wow_pulse_interval_high,
3570 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3571 CFG_WOW_PULSE_INTERVAL_HIGH_DEFAULT,
3572 CFG_WOW_PULSE_INTERVAL_HIGH_MIN,
3573 CFG_WOW_PULSE_INTERVAL_HIGH_MAX),
3574#endif
3575
3576
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003577 REG_VARIABLE(CFG_CE_CLASSIFY_ENABLE_NAME, WLAN_PARAM_Integer,
3578 struct hdd_config, ce_classify_enabled,
3579 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3580 CFG_CE_CLASSIFY_ENABLE_DEFAULT,
3581 CFG_CE_CLASSIFY_ENABLE_MIN,
3582 CFG_CE_CLASSIFY_ENABLE_MAX),
3583
3584 REG_VARIABLE(CFG_DUAL_MAC_FEATURE_DISABLE, WLAN_PARAM_HexInteger,
3585 struct hdd_config, dual_mac_feature_disable,
3586 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3587 CFG_DUAL_MAC_FEATURE_DISABLE_DEFAULT,
3588 CFG_DUAL_MAC_FEATURE_DISABLE_MIN,
3589 CFG_DUAL_MAC_FEATURE_DISABLE_MAX),
Nitesh Shah50a3de12017-04-03 19:37:19 +05303590
3591 REG_VARIABLE_STRING(CFG_DBS_SCAN_SELECTION_NAME, WLAN_PARAM_String,
3592 struct hdd_config, dbs_scan_selection,
3593 VAR_FLAGS_OPTIONAL,
3594 (void *)CFG_DBS_SCAN_SELECTION_DEFAULT),
3595
Ganesh Kondabattini930304c2017-10-10 15:25:36 +05303596 REG_VARIABLE(CFG_STA_SAP_SCC_ON_DFS_CHAN, WLAN_PARAM_HexInteger,
3597 struct hdd_config, sta_sap_scc_on_dfs_chan,
3598 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3599 CFG_STA_SAP_SCC_ON_DFS_CHAN_DEFAULT,
3600 CFG_STA_SAP_SCC_ON_DFS_CHAN_MIN,
3601 CFG_STA_SAP_SCC_ON_DFS_CHAN_MAX),
3602
Zhu Jianmin72d32de2018-05-11 10:54:10 +08003603 REG_VARIABLE(CFG_STA_SAP_SCC_ON_LTE_COEX_CHAN, WLAN_PARAM_HexInteger,
3604 struct hdd_config, sta_sap_scc_on_lte_coex_chan,
3605 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3606 CFG_STA_SAP_SCC_ON_LTE_COEX_CHAN_DEFAULT,
3607 CFG_STA_SAP_SCC_ON_LTE_COEX_CHAN_MIN,
3608 CFG_STA_SAP_SCC_ON_LTE_COEX_CHAN_MAX),
Ganesh Kondabattini930304c2017-10-10 15:25:36 +05303609
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07003610#ifdef FEATURE_WLAN_SCAN_PNO
3611 REG_VARIABLE(CFG_PNO_CHANNEL_PREDICTION_NAME, WLAN_PARAM_Integer,
3612 struct hdd_config, pno_channel_prediction,
3613 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3614 CFG_PNO_CHANNEL_PREDICTION_DEFAULT,
3615 CFG_PNO_CHANNEL_PREDICTION_MIN,
3616 CFG_PNO_CHANNEL_PREDICTION_MAX),
3617
3618 REG_VARIABLE(CFG_TOP_K_NUM_OF_CHANNELS_NAME, WLAN_PARAM_Integer,
3619 struct hdd_config, top_k_num_of_channels,
3620 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3621 CFG_TOP_K_NUM_OF_CHANNELS_DEFAULT,
3622 CFG_TOP_K_NUM_OF_CHANNELS_MIN,
3623 CFG_TOP_K_NUM_OF_CHANNELS_MAX),
3624
3625 REG_VARIABLE(CFG_STATIONARY_THRESHOLD_NAME, WLAN_PARAM_Integer,
3626 struct hdd_config, stationary_thresh,
3627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3628 CFG_STATIONARY_THRESHOLD_DEFAULT,
3629 CFG_STATIONARY_THRESHOLD_MIN,
3630 CFG_STATIONARY_THRESHOLD_MAX),
3631
3632 REG_VARIABLE(CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_NAME,
3633 WLAN_PARAM_Integer,
3634 struct hdd_config, channel_prediction_full_scan,
3635 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3636 CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_DEFAULT,
3637 CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_MIN,
3638 CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_MAX),
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05303639
3640 REG_VARIABLE(CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_NAME,
3641 WLAN_PARAM_Integer,
3642 struct hdd_config, pnoscan_adaptive_dwell_mode,
3643 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3644 CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_DEFAULT,
3645 CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_MIN,
3646 CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_MAX),
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07003647#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003648
3649 REG_VARIABLE(CFG_TX_CHAIN_MASK_CCK, WLAN_PARAM_Integer,
3650 struct hdd_config, tx_chain_mask_cck,
3651 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3652 CFG_TX_CHAIN_MASK_CCK_DEFAULT,
3653 CFG_TX_CHAIN_MASK_CCK_MIN,
3654 CFG_TX_CHAIN_MASK_CCK_MAX),
3655
3656 REG_VARIABLE(CFG_TX_CHAIN_MASK_1SS, WLAN_PARAM_Integer,
3657 struct hdd_config, tx_chain_mask_1ss,
3658 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3659 CFG_TX_CHAIN_MASK_1SS_DEFAULT,
3660 CFG_TX_CHAIN_MASK_1SS_MIN,
3661 CFG_TX_CHAIN_MASK_1SS_MAX),
3662
Jeff Johnsona89e25d2017-02-24 12:25:07 -08003663 REG_VARIABLE(CFG_ENABLE_SMART_CHAINMASK_NAME, WLAN_PARAM_Integer,
3664 struct hdd_config, smart_chainmask_enabled,
3665 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3666 CFG_ENABLE_SMART_CHAINMASK_DEFAULT,
3667 CFG_ENABLE_SMART_CHAINMASK_MIN,
3668 CFG_ENABLE_SMART_CHAINMASK_MAX),
3669
3670 REG_VARIABLE(CFG_ENABLE_COEX_ALT_CHAINMASK_NAME, WLAN_PARAM_Integer,
3671 struct hdd_config, alternative_chainmask_enabled,
3672 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3673 CFG_ENABLE_COEX_ALT_CHAINMASK_DEFAULT,
3674 CFG_ENABLE_COEX_ALT_CHAINMASK_MIN,
3675 CFG_ENABLE_COEX_ALT_CHAINMASK_MAX),
3676
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003677 REG_VARIABLE(CFG_SELF_GEN_FRM_PWR, WLAN_PARAM_Integer,
3678 struct hdd_config, self_gen_frm_pwr,
3679 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3680 CFG_SELF_GEN_FRM_PWR_DEFAULT,
3681 CFG_SELF_GEN_FRM_PWR_MIN,
3682 CFG_SELF_GEN_FRM_PWR_MAX),
3683
Varun Reddy Yeturu05186292015-09-28 17:12:33 -07003684 REG_VARIABLE(CFG_EARLY_STOP_SCAN_ENABLE, WLAN_PARAM_Integer,
3685 struct hdd_config, early_stop_scan_enable,
3686 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3687 CFG_EARLY_STOP_SCAN_ENABLE_DEFAULT,
3688 CFG_EARLY_STOP_SCAN_ENABLE_MIN,
3689 CFG_EARLY_STOP_SCAN_ENABLE_MAX),
3690
3691 REG_VARIABLE(CFG_EARLY_STOP_SCAN_MIN_THRESHOLD,
3692 WLAN_PARAM_SignedInteger, struct hdd_config,
3693 early_stop_scan_min_threshold,
3694 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3695 CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_DEFAULT,
3696 CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_MIN,
3697 CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_MAX),
3698
3699 REG_VARIABLE(CFG_EARLY_STOP_SCAN_MAX_THRESHOLD,
3700 WLAN_PARAM_SignedInteger, struct hdd_config,
3701 early_stop_scan_max_threshold,
3702 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3703 CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_DEFAULT,
3704 CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_MIN,
3705 CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_MAX),
3706
Varun Reddy Yeturu044bda22015-11-21 22:03:40 -08003707 REG_VARIABLE(CFG_FIRST_SCAN_BUCKET_THRESHOLD_NAME,
3708 WLAN_PARAM_SignedInteger,
3709 struct hdd_config, first_scan_bucket_threshold,
3710 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3711 CFG_FIRST_SCAN_BUCKET_THRESHOLD_DEFAULT,
3712 CFG_FIRST_SCAN_BUCKET_THRESHOLD_MIN,
3713 CFG_FIRST_SCAN_BUCKET_THRESHOLD_MAX),
3714
Ravi Joshi742495d2015-11-09 18:56:53 -08003715#ifdef FEATURE_LFR_SUBNET_DETECTION
3716 REG_VARIABLE(CFG_ENABLE_LFR_SUBNET_DETECTION, WLAN_PARAM_Integer,
3717 struct hdd_config, enable_lfr_subnet_detection,
3718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3719 CFG_ENABLE_LFR_SUBNET_DEFAULT,
3720 CFG_ENABLE_LFR_SUBNET_MIN,
3721 CFG_ENABLE_LFR_SUBNET_MAX),
3722#endif
Sandeep Puligilla93a29ec2016-02-12 16:10:56 -08003723 REG_VARIABLE(CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_NAME,
3724 WLAN_PARAM_Integer,
3725 struct hdd_config, obss_active_dwelltime,
3726 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3727 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_DEFAULT,
3728 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_MIN,
3729 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_MAX),
3730
3731 REG_VARIABLE(CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_NAME,
3732 WLAN_PARAM_Integer,
3733 struct hdd_config, obss_passive_dwelltime,
3734 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3735 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_DEFAULT,
3736 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_MIN,
3737 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_MAX),
3738
3739 REG_VARIABLE(CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_NAME,
3740 WLAN_PARAM_Integer,
3741 struct hdd_config, obss_width_trigger_interval,
3742 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3743 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_DEFAULT,
3744 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_MIN,
3745 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_MAX),
Deepak Dhamdhere68929ec2015-08-05 15:16:35 -07003746
3747 REG_VARIABLE(CFG_INFORM_BSS_RSSI_RAW_NAME, WLAN_PARAM_Integer,
3748 struct hdd_config, inform_bss_rssi_raw,
3749 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3750 CFG_INFORM_BSS_RSSI_RAW_DEFAULT,
3751 CFG_INFORM_BSS_RSSI_RAW_MIN,
3752 CFG_INFORM_BSS_RSSI_RAW_MAX),
Tushnim Bhattacharyya24e12a62015-10-12 14:51:56 -07003753
Manikandan Mohan976e7562016-03-15 16:33:31 -07003754#ifdef WLAN_FEATURE_TSF
3755 REG_VARIABLE(CFG_SET_TSF_GPIO_PIN_NAME, WLAN_PARAM_Integer,
3756 struct hdd_config, tsf_gpio_pin,
3757 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3758 CFG_SET_TSF_GPIO_PIN_DEFAULT,
3759 CFG_SET_TSF_GPIO_PIN_MIN,
3760 CFG_SET_TSF_GPIO_PIN_MAX),
Yu Wang66a250b2017-07-19 11:46:40 +08003761
3762#ifdef WLAN_FEATURE_TSF_PLUS
3763 REG_VARIABLE(CFG_SET_TSF_PTP_OPT_NAME, WLAN_PARAM_HexInteger,
3764 struct hdd_config, tsf_ptp_options,
3765 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3766 CFG_SET_TSF_PTP_OPT_DEFAULT,
3767 CFG_SET_TSF_PTP_OPT_MIN,
3768 CFG_SET_TSF_PTP_OPT_MAX),
3769#endif /* WLAN_FEATURE_TSF_PLUS */
Manikandan Mohan976e7562016-03-15 16:33:31 -07003770#endif
3771
Gupta, Kapilc68ad462016-02-01 19:17:23 +05303772 REG_VARIABLE(CFG_ROAM_DENSE_TRAFFIC_THRESHOLD, WLAN_PARAM_Integer,
3773 struct hdd_config, roam_dense_traffic_thresh,
3774 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3775 CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_DEFAULT,
3776 CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_MIN,
3777 CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_MAX),
3778
3779 REG_VARIABLE(CFG_ROAM_DENSE_RSSI_THRE_OFFSET, WLAN_PARAM_Integer,
3780 struct hdd_config, roam_dense_rssi_thresh_offset,
3781 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3782 CFG_ROAM_DENSE_RSSI_THRE_OFFSET_DEFAULT,
3783 CFG_ROAM_DENSE_RSSI_THRE_OFFSET_MIN,
3784 CFG_ROAM_DENSE_RSSI_THRE_OFFSET_MAX),
3785
Abhishek Singh165bc602016-03-21 12:43:00 +05303786 REG_VARIABLE(CFG_IGNORE_PEER_HT_MODE_NAME, WLAN_PARAM_Integer,
3787 struct hdd_config, ignore_peer_ht_opmode,
3788 VAR_FLAGS_OPTIONAL |
3789 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3790 CFG_IGNORE_PEER_HT_MODE_DEFAULT,
3791 CFG_IGNORE_PEER_HT_MODE_MIN,
3792 CFG_IGNORE_PEER_HT_MODE_MAX),
3793
Gupta, Kapilc68ad462016-02-01 19:17:23 +05303794 REG_VARIABLE(CFG_ROAM_DENSE_MIN_APS, WLAN_PARAM_Integer,
3795 struct hdd_config, roam_dense_min_aps,
3796 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3797 CFG_ROAM_DENSE_MIN_APS_DEFAULT,
3798 CFG_ROAM_DENSE_MIN_APS_MIN,
3799 CFG_ROAM_DENSE_MIN_APS_MAX),
3800
Varun Reddy Yeturufaad37e2017-07-26 10:54:13 -07003801 REG_VARIABLE(CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_NAME,
3802 WLAN_PARAM_SignedInteger, struct hdd_config,
3803 roam_bg_scan_bad_rssi_thresh,
3804 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3805 CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_DEFAULT,
3806 CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_MIN,
3807 CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_MAX),
3808
3809 REG_VARIABLE(CFG_ROAM_BG_SCAN_CLIENT_BITMAP_NAME, WLAN_PARAM_Integer,
3810 struct hdd_config, roam_bg_scan_client_bitmap,
3811 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3812 CFG_ROAM_BG_SCAN_CLIENT_BITMAP_DEFAULT,
3813 CFG_ROAM_BG_SCAN_CLIENT_BITMAP_MIN,
3814 CFG_ROAM_BG_SCAN_CLIENT_BITMAP_MAX),
3815
Vignesh Viswanathanc018e982017-09-07 18:49:19 +05303816 REG_VARIABLE(CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_NAME,
3817 WLAN_PARAM_Integer, struct hdd_config,
3818 roam_bad_rssi_thresh_offset_2g,
3819 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3820 CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_DEFAULT,
3821 CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_MIN,
3822 CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_MAX),
3823
Abhinav Kumara083f212018-04-05 18:49:45 +05303824 REG_VARIABLE(CFG_ROAM_HO_DELAY_FOR_RX_NAME,
3825 WLAN_PARAM_Integer, struct hdd_config,
3826 ho_delay_for_rx,
3827 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3828 CFG_ROAM_HO_DELAY_FOR_RX_DEFAULT,
3829 CFG_ROAM_HO_DELAY_FOR_RX_MIN,
3830 CFG_ROAM_HO_DELAY_FOR_RX_MAX),
3831
Abhinav Kumara95af7c2018-04-06 17:08:00 +05303832 REG_VARIABLE(CFG_MIN_DELAY_BTW_ROAM_SCAN_NAME,
3833 WLAN_PARAM_Integer, struct hdd_config,
3834 min_delay_btw_roam_scans,
3835 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3836 CFG_MIN_DELAY_BTW_ROAM_SCAN_DEFAULT,
3837 CFG_MIN_DELAY_BTW_ROAM_SCAN_MIN,
3838 CFG_MIN_DELAY_BTW_ROAM_SCAN_MAX),
3839
3840 REG_VARIABLE(CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_NAME,
3841 WLAN_PARAM_HexInteger, struct hdd_config,
3842 roam_trigger_reason_bitmask,
3843 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3844 CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_DEFAULT,
3845 CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_MIN,
3846 CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_MAX),
3847
Abhishek Singh5ea86532016-04-27 14:10:53 +05303848 REG_VARIABLE(CFG_ENABLE_FATAL_EVENT_TRIGGER, WLAN_PARAM_Integer,
3849 struct hdd_config, enable_fatal_event,
3850 VAR_FLAGS_OPTIONAL |
3851 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3852 CFG_ENABLE_FATAL_EVENT_TRIGGER_DEFAULT,
3853 CFG_ENABLE_FATAL_EVENT_TRIGGER_MIN,
3854 CFG_ENABLE_FATAL_EVENT_TRIGGER_MAX),
3855
Abhishek Singh10ecf582016-05-04 17:48:59 +05303856 REG_VARIABLE(CFG_ENABLE_EDCA_INI_NAME, WLAN_PARAM_Integer,
3857 struct hdd_config, enable_edca_params,
3858 VAR_FLAGS_OPTIONAL |
3859 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3860 CFG_ENABLE_EDCA_INI_DEFAULT,
3861 CFG_ENABLE_EDCA_INI_MIN,
3862 CFG_ENABLE_EDCA_INI_MAX),
3863
Agrawal Ashishb2d1a452016-05-05 12:23:58 +05303864 REG_VARIABLE(CFG_ENABLE_GO_CTS2SELF_FOR_STA, WLAN_PARAM_Integer,
3865 struct hdd_config, enable_go_cts2self_for_sta,
3866 VAR_FLAGS_OPTIONAL |
3867 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3868 CFG_ENABLE_GO_CTS2SELF_FOR_STA_DEFAULT,
3869 CFG_ENABLE_GO_CTS2SELF_FOR_STA_MIN,
3870 CFG_ENABLE_GO_CTS2SELF_FOR_STA_MAX),
3871
Abhishek Singh10ecf582016-05-04 17:48:59 +05303872 REG_VARIABLE(CFG_EDCA_VO_CWMIN_VALUE_NAME, WLAN_PARAM_Integer,
3873 struct hdd_config, edca_vo_cwmin,
3874 VAR_FLAGS_OPTIONAL |
3875 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3876 CFG_EDCA_VO_CWMIN_VALUE_DEFAULT,
3877 CFG_EDCA_VO_CWMIN_VALUE_MIN,
3878 CFG_EDCA_VO_CWMIN_VALUE_MAX),
3879
3880 REG_VARIABLE(CFG_EDCA_VI_CWMIN_VALUE_NAME, WLAN_PARAM_Integer,
3881 struct hdd_config, edca_vi_cwmin,
3882 VAR_FLAGS_OPTIONAL |
3883 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3884 CFG_EDCA_VI_CWMIN_VALUE_DEFAULT,
3885 CFG_EDCA_VI_CWMIN_VALUE_MIN,
3886 CFG_EDCA_VI_CWMIN_VALUE_MAX),
3887
3888 REG_VARIABLE(CFG_EDCA_BK_CWMIN_VALUE_NAME, WLAN_PARAM_Integer,
3889 struct hdd_config, edca_bk_cwmin,
3890 VAR_FLAGS_OPTIONAL |
3891 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3892 CFG_EDCA_BK_CWMIN_VALUE_DEFAULT,
3893 CFG_EDCA_BK_CWMIN_VALUE_MIN,
3894 CFG_EDCA_BK_CWMIN_VALUE_MAX),
3895
3896 REG_VARIABLE(CFG_EDCA_BE_CWMIN_VALUE_NAME, WLAN_PARAM_Integer,
3897 struct hdd_config, edca_be_cwmin,
3898 VAR_FLAGS_OPTIONAL |
3899 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3900 CFG_EDCA_BE_CWMIN_VALUE_DEFAULT,
3901 CFG_EDCA_BE_CWMIN_VALUE_MIN,
3902 CFG_EDCA_BE_CWMIN_VALUE_MAX),
3903
3904 REG_VARIABLE(CFG_EDCA_VO_CWMAX_VALUE_NAME, WLAN_PARAM_Integer,
3905 struct hdd_config, edca_vo_cwmax,
3906 VAR_FLAGS_OPTIONAL |
3907 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3908 CFG_EDCA_VO_CWMAX_VALUE_DEFAULT,
3909 CFG_EDCA_VO_CWMAX_VALUE_MIN,
3910 CFG_EDCA_VO_CWMAX_VALUE_MAX),
3911
3912 REG_VARIABLE(CFG_EDCA_VI_CWMAX_VALUE_NAME, WLAN_PARAM_Integer,
3913 struct hdd_config, edca_vi_cwmax,
3914 VAR_FLAGS_OPTIONAL |
3915 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3916 CFG_EDCA_VI_CWMAX_VALUE_DEFAULT,
3917 CFG_EDCA_VI_CWMAX_VALUE_MIN,
3918 CFG_EDCA_VI_CWMAX_VALUE_MAX),
3919
3920 REG_VARIABLE(CFG_EDCA_BK_CWMAX_VALUE_NAME, WLAN_PARAM_Integer,
3921 struct hdd_config, edca_bk_cwmax,
3922 VAR_FLAGS_OPTIONAL |
3923 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3924 CFG_EDCA_BK_CWMAX_VALUE_DEFAULT,
3925 CFG_EDCA_BK_CWMAX_VALUE_MIN,
3926 CFG_EDCA_BK_CWMAX_VALUE_MAX),
3927
3928 REG_VARIABLE(CFG_EDCA_BE_CWMAX_VALUE_NAME, WLAN_PARAM_Integer,
3929 struct hdd_config, edca_be_cwmax,
3930 VAR_FLAGS_OPTIONAL |
3931 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3932 CFG_EDCA_BE_CWMAX_VALUE_DEFAULT,
3933 CFG_EDCA_BE_CWMAX_VALUE_MIN,
3934 CFG_EDCA_BE_CWMAX_VALUE_MAX),
3935
3936 REG_VARIABLE(CFG_EDCA_VO_AIFS_VALUE_NAME, WLAN_PARAM_Integer,
3937 struct hdd_config, edca_vo_aifs,
3938 VAR_FLAGS_OPTIONAL |
3939 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3940 CFG_EDCA_VO_AIFS_VALUE_DEFAULT,
3941 CFG_EDCA_VO_AIFS_VALUE_MIN,
3942 CFG_EDCA_VO_AIFS_VALUE_MAX),
3943
3944 REG_VARIABLE(CFG_EDCA_VI_AIFS_VALUE_NAME, WLAN_PARAM_Integer,
3945 struct hdd_config, edca_vi_aifs,
3946 VAR_FLAGS_OPTIONAL |
3947 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3948 CFG_EDCA_VI_AIFS_VALUE_DEFAULT,
3949 CFG_EDCA_VI_AIFS_VALUE_MIN,
3950 CFG_EDCA_VI_AIFS_VALUE_MAX),
3951
3952 REG_VARIABLE(CFG_EDCA_BK_AIFS_VALUE_NAME, WLAN_PARAM_Integer,
3953 struct hdd_config, edca_bk_aifs,
3954 VAR_FLAGS_OPTIONAL |
3955 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3956 CFG_EDCA_BK_AIFS_VALUE_DEFAULT,
3957 CFG_EDCA_BK_AIFS_VALUE_MIN,
3958 CFG_EDCA_BK_AIFS_VALUE_MAX),
3959
3960 REG_VARIABLE(CFG_EDCA_BE_AIFS_VALUE_NAME, WLAN_PARAM_Integer,
3961 struct hdd_config, edca_be_aifs,
3962 VAR_FLAGS_OPTIONAL |
3963 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3964 CFG_EDCA_BE_AIFS_VALUE_DEFAULT,
3965 CFG_EDCA_BE_AIFS_VALUE_MIN,
3966 CFG_EDCA_BE_AIFS_VALUE_MAX),
gbian62edd7e2017-03-07 13:12:13 +08003967
3968 REG_VARIABLE_STRING(CFG_ENABLE_TX_SCHED_WRR_VO_NAME,
3969 WLAN_PARAM_String,
3970 struct hdd_config, tx_sched_wrr_vo,
3971 VAR_FLAGS_OPTIONAL,
3972 (void *) CFG_ENABLE_TX_SCHED_WRR_VO_DEFAULT),
3973
3974 REG_VARIABLE_STRING(CFG_ENABLE_TX_SCHED_WRR_VI_NAME,
3975 WLAN_PARAM_String,
3976 struct hdd_config, tx_sched_wrr_vi,
3977 VAR_FLAGS_OPTIONAL,
3978 (void *) CFG_ENABLE_TX_SCHED_WRR_VI_DEFAULT),
3979
3980 REG_VARIABLE_STRING(CFG_ENABLE_TX_SCHED_WRR_BE_NAME,
3981 WLAN_PARAM_String,
3982 struct hdd_config, tx_sched_wrr_be,
3983 VAR_FLAGS_OPTIONAL,
3984 (void *) CFG_ENABLE_TX_SCHED_WRR_BE_DEFAULT),
3985
3986 REG_VARIABLE_STRING(CFG_ENABLE_TX_SCHED_WRR_BK_NAME,
3987 WLAN_PARAM_String,
3988 struct hdd_config, tx_sched_wrr_bk,
3989 VAR_FLAGS_OPTIONAL,
3990 (void *) CFG_ENABLE_TX_SCHED_WRR_BK_DEFAULT),
3991
Deepak Dhamdhere3385d752016-05-25 20:36:47 -07003992#ifdef WLAN_FEATURE_NAN_DATAPATH
3993 REG_VARIABLE(CFG_ENABLE_NAN_DATAPATH_NAME, WLAN_PARAM_Integer,
3994 struct hdd_config, enable_nan_datapath,
3995 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3996 CFG_ENABLE_NAN_DATAPATH_DEFAULT,
3997 CFG_ENABLE_NAN_DATAPATH_MIN,
3998 CFG_ENABLE_NAN_DATAPATH_MAX),
3999
4000 REG_VARIABLE(CFG_ENABLE_NAN_NDI_CHANNEL_NAME, WLAN_PARAM_Integer,
4001 struct hdd_config, nan_datapath_ndi_channel,
4002 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4003 CFG_ENABLE_NAN_NDI_CHANNEL_DEFAULT,
4004 CFG_ENABLE_NAN_NDI_CHANNEL_MIN,
4005 CFG_ENABLE_NAN_NDI_CHANNEL_MAX),
4006#endif
Wu Gao94488c22018-03-14 14:37:25 +08004007
Kapil Gupta0ed58dc2016-04-22 15:35:26 +05304008 REG_VARIABLE(CFG_CREATE_BUG_REPORT_FOR_SCAN, WLAN_PARAM_Integer,
4009 struct hdd_config, bug_report_for_no_scan_results,
4010 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4011 CFG_CREATE_BUG_REPORT_FOR_SCAN_DEFAULT,
4012 CFG_CREATE_BUG_REPORT_FOR_SCAN_DISABLE,
4013 CFG_CREATE_BUG_REPORT_FOR_SCAN_ENABLE),
Abhishek Singh5ea86532016-04-27 14:10:53 +05304014
Kapil Gupta8878ad92017-02-13 11:56:04 +05304015 REG_VARIABLE(CFG_USER_AUTO_CHANNEL_SELECTION, WLAN_PARAM_Integer,
4016 struct hdd_config, vendor_acs_support,
4017 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4018 CFG_USER_AUTO_CHANNEL_SELECTION_DEFAULT,
4019 CFG_USER_AUTO_CHANNEL_SELECTION_DISABLE,
4020 CFG_USER_AUTO_CHANNEL_SELECTION_ENABLE),
4021
4022 REG_VARIABLE(CFG_USER_ACS_DFS_LTE, WLAN_PARAM_Integer,
4023 struct hdd_config, acs_support_for_dfs_ltecoex,
4024 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4025 CFG_USER_ACS_DFS_LTE_DEFAULT,
4026 CFG_USER_ACS_DFS_LTE_DISABLE,
4027 CFG_USER_ACS_DFS_LTE_ENABLE),
4028
Nirav Shahd21a2e32018-04-20 16:34:43 +05304029#ifdef CONFIG_DP_TRACE
Nirav Shahcc1f1ae2016-04-26 11:41:29 +05304030 REG_VARIABLE(CFG_ENABLE_DP_TRACE, WLAN_PARAM_Integer,
4031 struct hdd_config, enable_dp_trace,
4032 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4033 CFG_ENABLE_DP_TRACE_DEFAULT,
4034 CFG_ENABLE_DP_TRACE_MIN,
4035 CFG_ENABLE_DP_TRACE_MAX),
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05304036
Mohit Khannaf8f96822017-05-17 17:11:59 -07004037
4038 REG_VARIABLE_STRING(CFG_ENABLE_DP_TRACE_CONFIG, WLAN_PARAM_String,
4039 struct hdd_config, dp_trace_config,
4040 VAR_FLAGS_OPTIONAL,
4041 (void *) CFG_ENABLE_DP_TRACE_CONFIG_DEFAULT),
Nirav Shahd21a2e32018-04-20 16:34:43 +05304042#endif
Mohit Khannaf8f96822017-05-17 17:11:59 -07004043
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05304044 REG_VARIABLE(CFG_ADAPTIVE_SCAN_DWELL_MODE_NAME, WLAN_PARAM_Integer,
4045 struct hdd_config, scan_adaptive_dwell_mode,
4046 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4047 CFG_ADAPTIVE_SCAN_DWELL_MODE_DEFAULT,
4048 CFG_ADAPTIVE_SCAN_DWELL_MODE_MIN,
4049 CFG_ADAPTIVE_SCAN_DWELL_MODE_MAX),
4050
Paul Zhang72697bd2017-12-20 09:24:25 +08004051 REG_VARIABLE(CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_NAME, WLAN_PARAM_Integer,
4052 struct hdd_config, scan_adaptive_dwell_mode_nc,
4053 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4054 CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_DEFAULT,
4055 CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_MIN,
4056 CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_MAX),
4057
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05304058 REG_VARIABLE(CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_NAME, WLAN_PARAM_Integer,
4059 struct hdd_config, roamscan_adaptive_dwell_mode,
4060 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4061 CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_DEFAULT,
4062 CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_MIN,
4063 CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_MAX),
4064
4065 REG_VARIABLE(CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_NAME, WLAN_PARAM_Integer,
4066 struct hdd_config, extscan_adaptive_dwell_mode,
4067 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4068 CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_DEFAULT,
4069 CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_MIN,
4070 CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_MAX),
4071
4072 REG_VARIABLE(CFG_ADAPTIVE_DWELL_MODE_ENABLED_NAME, WLAN_PARAM_Integer,
4073 struct hdd_config, adaptive_dwell_mode_enabled,
4074 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4075 CFG_ADAPTIVE_DWELL_MODE_ENABLED_DEFAULT,
4076 CFG_ADAPTIVE_DWELL_MODE_ENABLED_MIN,
4077 CFG_ADAPTIVE_DWELL_MODE_ENABLED_MAX),
4078
4079 REG_VARIABLE(CFG_GLOBAL_ADAPTIVE_DWELL_MODE_NAME, WLAN_PARAM_Integer,
4080 struct hdd_config, global_adapt_dwelltime_mode,
4081 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4082 CFG_GLOBAL_ADAPTIVE_DWELL_MODE_DEFAULT,
4083 CFG_GLOBAL_ADAPTIVE_DWELL_MODE_MIN,
4084 CFG_GLOBAL_ADAPTIVE_DWELL_MODE_MAX),
4085
4086 REG_VARIABLE(CFG_ADAPT_DWELL_LPF_WEIGHT_NAME, WLAN_PARAM_Integer,
4087 struct hdd_config, adapt_dwell_lpf_weight,
4088 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4089 CFG_ADAPT_DWELL_LPF_WEIGHT_DEFAULT,
4090 CFG_ADAPT_DWELL_LPF_WEIGHT_MIN,
4091 CFG_ADAPT_DWELL_LPF_WEIGHT_MAX),
4092
Naveen Rawat64e477e2016-05-20 10:34:56 -07004093 REG_VARIABLE(CFG_SUB_20_CHANNEL_WIDTH_NAME, WLAN_PARAM_Integer,
4094 struct hdd_config, enable_sub_20_channel_width,
4095 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4096 CFG_SUB_20_CHANNEL_WIDTH_DEFAULT,
4097 CFG_SUB_20_CHANNEL_WIDTH_MIN,
4098 CFG_SUB_20_CHANNEL_WIDTH_MAX),
4099
Rajeev Kumar Sirasanagandlaaf474742016-09-06 17:54:50 +05304100 REG_VARIABLE(CFG_TGT_GTX_USR_CFG_NAME, WLAN_PARAM_Integer,
4101 struct hdd_config, tgt_gtx_usr_cfg,
4102 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4103 CFG_TGT_GTX_USR_CFG_DEFAULT,
4104 CFG_TGT_GTX_USR_CFG_MIN,
4105 CFG_TGT_GTX_USR_CFG_MAX),
4106
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05304107 REG_VARIABLE(CFG_ADAPT_DWELL_PASMON_INTVAL_NAME, WLAN_PARAM_Integer,
4108 struct hdd_config, adapt_dwell_passive_mon_intval,
4109 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4110 CFG_ADAPT_DWELL_PASMON_INTVAL_DEFAULT,
4111 CFG_ADAPT_DWELL_PASMON_INTVAL_MIN,
4112 CFG_ADAPT_DWELL_PASMON_INTVAL_MAX),
4113
4114 REG_VARIABLE(CFG_ADAPT_DWELL_WIFI_THRESH_NAME, WLAN_PARAM_Integer,
4115 struct hdd_config, adapt_dwell_wifi_act_threshold,
4116 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4117 CFG_ADAPT_DWELL_WIFI_THRESH_DEFAULT,
4118 CFG_ADAPT_DWELL_WIFI_THRESH_MIN,
4119 CFG_ADAPT_DWELL_WIFI_THRESH_MAX),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004120
Nirav Shahbd36b062016-07-18 11:12:59 +05304121 REG_VARIABLE(CFG_RX_MODE_NAME, WLAN_PARAM_Integer,
4122 struct hdd_config, rx_mode,
4123 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4124 CFG_RX_MODE_DEFAULT,
4125 CFG_RX_MODE_MIN,
4126 CFG_RX_MODE_MAX),
4127
Himanshu Agarwal24aa27e2017-05-23 11:07:50 +05304128 REG_VARIABLE(CFG_CE_SERVICE_MAX_YIELD_TIME_NAME, WLAN_PARAM_Integer,
4129 struct hdd_config, ce_service_max_yield_time,
4130 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4131 CFG_CE_SERVICE_MAX_YIELD_TIME_DEFAULT,
4132 CFG_CE_SERVICE_MAX_YIELD_TIME_MIN,
4133 CFG_CE_SERVICE_MAX_YIELD_TIME_MAX),
4134
Poddar, Siddarth04eed332017-06-28 14:20:26 +05304135 REG_VARIABLE(CFG_CE_SERVICE_MAX_RX_IND_FLUSH_NAME, WLAN_PARAM_Integer,
4136 struct hdd_config, ce_service_max_rx_ind_flush,
4137 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4138 CFG_CE_SERVICE_MAX_RX_IND_FLUSH_DEFAULT,
4139 CFG_CE_SERVICE_MAX_RX_IND_FLUSH_MIN,
4140 CFG_CE_SERVICE_MAX_RX_IND_FLUSH_MAX),
4141
Nirav Shahbd36b062016-07-18 11:12:59 +05304142 REG_VARIABLE_STRING(CFG_RPS_RX_QUEUE_CPU_MAP_LIST_NAME,
4143 WLAN_PARAM_String,
4144 struct hdd_config, cpu_map_list,
4145 VAR_FLAGS_OPTIONAL,
4146 (void *)CFG_RPS_RX_QUEUE_CPU_MAP_LIST_DEFAULT),
4147
Amar Singhal18517882016-08-08 12:26:20 -07004148 REG_VARIABLE(CFG_INDOOR_CHANNEL_SUPPORT_NAME,
4149 WLAN_PARAM_Integer,
4150 struct hdd_config, indoor_channel_support,
4151 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4152 CFG_INDOOR_CHANNEL_SUPPORT_DEFAULT,
4153 CFG_INDOOR_CHANNEL_SUPPORT_MIN,
4154 CFG_INDOOR_CHANNEL_SUPPORT_MAX),
4155
Mukul Sharmaecf8e092017-12-19 22:36:31 +05304156 REG_VARIABLE(CFG_MARK_INDOOR_AS_DISABLE_NAME,
4157 WLAN_PARAM_Integer,
4158 struct hdd_config, force_ssc_disable_indoor_channel,
4159 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4160 CFG_MARK_INDOOR_AS_DISABLE_DEFAULT,
4161 CFG_MARK_INDOOR_AS_DISABLE_MIN,
4162 CFG_MARK_INDOOR_AS_DISABLE_MAX),
4163
Yingying Tangb4832f72016-10-20 13:44:55 +08004164 REG_VARIABLE(CFG_SAP_TX_LEAKAGE_THRESHOLD_NAME,
4165 WLAN_PARAM_Integer,
4166 struct hdd_config, sap_tx_leakage_threshold,
4167 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4168 CFG_SAP_TX_LEAKAGE_THRESHOLD_DEFAULT,
4169 CFG_SAP_TX_LEAKAGE_THRESHOLD_MIN,
4170 CFG_SAP_TX_LEAKAGE_THRESHOLD_MAX),
4171
Mukul Sharmaf7d62e12016-09-03 15:16:22 +05304172 REG_VARIABLE(CFG_BUG_ON_REINIT_FAILURE_NAME, WLAN_PARAM_Integer,
4173 struct hdd_config, bug_on_reinit_failure,
4174 VAR_FLAGS_OPTIONAL |
4175 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4176 CFG_BUG_ON_REINIT_FAILURE_DEFAULT,
4177 CFG_BUG_ON_REINIT_FAILURE_MIN,
4178 CFG_BUG_ON_REINIT_FAILURE_MAX),
4179
Rajeev Kumar Sirasanagandlab79b5462016-09-06 18:33:17 +05304180 REG_VARIABLE(CFG_SAP_FORCE_11N_FOR_11AC_NAME, WLAN_PARAM_Integer,
4181 struct hdd_config, sap_force_11n_for_11ac,
4182 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4183 CFG_SAP_FORCE_11N_FOR_11AC_DEFAULT,
4184 CFG_SAP_FORCE_11N_FOR_11AC_MIN,
4185 CFG_SAP_FORCE_11N_FOR_11AC_MAX),
4186
Bala Venkateshb9cf3362017-11-09 15:48:46 +05304187 REG_VARIABLE(CFG_GO_FORCE_11N_FOR_11AC_NAME, WLAN_PARAM_Integer,
4188 struct hdd_config, go_force_11n_for_11ac,
4189 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4190 CFG_GO_FORCE_11N_FOR_11AC_DEFAULT,
4191 CFG_GO_FORCE_11N_FOR_11AC_MIN,
4192 CFG_GO_FORCE_11N_FOR_11AC_MAX),
4193
Arun Khandavallifae92942016-08-01 13:31:08 +05304194 REG_VARIABLE(CFG_INTERFACE_CHANGE_WAIT_NAME, WLAN_PARAM_Integer,
4195 struct hdd_config, iface_change_wait_time,
4196 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
4197 CFG_INTERFACE_CHANGE_WAIT_DEFAULT,
4198 CFG_INTERFACE_CHANGE_WAIT_MIN,
4199 CFG_INTERFACE_CHANGE_WAIT_MAX),
Ravi Joshibb8d4512016-08-22 10:14:52 -07004200
4201 REG_VARIABLE(CFG_FILTER_MULTICAST_REPLAY_NAME,
4202 WLAN_PARAM_Integer,
4203 struct hdd_config, multicast_replay_filter,
4204 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4205 CFG_FILTER_MULTICAST_REPLAY_DEFAULT,
4206 CFG_FILTER_MULTICAST_REPLAY_MIN,
4207 CFG_FILTER_MULTICAST_REPLAY_MAX),
Manjeet Singhe7ecb7c2016-09-03 12:34:53 +05304208
Ravi Kumar Bokka990edcc2017-01-09 20:02:58 +05304209 REG_VARIABLE(CFG_ENABLE_PHY_REG, WLAN_PARAM_HexInteger,
4210 struct hdd_config, enable_phy_reg_retention,
4211 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4212 CFG_PHY_REG_DEFAULT,
4213 CFG_PHY_REG_MIN,
4214 CFG_PHY_REG_MAX),
4215
Selvaraj, Sridharebda0f22016-08-29 16:05:23 +05304216 REG_VARIABLE(CFG_OPTIMIZE_CA_EVENT_NAME, WLAN_PARAM_Integer,
4217 struct hdd_config, goptimize_chan_avoid_event,
4218 VAR_FLAGS_OPTIONAL |
4219 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4220 CFG_OPTIMIZE_CA_EVENT_DEFAULT,
4221 CFG_OPTIMIZE_CA_EVENT_DISABLE,
4222 CFG_OPTIMIZE_CA_EVENT_ENABLE),
Padma, Santhosh Kumara7119672016-08-16 16:05:14 +05304223
4224 REG_VARIABLE(CFG_TX_AGGREGATION_SIZE, WLAN_PARAM_Integer,
Paul Zhangee09f8e2018-04-23 16:11:32 +08004225 struct hdd_config, tx_aggregation_size,
4226 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4227 CFG_TX_AGGREGATION_SIZE_DEFAULT,
4228 CFG_TX_AGGREGATION_SIZE_MIN,
4229 CFG_TX_AGGREGATION_SIZE_MAX),
4230
4231 REG_VARIABLE(CFG_TX_AGGREGATION_SIZEBE, WLAN_PARAM_Integer,
4232 struct hdd_config, tx_aggregation_size_be,
4233 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4234 CFG_TX_AGGREGATION_SIZEBE_DEFAULT,
4235 CFG_TX_AGGREGATION_SIZEBE_MIN,
4236 CFG_TX_AGGREGATION_SIZEBE_MAX),
4237
4238 REG_VARIABLE(CFG_TX_AGGREGATION_SIZEBK, WLAN_PARAM_Integer,
4239 struct hdd_config, tx_aggregation_size_bk,
4240 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4241 CFG_TX_AGGREGATION_SIZEBK_DEFAULT,
4242 CFG_TX_AGGREGATION_SIZEBK_MIN,
4243 CFG_TX_AGGREGATION_SIZEBK_MAX),
4244
4245 REG_VARIABLE(CFG_TX_AGGREGATION_SIZEVI, WLAN_PARAM_Integer,
4246 struct hdd_config, tx_aggregation_size_vi,
4247 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4248 CFG_TX_AGGREGATION_SIZEVI_DEFAULT,
4249 CFG_TX_AGGREGATION_SIZEVI_MIN,
4250 CFG_TX_AGGREGATION_SIZEVI_MAX),
4251
4252 REG_VARIABLE(CFG_TX_AGGREGATION_SIZEVO, WLAN_PARAM_Integer,
4253 struct hdd_config, tx_aggregation_size_vo,
4254 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4255 CFG_TX_AGGREGATION_SIZEVO_DEFAULT,
4256 CFG_TX_AGGREGATION_SIZEVO_MIN,
4257 CFG_TX_AGGREGATION_SIZEVO_MAX),
Padma, Santhosh Kumara7119672016-08-16 16:05:14 +05304258
4259 REG_VARIABLE(CFG_RX_AGGREGATION_SIZE, WLAN_PARAM_Integer,
4260 struct hdd_config, rx_aggregation_size,
4261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4262 CFG_RX_AGGREGATION_SIZE_DEFAULT,
4263 CFG_RX_AGGREGATION_SIZE_MIN,
4264 CFG_RX_AGGREGATION_SIZE_MAX),
Paul Zhang33fae272018-04-23 16:19:00 +08004265
4266 REG_VARIABLE(CFG_TX_AGGR_SW_RETRY_BE, WLAN_PARAM_Integer,
4267 struct hdd_config, tx_aggr_sw_retry_threshold_be,
4268 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4269 CFG_TX_AGGR_SW_RETRY_BE_DEFAULT,
4270 CFG_TX_AGGR_SW_RETRY_BE_MIN,
4271 CFG_TX_AGGR_SW_RETRY_BE_MAX),
4272
4273 REG_VARIABLE(CFG_TX_AGGR_SW_RETRY_BK, WLAN_PARAM_Integer,
4274 struct hdd_config, tx_aggr_sw_retry_threshold_bk,
4275 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4276 CFG_TX_AGGR_SW_RETRY_BK_DEFAULT,
4277 CFG_TX_AGGR_SW_RETRY_BK_MIN,
4278 CFG_TX_AGGR_SW_RETRY_BK_MAX),
4279
4280 REG_VARIABLE(CFG_TX_AGGR_SW_RETRY_VI, WLAN_PARAM_Integer,
4281 struct hdd_config, tx_aggr_sw_retry_threshold_vi,
4282 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4283 CFG_TX_AGGR_SW_RETRY_VI_DEFAULT,
4284 CFG_TX_AGGR_SW_RETRY_VI_MIN,
4285 CFG_TX_AGGR_SW_RETRY_VI_MAX),
4286
4287 REG_VARIABLE(CFG_TX_AGGR_SW_RETRY_VO, WLAN_PARAM_Integer,
4288 struct hdd_config, tx_aggr_sw_retry_threshold_vo,
4289 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4290 CFG_TX_AGGR_SW_RETRY_VO_DEFAULT,
4291 CFG_TX_AGGR_SW_RETRY_VO_MIN,
4292 CFG_TX_AGGR_SW_RETRY_VO_MAX),
4293
Agrawal, Ashish4e5fa1c2016-09-21 19:03:43 +05304294 REG_VARIABLE(CFG_SAP_MAX_INACTIVITY_OVERRIDE_NAME, WLAN_PARAM_Integer,
4295 struct hdd_config, sap_max_inactivity_override,
4296 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4297 CFG_SAP_MAX_INACTIVITY_OVERRIDE_DEFAULT,
4298 CFG_SAP_MAX_INACTIVITY_OVERRIDE_MIN,
Sandeep Puligillaafa52892016-10-26 19:03:16 -07004299 CFG_SAP_MAX_INACTIVITY_OVERRIDE_MAX),
4300 REG_VARIABLE(CFG_CRASH_FW_TIMEOUT_NAME, WLAN_PARAM_Integer,
4301 struct hdd_config, fw_timeout_crash,
4302 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4303 CFG_CRASH_FW_TIMEOUT_DEFAULT,
4304 CFG_CRASH_FW_TIMEOUT_DISABLE,
4305 CFG_CRASH_FW_TIMEOUT_ENABLE),
Dustin Browncd756942016-11-23 12:25:33 -08004306 REG_VARIABLE(CFG_RX_WAKELOCK_TIMEOUT_NAME, WLAN_PARAM_Integer,
4307 struct hdd_config, rx_wakelock_timeout,
4308 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4309 CFG_RX_WAKELOCK_TIMEOUT_DEFAULT,
4310 CFG_RX_WAKELOCK_TIMEOUT_MIN,
Anurag Chouhan7c01cc42016-12-16 21:33:43 +05304311 CFG_RX_WAKELOCK_TIMEOUT_MAX),
gaoleze2920bd2017-03-21 17:38:42 +08004312 REG_VARIABLE(CFG_SAP_CH_SWITCH_BEACON_CNT, WLAN_PARAM_Integer,
4313 struct hdd_config, sap_chanswitch_beacon_cnt,
4314 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4315 CFG_SAP_CH_SWITCH_BEACON_CNT_DEFAULT,
4316 CFG_SAP_CH_SWITCH_BEACON_CNT_MIN,
4317 CFG_SAP_CH_SWITCH_BEACON_CNT_MAX),
gaolez76d2a162017-03-21 19:23:58 +08004318 REG_VARIABLE(CFG_SAP_CH_SWITCH_MODE, WLAN_PARAM_Integer,
4319 struct hdd_config, sap_chanswitch_mode,
4320 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4321 CFG_SAP_CH_SWITCH_MODE_DEFAULT,
4322 CFG_SAP_CH_SWITCH_MODE_MIN,
4323 CFG_SAP_CH_SWITCH_MODE_MAX),
Anurag Chouhan7c01cc42016-12-16 21:33:43 +05304324 REG_VARIABLE(CFG_MAX_SCHED_SCAN_PLAN_INT_NAME, WLAN_PARAM_Integer,
4325 struct hdd_config, max_sched_scan_plan_interval,
4326 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4327 CFG_MAX_SCHED_SCAN_PLAN_INT_DEFAULT,
4328 CFG_MAX_SCHED_SCAN_PLAN_INT_MIN,
4329 CFG_MAX_SCHED_SCAN_PLAN_INT_MAX),
4330 REG_VARIABLE(CFG_MAX_SCHED_SCAN_PLAN_ITRNS_NAME, WLAN_PARAM_Integer,
4331 struct hdd_config, max_sched_scan_plan_iterations,
4332 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4333 CFG_MAX_SCHED_SCAN_PLAN_ITRNS_DEFAULT,
4334 CFG_MAX_SCHED_SCAN_PLAN_ITRNS_MIN,
4335 CFG_MAX_SCHED_SCAN_PLAN_ITRNS_MAX),
Kapil Gupta5cda2252016-12-29 18:44:26 +05304336
Jeff Johnson441e1f72017-02-07 08:50:49 -08004337 REG_VARIABLE(CFG_PRIVATE_WEXT_CONTROL_NAME, WLAN_PARAM_Integer,
4338 struct hdd_config, private_wext_control,
4339 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4340 CFG_PRIVATE_WEXT_CONTROL_DEFAULT,
4341 CFG_PRIVATE_WEXT_CONTROL_MIN,
4342 CFG_PRIVATE_WEXT_CONTROL_MAX),
Kapil Gupta5cda2252016-12-29 18:44:26 +05304343
Arun Khandavallicc544b32017-01-30 19:52:16 +05304344 REG_VARIABLE(CFG_SAP_INTERNAL_RESTART_NAME, WLAN_PARAM_Integer,
4345 struct hdd_config, sap_internal_restart,
4346 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4347 CFG_SAP_INTERNAL_RESTART_DEFAULT,
4348 CFG_SAP_INTERNAL_RESTART_MIN,
4349 CFG_SAP_INTERNAL_RESTART_MAX),
Srinivas Girigowda70e169a2017-03-07 23:55:57 -08004350
Hanumanth Reddy Pothulaffc2d482017-07-04 11:32:44 +05304351 REG_VARIABLE(CFG_RESTART_BEACONING_ON_CH_AVOID_NAME, WLAN_PARAM_Integer,
4352 struct hdd_config, restart_beaconing_on_chan_avoid_event,
Hanumanth Reddy Pothula9c161dd2017-03-23 19:03:08 +05304353 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Hanumanth Reddy Pothulaffc2d482017-07-04 11:32:44 +05304354 CFG_RESTART_BEACONING_ON_CH_AVOID_DEFAULT,
4355 CFG_RESTART_BEACONING_ON_CH_AVOID_MIN,
4356 CFG_RESTART_BEACONING_ON_CH_AVOID_MAX),
Hanumanth Reddy Pothula9c161dd2017-03-23 19:03:08 +05304357
Kapil Gupta5cda2252016-12-29 18:44:26 +05304358 REG_VARIABLE(CFG_PER_ROAM_ENABLE_NAME, WLAN_PARAM_Integer,
4359 struct hdd_config, is_per_roam_enabled,
4360 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4361 CFG_PER_ROAM_ENABLE_DEFAULT,
4362 CFG_PER_ROAM_ENABLE_MIN,
4363 CFG_PER_ROAM_ENABLE_MAX),
4364
4365 REG_VARIABLE(CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_NAME, WLAN_PARAM_Integer,
4366 struct hdd_config, per_roam_high_rate_threshold,
4367 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4368 CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_DEFAULT,
4369 CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_MIN,
4370 CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_MAX),
4371
4372 REG_VARIABLE(CFG_PER_ROAM_CONFIG_LOW_RATE_TH_NAME, WLAN_PARAM_Integer,
4373 struct hdd_config, per_roam_low_rate_threshold,
4374 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4375 CFG_PER_ROAM_CONFIG_LOW_RATE_TH_DEFAULT,
4376 CFG_PER_ROAM_CONFIG_LOW_RATE_TH_MIN,
4377 CFG_PER_ROAM_CONFIG_LOW_RATE_TH_MAX),
4378
4379 REG_VARIABLE(CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_NAME,
4380 WLAN_PARAM_Integer, struct hdd_config, per_roam_th_percent,
4381 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4382 CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_DEFAULT,
4383 CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_MIN,
4384 CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_MAX),
4385
4386 REG_VARIABLE(CFG_PER_ROAM_REST_TIME_NAME, WLAN_PARAM_Integer,
4387 struct hdd_config, per_roam_rest_time,
4388 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4389 CFG_PER_ROAM_REST_TIME_DEFAULT,
4390 CFG_PER_ROAM_REST_TIME_MIN,
4391 CFG_PER_ROAM_REST_TIME_MAX),
Kapil Gupta957827b2017-02-13 15:47:04 +05304392
4393 REG_VARIABLE(CFG_PER_ROAM_MONITOR_TIME, WLAN_PARAM_Integer,
4394 struct hdd_config, per_roam_mon_time,
4395 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4396 CFG_PER_ROAM_MONTIOR_TIME_DEFAULT,
4397 CFG_PER_ROAM_MONITOR_TIME_MIN,
4398 CFG_PER_ROAM_MONITOR_TIME_MAX),
4399
Selvaraj, Sridhar0641fab2017-05-17 16:02:00 +05304400 REG_VARIABLE(CFG_PER_ROAM_MIN_CANDIDATE_RSSI, WLAN_PARAM_Integer,
4401 struct hdd_config, min_candidate_rssi,
4402 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4403 CFG_PER_ROAM_MIN_CANDIDATE_RSSI_DEFAULT,
4404 CFG_PER_ROAM_MIN_CANDIDATE_RSSI_MIN,
4405 CFG_PER_ROAM_MIN_CANDIDATE_RSSI_MAX),
4406
Nachiket Kukadee547a482018-05-22 16:43:30 +05304407 REG_VARIABLE(CFG_ACTIVE_UC_APF_MODE_NAME, WLAN_PARAM_Integer,
4408 struct hdd_config, active_uc_apf_mode,
4409 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4410 CFG_ACTIVE_UC_APF_MODE_DEFAULT,
4411 CFG_ACTIVE_UC_APF_MODE_MIN,
4412 CFG_ACTIVE_UC_APF_MODE_MAX),
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05304413
Nachiket Kukadee547a482018-05-22 16:43:30 +05304414 REG_VARIABLE(CFG_ACTIVE_MC_BC_APF_MODE_NAME, WLAN_PARAM_Integer,
4415 struct hdd_config, active_mc_bc_apf_mode,
4416 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4417 CFG_ACTIVE_MC_BC_APF_MODE_DEFAULT,
4418 CFG_ACTIVE_MC_BC_APF_MODE_MIN,
4419 CFG_ACTIVE_MC_BC_APF_MODE_MAX),
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05304420
Selvaraj, Sridhar4f684bb2017-01-19 15:59:23 +05304421 REG_VARIABLE(CFG_ENABLE_BCAST_PROBE_RESP_NAME, WLAN_PARAM_Integer,
4422 struct hdd_config, enable_bcast_probe_rsp,
4423 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4424 CFG_ENABLE_BCAST_PROBE_RESP_DEFAULT,
4425 CFG_ENABLE_BCAST_PROBE_RESP_MIN,
4426 CFG_ENABLE_BCAST_PROBE_RESP_MAX),
Naveen Rawatb2fc4132017-05-10 20:42:05 -07004427
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08004428#ifdef WLAN_FEATURE_11AX
4429 REG_VARIABLE(CFG_ENABLE_UL_MIMO_NAME, WLAN_PARAM_Integer,
4430 struct hdd_config, enable_ul_mimo,
4431 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4432 CFG_ENABLE_UL_MIMO_DEFAULT,
4433 CFG_ENABLE_UL_MIMO_MIN,
4434 CFG_ENABLE_UL_MIMO_MAX),
4435
Kiran Kumar Lokere4aa08a52017-12-15 19:00:39 -08004436 REG_VARIABLE(CFG_HE_DYNAMIC_FRAGMENTATION_NAME, WLAN_PARAM_Integer,
4437 struct hdd_config, he_dynamic_frag_support,
4438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4439 CFG_HE_DYNAMIC_FRAGMENTATION_DEFAULT,
4440 CFG_HE_DYNAMIC_FRAGMENTATION_MIN,
4441 CFG_HE_DYNAMIC_FRAGMENTATION_MAX),
4442
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08004443 REG_VARIABLE(CFG_ENABLE_UL_OFDMA_NAME, WLAN_PARAM_Integer,
4444 struct hdd_config, enable_ul_ofdma,
4445 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4446 CFG_ENABLE_UL_OFDMA_DEFAULT,
4447 CFG_ENABLE_UL_OFDMA_MIN,
4448 CFG_ENABLE_UL_OFDMA_MAX),
Manikandan Mohan39accff2017-05-02 16:09:00 -07004449
4450 REG_VARIABLE(CFG_HE_STA_OBSSPD_NAME, WLAN_PARAM_HexInteger,
4451 struct hdd_config, he_sta_obsspd,
4452 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4453 CFG_HE_STA_OBSSPD_DEFAULT,
4454 CFG_HE_STA_OBSSPD_MIN,
4455 CFG_HE_STA_OBSSPD_MAX),
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08004456#endif
Varun Reddy Yeturud33033f2018-06-11 10:58:30 -07004457#ifdef WLAN_SUPPORT_TWT
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -07004458 REG_VARIABLE(CFG_ENABLE_TWT_NAME, WLAN_PARAM_Integer,
4459 struct hdd_config, enable_twt,
4460 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4461 CFG_ENABLE_TWT_DEFAULT,
4462 CFG_ENABLE_TWT_MIN,
4463 CFG_ENABLE_TWT_MAX),
4464
4465 REG_VARIABLE(CFG_TWT_CONGESTION_TIMEOUT_NAME, WLAN_PARAM_Integer,
4466 struct hdd_config, twt_congestion_timeout,
4467 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4468 CFG_TWT_CONGESTION_TIMEOUT_DEFAULT,
4469 CFG_TWT_CONGESTION_TIMEOUT_MIN,
4470 CFG_TWT_CONGESTION_TIMEOUT_MAX),
4471#endif
Dustin Brownab1364a2017-03-27 16:59:08 -07004472
Srinivas Girigowda70e169a2017-03-07 23:55:57 -08004473 REG_VARIABLE(CFG_ARP_AC_CATEGORY, WLAN_PARAM_Integer,
4474 struct hdd_config, arp_ac_category,
4475 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4476 CFG_ARP_AC_CATEGORY_DEFAULT,
4477 CFG_ARP_AC_CATEGORY_MIN,
4478 CFG_ARP_AC_CATEGORY_MAX),
Jeff Johnson12a744b2017-04-04 08:19:37 -07004479
4480 REG_VARIABLE(CFG_ENABLE_ANI_NAME, WLAN_PARAM_Integer,
4481 struct hdd_config, ani_enabled,
4482 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4483 CFG_ENABLE_ANI_DEFAULT,
4484 CFG_ENABLE_ANI_MIN,
4485 CFG_ENABLE_ANI_MAX),
Amar Singhal5cccafe2017-02-15 12:42:58 -08004486
Selvaraj, Sridhara521aab2017-03-25 16:42:34 +05304487 REG_VARIABLE(CFG_QCN_IE_SUPPORT_NAME, WLAN_PARAM_Integer,
4488 struct hdd_config, qcn_ie_support,
4489 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4490 CFG_QCN_IE_SUPPORT_DEFAULT,
4491 CFG_QCN_IE_SUPPORT_MIN,
4492 CFG_QCN_IE_SUPPORT_MAX),
Amar Singhal5cccafe2017-02-15 12:42:58 -08004493
Dustin Brown7f939932017-05-18 15:02:17 -07004494 REG_VARIABLE(CFG_TIMER_MULTIPLIER_NAME, WLAN_PARAM_Integer,
4495 struct hdd_config, timer_multiplier,
4496 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4497 CFG_TIMER_MULTIPLIER_DEFAULT,
4498 CFG_TIMER_MULTIPLIER_MIN,
4499 CFG_TIMER_MULTIPLIER_MAX),
4500
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05304501 REG_VARIABLE(CFG_PRB_REQ_IE_WHITELIST_NAME, WLAN_PARAM_Integer,
4502 struct hdd_config, probe_req_ie_whitelist,
4503 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4504 CFG_PRB_REQ_IE_WHITELIST_DEFAULT,
4505 CFG_PRB_REQ_IE_WHITELIST_MIN,
4506 CFG_PRB_REQ_IE_WHITELIST_MAX),
4507
4508 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP0_NAME, WLAN_PARAM_HexInteger,
4509 struct hdd_config, probe_req_ie_bitmap_0,
4510 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4511 CFG_PRB_REQ_IE_BIT_MAP0_DEFAULT,
4512 CFG_PRB_REQ_IE_BIT_MAP0_MIN,
4513 CFG_PRB_REQ_IE_BIT_MAP0_MAX),
4514
4515 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP1_NAME, WLAN_PARAM_HexInteger,
4516 struct hdd_config, probe_req_ie_bitmap_1,
4517 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4518 CFG_PRB_REQ_IE_BIT_MAP1_DEFAULT,
4519 CFG_PRB_REQ_IE_BIT_MAP1_MIN,
4520 CFG_PRB_REQ_IE_BIT_MAP1_MAX),
4521
4522 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP2_NAME, WLAN_PARAM_HexInteger,
4523 struct hdd_config, probe_req_ie_bitmap_2,
4524 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4525 CFG_PRB_REQ_IE_BIT_MAP2_DEFAULT,
4526 CFG_PRB_REQ_IE_BIT_MAP2_MIN,
4527 CFG_PRB_REQ_IE_BIT_MAP2_MAX),
4528
4529 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP3_NAME, WLAN_PARAM_HexInteger,
4530 struct hdd_config, probe_req_ie_bitmap_3,
4531 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4532 CFG_PRB_REQ_IE_BIT_MAP3_DEFAULT,
4533 CFG_PRB_REQ_IE_BIT_MAP3_MIN,
4534 CFG_PRB_REQ_IE_BIT_MAP3_MAX),
4535
4536 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP4_NAME, WLAN_PARAM_HexInteger,
4537 struct hdd_config, probe_req_ie_bitmap_4,
4538 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4539 CFG_PRB_REQ_IE_BIT_MAP4_DEFAULT,
4540 CFG_PRB_REQ_IE_BIT_MAP4_MIN,
4541 CFG_PRB_REQ_IE_BIT_MAP4_MAX),
4542
4543 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP5_NAME, WLAN_PARAM_HexInteger,
4544 struct hdd_config, probe_req_ie_bitmap_5,
4545 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4546 CFG_PRB_REQ_IE_BIT_MAP5_DEFAULT,
4547 CFG_PRB_REQ_IE_BIT_MAP5_MIN,
4548 CFG_PRB_REQ_IE_BIT_MAP5_MAX),
4549
4550 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP6_NAME, WLAN_PARAM_HexInteger,
4551 struct hdd_config, probe_req_ie_bitmap_6,
4552 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4553 CFG_PRB_REQ_IE_BIT_MAP6_DEFAULT,
4554 CFG_PRB_REQ_IE_BIT_MAP6_MIN,
4555 CFG_PRB_REQ_IE_BIT_MAP6_MAX),
4556
4557 REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP7_NAME, WLAN_PARAM_HexInteger,
4558 struct hdd_config, probe_req_ie_bitmap_7,
4559 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4560 CFG_PRB_REQ_IE_BIT_MAP7_DEFAULT,
4561 CFG_PRB_REQ_IE_BIT_MAP7_MIN,
4562 CFG_PRB_REQ_IE_BIT_MAP7_MAX),
4563
4564 REG_VARIABLE_STRING(CFG_PROBE_REQ_OUI_NAME, WLAN_PARAM_String,
4565 struct hdd_config, probe_req_ouis,
4566 VAR_FLAGS_OPTIONAL,
4567 (void *)CFG_PROBE_REQ_OUI_DEFAULT),
4568
Selvaraj, Sridhar97ce6582017-01-20 17:06:34 +05304569 REG_VARIABLE(CFG_FILS_MAX_CHAN_GUARD_TIME_NAME, WLAN_PARAM_Integer,
4570 struct hdd_config, fils_max_chan_guard_time,
4571 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4572 CFG_FILS_MAX_CHAN_GUARD_TIME_DEFAULT,
4573 CFG_FILS_MAX_CHAN_GUARD_TIME_MIN,
4574 CFG_FILS_MAX_CHAN_GUARD_TIME_MAX),
Naveen Rawat2b6e3c92017-03-20 13:59:07 -07004575
Dustin Brown20b6fcf2017-05-17 15:35:17 -07004576 REG_VARIABLE(CFG_SCAN_BACKOFF_MULTIPLIER_NAME, WLAN_PARAM_Integer,
4577 struct hdd_config, scan_backoff_multiplier,
4578 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4579 CFG_SCAN_BACKOFF_MULTIPLIER_DEFAULT,
4580 CFG_SCAN_BACKOFF_MULTIPLIER_MIN,
4581 CFG_SCAN_BACKOFF_MULTIPLIER_MAX),
4582
Varun Reddy Yeturubba32e92017-09-06 13:31:40 -07004583 REG_VARIABLE(CFG_MAWC_NLO_ENABLED_NAME, WLAN_PARAM_Integer,
4584 struct hdd_config, mawc_nlo_enabled,
4585 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4586 CFG_MAWC_NLO_ENABLED_DEFAULT,
4587 CFG_MAWC_NLO_ENABLED_MIN,
4588 CFG_MAWC_NLO_ENABLED_MAX),
4589
4590 REG_VARIABLE(CFG_MAWC_NLO_EXP_BACKOFF_RATIO_NAME, WLAN_PARAM_Integer,
4591 struct hdd_config, mawc_nlo_exp_backoff_ratio,
4592 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4593 CFG_MAWC_NLO_EXP_BACKOFF_RATIO_DEFAULT,
4594 CFG_MAWC_NLO_EXP_BACKOFF_RATIO_MIN,
4595 CFG_MAWC_NLO_EXP_BACKOFF_RATIO_MAX),
4596
4597 REG_VARIABLE(CFG_MAWC_NLO_INIT_SCAN_INTERVAL_NAME, WLAN_PARAM_Integer,
4598 struct hdd_config, mawc_nlo_init_scan_interval,
4599 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4600 CFG_MAWC_NLO_INIT_SCAN_INTERVAL_DEFAULT,
4601 CFG_MAWC_NLO_INIT_SCAN_INTERVAL_MIN,
4602 CFG_MAWC_NLO_INIT_SCAN_INTERVAL_MAX),
4603
4604 REG_VARIABLE(CFG_MAWC_NLO_MAX_SCAN_INTERVAL_NAME, WLAN_PARAM_Integer,
4605 struct hdd_config, mawc_nlo_max_scan_interval,
4606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4607 CFG_MAWC_NLO_MAX_SCAN_INTERVAL_DEFAULT,
4608 CFG_MAWC_NLO_MAX_SCAN_INTERVAL_MIN,
4609 CFG_MAWC_NLO_MAX_SCAN_INTERVAL_MAX),
4610
4611
Jayachandran Sreekumaran68c952c2017-04-24 12:42:03 +05304612 REG_VARIABLE(CFG_EXTERNAL_ACS_POLICY, WLAN_PARAM_Integer,
4613 struct hdd_config, external_acs_policy,
4614 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4615 CFG_EXTERNAL_ACS_POLICY_DEFAULT,
4616 CFG_EXTERNAL_ACS_POLICY_MIN,
4617 CFG_EXTERNAL_ACS_POLICY_MAX),
4618
Naveen Rawat2b6e3c92017-03-20 13:59:07 -07004619 REG_VARIABLE(CFG_DROPPED_PKT_DISCONNECT_TH_NAME, WLAN_PARAM_Integer,
4620 struct hdd_config, pkt_err_disconn_th,
4621 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4622 CFG_DROPPED_PKT_DISCONNECT_TH_DEFAULT,
4623 CFG_DROPPED_PKT_DISCONNECT_TH_MIN,
4624 CFG_DROPPED_PKT_DISCONNECT_TH_MAX),
Naveen Rawatb2fc4132017-05-10 20:42:05 -07004625
4626 REG_VARIABLE(CFG_FORCE_1X1_NAME, WLAN_PARAM_Integer,
4627 struct hdd_config, is_force_1x1,
4628 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4629 CFG_FORCE_1X1_DEFAULT,
4630 CFG_FORCE_1X1_MIN,
4631 CFG_FORCE_1X1_MAX),
lifeng959a04c2017-05-10 14:21:28 +08004632
4633 REG_VARIABLE(CFG_SET_RTS_FOR_SIFS_BURSTING, WLAN_PARAM_Integer,
4634 struct hdd_config, enable_rts_sifsbursting,
4635 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4636 CFG_SET_RTS_FOR_SIFS_BURSTING_DEFAULT,
4637 CFG_SET_RTS_FOR_SIFS_BURSTING_MIN,
4638 CFG_SET_RTS_FOR_SIFS_BURSTING_MAX),
4639
4640 REG_VARIABLE(CFG_MAX_MPDUS_IN_AMPDU, WLAN_PARAM_Integer,
4641 struct hdd_config, max_mpdus_inampdu,
4642 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4643 CFG_MAX_MPDUS_IN_AMPDU_DEFAULT,
4644 CFG_MAX_MPDUS_IN_AMPDU_MIN,
4645 CFG_MAX_MPDUS_IN_AMPDU_MAX),
lifeng13a89d72017-05-10 14:49:29 +08004646
4647 REG_VARIABLE(CFG_SAP_MAX_MCS_FOR_TX_DATA, WLAN_PARAM_Integer,
4648 struct hdd_config, sap_max_mcs_txdata,
4649 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4650 CFG_SAP_MAX_MCS_FOR_TX_DATA_DEFAULT,
4651 CFG_SAP_MAX_MCS_FOR_TX_DATA_MIN,
4652 CFG_SAP_MAX_MCS_FOR_TX_DATA_MAX),
Manjunathappa Prakashdab74fa2017-06-19 12:11:03 -07004653
4654 REG_VARIABLE(CFG_TX_ORPHAN_ENABLE_NAME, WLAN_PARAM_Integer,
4655 struct hdd_config, tx_orphan_enable,
4656 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4657 CFG_TX_ORPHAN_ENABLE_DEFAULT,
4658 CFG_TX_ORPHAN_ENABLE_MIN,
4659 CFG_TX_ORPHAN_ENABLE_MAX),
Ravi Kumar Bokka05c14e52017-03-27 14:48:23 +05304660
4661 REG_VARIABLE(CFG_AUTO_DETECT_POWER_FAIL_MODE_NAME, WLAN_PARAM_Integer,
4662 struct hdd_config, auto_pwr_save_fail_mode,
4663 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4664 CFG_AUTO_DETECT_POWER_FAIL_MODE_DEFAULT,
4665 CFG_AUTO_DETECT_POWER_FAIL_MODE_MIN,
4666 CFG_AUTO_DETECT_POWER_FAIL_MODE_MAX),
4667
Naveen Rawat247a8682017-06-05 15:00:31 -07004668 REG_VARIABLE(CFG_11B_NUM_TX_CHAIN_NAME, WLAN_PARAM_Integer,
4669 struct hdd_config, num_11b_tx_chains,
4670 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4671 CFG_11B_NUM_TX_CHAIN_DEFAULT,
4672 CFG_11B_NUM_TX_CHAIN_MIN,
4673 CFG_11B_NUM_TX_CHAIN_MAX),
4674
4675 REG_VARIABLE(CFG_11AG_NUM_TX_CHAIN_NAME, WLAN_PARAM_Integer,
4676 struct hdd_config, num_11ag_tx_chains,
4677 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4678 CFG_11AG_NUM_TX_CHAIN_DEFAULT,
4679 CFG_11AG_NUM_TX_CHAIN_MIN,
4680 CFG_11AG_NUM_TX_CHAIN_MAX),
Ashish Kumar Dhanotiya9335d812017-06-30 16:57:20 +05304681
4682 REG_VARIABLE(CFG_ITO_REPEAT_COUNT_NAME, WLAN_PARAM_Integer,
4683 struct hdd_config, ito_repeat_count,
4684 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4685 CFG_ITO_REPEAT_COUNT_DEFAULT,
4686 CFG_ITO_REPEAT_COUNT_MIN,
4687 CFG_ITO_REPEAT_COUNT_MAX),
4688
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05304689 REG_VARIABLE(CFG_ROAM_DISALLOW_DURATION_NAME, WLAN_PARAM_Integer,
4690 struct hdd_config, disallow_duration,
4691 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4692 CFG_ROAM_DISALLOW_DURATION_DEFAULT,
4693 CFG_ROAM_DISALLOW_DURATION_MIN,
4694 CFG_ROAM_DISALLOW_DURATION_MAX),
4695
4696 REG_VARIABLE(CFG_ROAM_RSSI_CHANNEL_PENALIZATION_NAME,
4697 WLAN_PARAM_Integer, struct hdd_config,
4698 rssi_channel_penalization,
4699 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4700 CFG_ROAM_RSSI_CHANNEL_PENALIZATION_DEFAULT,
4701 CFG_ROAM_RSSI_CHANNEL_PENALIZATION_MIN,
4702 CFG_ROAM_RSSI_CHANNEL_PENALIZATION_MAX),
4703
4704 REG_VARIABLE(CFG_ROAM_NUM_DISALLOWED_APS_NAME, WLAN_PARAM_Integer,
4705 struct hdd_config, num_disallowed_aps,
4706 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4707 CFG_ROAM_NUM_DISALLOWED_APS_DEFAULT,
4708 CFG_ROAM_NUM_DISALLOWED_APS_MIN,
4709 CFG_ROAM_NUM_DISALLOWED_APS_MAX),
yeshwanth sriram guntuka1413dfb2017-06-23 14:09:48 +05304710
4711 REG_VARIABLE(CFG_OCE_ENABLE_STA_NAME, WLAN_PARAM_Integer,
4712 struct hdd_config, oce_sta_enabled,
4713 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4714 CFG_OCE_ENABLE_STA_DEFAULT,
4715 CFG_OCE_ENABLE_STA_MIN,
4716 CFG_OCE_ENABLE_STA_MAX),
4717
4718 REG_VARIABLE(CFG_OCE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
4719 struct hdd_config, oce_sap_enabled,
4720 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4721 CFG_OCE_ENABLE_SAP_DEFAULT,
4722 CFG_OCE_ENABLE_SAP_MIN,
4723 CFG_OCE_ENABLE_SAP_MAX),
Ashwini Patilf2bf05e2017-03-10 03:41:03 +05304724
Manjeet Singha9cae432017-02-28 11:58:22 +05304725 REG_VARIABLE(CFG_ENABLE_5G_BAND_PREF_NAME, WLAN_PARAM_Integer,
4726 struct hdd_config, enable_5g_band_pref,
4727 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4728 CFG_ENABLE_5G_BAND_PREF_DEFAULT,
4729 CFG_ENABLE_5G_BAND_PREF_MIN,
4730 CFG_ENABLE_5G_BAND_PREF_MAX),
4731
4732 REG_VARIABLE(CFG_5G_RSSI_BOOST_THRESHOLD_NAME, WLAN_PARAM_Integer,
4733 struct hdd_config, rssi_boost_threshold_5g,
4734 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4735 CFG_5G_RSSI_BOOST_THRESHOLD_DEFAULT,
4736 CFG_5G_RSSI_BOOST_THRESHOLD_MIN,
4737 CFG_5G_RSSI_BOOST_THRESHOLD_MAX),
4738
4739 REG_VARIABLE(CFG_5G_RSSI_BOOST_FACTOR_NAME, WLAN_PARAM_Integer,
4740 struct hdd_config, rssi_boost_factor_5g,
4741 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4742 CFG_5G_RSSI_BOOST_FACTOR_DEFAULT,
4743 CFG_5G_RSSI_BOOST_FACTOR_MIN,
4744 CFG_5G_RSSI_BOOST_FACTOR_MAX),
4745
4746 REG_VARIABLE(CFG_5G_MAX_RSSI_BOOST_NAME, WLAN_PARAM_Integer,
4747 struct hdd_config, max_rssi_boost_5g,
4748 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4749 CFG_5G_MAX_RSSI_BOOST_DEFAULT,
4750 CFG_5G_MAX_RSSI_BOOST_MIN,
4751 CFG_5G_MAX_RSSI_BOOST_MAX),
4752
4753 REG_VARIABLE(CFG_5G_RSSI_PENALIZE_THRESHOLD_NAME, WLAN_PARAM_Integer,
4754 struct hdd_config, rssi_penalize_threshold_5g,
4755 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4756 CFG_5G_RSSI_PENALIZE_THRESHOLD_DEFAULT,
4757 CFG_5G_RSSI_PENALIZE_THRESHOLD_MIN,
4758 CFG_5G_RSSI_PENALIZE_THRESHOLD_MAX),
4759
4760 REG_VARIABLE(CFG_5G_RSSI_PENALIZE_FACTOR_NAME, WLAN_PARAM_Integer,
4761 struct hdd_config, rssi_penalize_factor_5g,
4762 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4763 CFG_5G_RSSI_PENALIZE_FACTOR_DEFAULT,
4764 CFG_5G_RSSI_PENALIZE_FACTOR_MIN,
4765 CFG_5G_RSSI_PENALIZE_FACTOR_MAX),
4766
4767 REG_VARIABLE(CFG_5G_MAX_RSSI_PENALIZE_NAME, WLAN_PARAM_Integer,
4768 struct hdd_config, max_rssi_penalize_5g,
4769 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4770 CFG_5G_MAX_RSSI_PENALIZE_DEFAULT,
4771 CFG_5G_MAX_RSSI_PENALIZE_MIN,
4772 CFG_5G_MAX_RSSI_PENALIZE_MAX),
Ashish Kumar Dhanotiyab8630ab2017-07-21 14:18:14 +05304773
4774 REG_VARIABLE(CFG_LPRx_NAME, WLAN_PARAM_Integer,
4775 struct hdd_config, enable_lprx,
4776 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4777 CFG_LPRx_DEFAULT,
4778 CFG_LPRx_MIN,
4779 CFG_LPRx_MAX),
Ashish Kumar Dhanotiyab28338c2017-07-21 20:12:34 +05304780
4781 REG_VARIABLE(CFG_UPPER_BRSSI_THRESH_NAME, WLAN_PARAM_Integer,
4782 struct hdd_config, upper_brssi_thresh,
4783 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4784 CFG_UPPER_BRSSI_THRESH_DEFAULT,
4785 CFG_UPPER_BRSSI_THRESH_MIN,
4786 CFG_UPPER_BRSSI_THRESH_MAX),
4787
4788 REG_VARIABLE(CFG_LOWER_BRSSI_THRESH_NAME, WLAN_PARAM_Integer,
4789 struct hdd_config, lower_brssi_thresh,
4790 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4791 CFG_LOWER_BRSSI_THRESH_DEFAULT,
4792 CFG_LOWER_BRSSI_THRESH_MIN,
4793 CFG_LOWER_BRSSI_THRESH_MAX),
4794
4795 REG_VARIABLE(CFG_DTIM_1CHRX_ENABLE_NAME, WLAN_PARAM_Integer,
4796 struct hdd_config, enable_dtim_1chrx,
4797 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4798 CFG_DTIM_1CHRX_ENABLE_DEFAULT,
4799 CFG_DTIM_1CHRX_ENABLE_MIN,
4800 CFG_DTIM_1CHRX_ENABLE_MAX),
Ravi Joshi9771d432017-06-26 13:58:12 -07004801
4802 REG_VARIABLE(CFG_RANDOMIZE_NDI_MAC_NAME, WLAN_PARAM_Integer,
4803 struct hdd_config, is_ndi_mac_randomized,
4804 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4805 CFG_RANDOMIZE_NDI_MAC_DEFAULT,
4806 CFG_RANDOMIZE_NDI_MAC_MIN,
4807 CFG_RANDOMIZE_NDI_MAC_MAX),
Amar Singhale4a2dd52017-08-07 13:59:05 -07004808
4809 REG_VARIABLE(CFG_SCAN_11D_INTERVAL_NAME, WLAN_PARAM_Integer,
4810 struct hdd_config, scan_11d_interval,
4811 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4812 CFG_SCAN_11D_INTERVAL_DEFAULT,
4813 CFG_SCAN_11D_INTERVAL_MIN,
4814 CFG_SCAN_11D_INTERVAL_MAX),
hqu16d6e082017-09-04 10:52:31 +08004815
4816 REG_VARIABLE(CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME,
4817 WLAN_PARAM_Integer,
4818 struct hdd_config, chan_switch_hostapd_rate_enabled,
4819 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4820 CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_DEFAULT,
4821 CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_MIN,
4822 CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_MAX),
Ashwini Patilf2bf05e2017-03-10 03:41:03 +05304823
Abhishek Singhb58164a2017-07-19 18:47:23 +05304824 REG_VARIABLE(CFG_IS_BSSID_HINT_PRIORITY_NAME, WLAN_PARAM_Integer,
4825 struct hdd_config, is_bssid_hint_priority,
4826 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4827 CFG_IS_BSSID_HINT_PRIORITY_DEFAULT,
4828 CFG_IS_BSSID_HINT_PRIORITY_MIN,
4829 CFG_IS_BSSID_HINT_PRIORITY_MAX),
4830
Paul Zhang99fe8842017-12-08 14:43:46 +08004831 REG_VARIABLE(CFG_LATENCY_ENABLE_NAME, WLAN_PARAM_Integer,
4832 struct hdd_config, wlm_latency_enable,
4833 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4834 CFG_LATENCY_ENABLE_DEFAULT,
4835 CFG_LATENCY_ENABLE_MIN,
4836 CFG_LATENCY_ENABLE_MAX),
4837
4838 REG_VARIABLE(CFG_LATENCY_LEVEL_NAME, WLAN_PARAM_Integer,
4839 struct hdd_config, wlm_latency_level,
4840 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4841 CFG_LATENCY_LEVEL_DEFAULT,
4842 CFG_LATENCY_LEVEL_MIN,
4843 CFG_LATENCY_LEVEL_MAX),
4844
4845 REG_VARIABLE(CFG_LATENCY_FLAGS_NORMAL_NAME, WLAN_PARAM_HexInteger,
4846 struct hdd_config, wlm_latency_flags_normal,
4847 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4848 CFG_LATENCY_FLAGS_NORMAL_DEFAULT,
4849 CFG_LATENCY_FLAGS_NORMAL_MIN,
4850 CFG_LATENCY_FLAGS_NORMAL_MAX),
4851
4852 REG_VARIABLE(CFG_LATENCY_FLAGS_MODERATE_NAME, WLAN_PARAM_HexInteger,
4853 struct hdd_config, wlm_latency_flags_moderate,
4854 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4855 CFG_LATENCY_FLAGS_MODERATE_DEFAULT,
4856 CFG_LATENCY_FLAGS_MODERATE_MIN,
4857 CFG_LATENCY_FLAGS_MODERATE_MAX),
4858
4859 REG_VARIABLE(CFG_LATENCY_FLAGS_LOW_NAME, WLAN_PARAM_HexInteger,
4860 struct hdd_config, wlm_latency_flags_low,
4861 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4862 CFG_LATENCY_FLAGS_LOW_DEFAULT,
4863 CFG_LATENCY_FLAGS_LOW_MIN,
4864 CFG_LATENCY_FLAGS_LOW_MAX),
4865
4866 REG_VARIABLE(CFG_LATENCY_FLAGS_ULTRALOW_NAME, WLAN_PARAM_HexInteger,
4867 struct hdd_config, wlm_latency_flags_ultralow,
4868 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4869 CFG_LATENCY_FLAGS_ULTRALOW_DEFAULT,
4870 CFG_LATENCY_FLAGS_ULTRALOW_MIN,
4871 CFG_LATENCY_FLAGS_ULTRALOW_MAX),
4872
Himanshu Agarwal8bcec572017-09-28 11:54:37 +05304873 REG_VARIABLE(CFG_RSSI_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4874 struct hdd_config, rssi_weightage,
4875 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4876 CFG_RSSI_WEIGHTAGE_DEFAULT,
4877 CFG_RSSI_WEIGHTAGE_MIN,
4878 CFG_RSSI_WEIGHTAGE_MAX),
4879
4880 REG_VARIABLE(CFG_HT_CAPABILITY_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4881 struct hdd_config, ht_caps_weightage,
4882 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4883 CFG_HT_CAPABILITY_WEIGHTAGE_DEFAULT,
4884 CFG_HT_CAPABILITY_WEIGHTAGE_MIN,
4885 CFG_HT_CAPABILITY_WEIGHTAGE_MAX),
4886
4887 REG_VARIABLE(CFG_VHT_CAPABILITY_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4888 struct hdd_config, vht_caps_weightage,
4889 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4890 CFG_VHT_CAPABILITY_WEIGHTAGE_DEFAULT,
4891 CFG_VHT_CAPABILITY_WEIGHTAGE_MIN,
4892 CFG_VHT_CAPABILITY_WEIGHTAGE_MAX),
4893
4894 REG_VARIABLE(CFG_HE_CAPABILITY_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4895 struct hdd_config, he_caps_weightage,
4896 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4897 CFG_HE_CAPABILITY_WEIGHTAGE_DEFAULT,
4898 CFG_HE_CAPABILITY_WEIGHTAGE_MIN,
4899 CFG_HE_CAPABILITY_WEIGHTAGE_MAX),
4900
4901 REG_VARIABLE(CFG_CHAN_WIDTH_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4902 struct hdd_config, chan_width_weightage,
4903 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4904 CFG_CHAN_WIDTH_WEIGHTAGE_DEFAULT,
4905 CFG_CHAN_WIDTH_WEIGHTAGE_MIN,
4906 CFG_CHAN_WIDTH_WEIGHTAGE_MAX),
4907
4908 REG_VARIABLE(CFG_CHAN_BAND_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4909 struct hdd_config, chan_band_weightage,
4910 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4911 CFG_CHAN_BAND_WEIGHTAGE_DEFAULT,
4912 CFG_CHAN_BAND_WEIGHTAGE_MIN,
4913 CFG_CHAN_BAND_WEIGHTAGE_MAX),
4914
4915 REG_VARIABLE(CFG_NSS_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4916 struct hdd_config, nss_weightage,
4917 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4918 CFG_NSS_WEIGHTAGE_DEFAULT,
4919 CFG_NSS_WEIGHTAGE_MIN,
4920 CFG_NSS_WEIGHTAGE_MAX),
4921
4922 REG_VARIABLE(CFG_BEAMFORMING_CAP_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4923 struct hdd_config, beamforming_cap_weightage,
4924 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4925 CFG_BEAMFORMING_CAP_WEIGHTAGE_DEFAULT,
4926 CFG_BEAMFORMING_CAP_WEIGHTAGE_MIN,
4927 CFG_BEAMFORMING_CAP_WEIGHTAGE_MAX),
4928
4929 REG_VARIABLE(CFG_PCL_WEIGHT_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4930 struct hdd_config, pcl_weightage,
4931 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4932 CFG_PCL_WEIGHT_DEFAULT,
4933 CFG_PCL_WEIGHT_MIN,
4934 CFG_PCL_WEIGHT_MAX),
4935
4936 REG_VARIABLE(CFG_CHANNEL_CONGESTION_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4937 struct hdd_config, channel_congestion_weightage,
4938 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4939 CFG_CHANNEL_CONGESTION_WEIGHTAGE_DEFAULT,
4940 CFG_CHANNEL_CONGESTION_WEIGHTAGE_MIN,
4941 CFG_CHANNEL_CONGESTION_WEIGHTAGE_MAX),
4942
4943 REG_VARIABLE(CFG_OCE_WAN_WEIGHTAGE_NAME, WLAN_PARAM_Integer,
4944 struct hdd_config, oce_wan_weightage,
4945 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4946 CFG_OCE_WAN_WEIGHTAGE_DEFAULT,
4947 CFG_OCE_WAN_WEIGHTAGE_MIN,
4948 CFG_OCE_WAN_WEIGHTAGE_MAX),
4949
4950 REG_VARIABLE(CFG_BEST_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
4951 struct hdd_config, best_rssi_threshold,
4952 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4953 CFG_BEST_RSSI_THRESHOLD_DEFAULT,
4954 CFG_BEST_RSSI_THRESHOLD_MIN,
4955 CFG_BEST_RSSI_THRESHOLD_MAX),
4956
4957 REG_VARIABLE(CFG_GOOD_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
4958 struct hdd_config, good_rssi_threshold,
4959 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4960 CFG_GOOD_RSSI_THRESHOLD_DEFAULT,
4961 CFG_GOOD_RSSI_THRESHOLD_MIN,
4962 CFG_GOOD_RSSI_THRESHOLD_MAX),
4963
4964 REG_VARIABLE(CFG_BAD_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
4965 struct hdd_config, bad_rssi_threshold,
4966 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4967 CFG_BAD_RSSI_THRESHOLD_DEFAULT,
4968 CFG_BAD_RSSI_THRESHOLD_MIN,
4969 CFG_BAD_RSSI_THRESHOLD_MAX),
4970
4971 REG_VARIABLE(CFG_GOOD_RSSI_PCNT_NAME, WLAN_PARAM_Integer,
4972 struct hdd_config, good_rssi_pcnt,
4973 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4974 CFG_GOOD_RSSI_PCNT_DEFAULT,
4975 CFG_GOOD_RSSI_PCNT_MIN,
4976 CFG_GOOD_RSSI_PCNT_MAX),
4977
4978 REG_VARIABLE(CFG_BAD_RSSI_PCNT_NAME, WLAN_PARAM_Integer,
4979 struct hdd_config, bad_rssi_pcnt,
4980 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4981 CFG_BAD_RSSI_PCNT_DEFAULT,
4982 CFG_BAD_RSSI_PCNT_MIN,
4983 CFG_BAD_RSSI_PCNT_MAX),
4984
4985 REG_VARIABLE(CFG_GOOD_RSSI_BUCKET_SIZE_NAME, WLAN_PARAM_Integer,
4986 struct hdd_config, good_rssi_bucket_size,
4987 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4988 CFG_GOOD_RSSI_BUCKET_SIZE_DEFAULT,
4989 CFG_GOOD_RSSI_BUCKET_SIZE_MIN,
4990 CFG_GOOD_RSSI_BUCKET_SIZE_MAX),
4991
4992 REG_VARIABLE(CFG_BAD_RSSI_BUCKET_SIZE_NAME, WLAN_PARAM_Integer,
4993 struct hdd_config, bad_rssi_bucket_size,
4994 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
4995 CFG_BAD_RSSI_BUCKET_SIZE_DEFAULT,
4996 CFG_BAD_RSSI_BUCKET_SIZE_MIN,
4997 CFG_BAD_RSSI_BUCKET_SIZE_MAX),
4998
4999 REG_VARIABLE(CFG_RSSI_PERF_5G_THRESHOLD_NAME, WLAN_PARAM_Integer,
5000 struct hdd_config, rssi_pref_5g_rssi_thresh,
5001 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5002 CFG_RSSI_PERF_5G_THRESHOLD_DEFAULT,
5003 CFG_RSSI_PERF_5G_THRESHOLD_MIN,
5004 CFG_RSSI_PERF_5G_THRESHOLD_MAX),
5005
5006 REG_VARIABLE(CFG_BAND_WIDTH_WEIGHT_PER_INDEX_NAME,
5007 WLAN_PARAM_HexInteger,
5008 struct hdd_config, bandwidth_weight_per_index,
5009 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5010 CFG_BAND_WIDTH_WEIGHT_PER_INDEX_DEFAULT,
5011 CFG_BAND_WIDTH_WEIGHT_PER_INDEX_MIN,
5012 CFG_BAND_WIDTH_WEIGHT_PER_INDEX_MAX),
5013
5014 REG_VARIABLE(CFG_NSS_WEIGHT_PER_INDEX_NAME, WLAN_PARAM_HexInteger,
5015 struct hdd_config, nss_weight_per_index,
5016 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5017 CFG_NSS_WEIGHT_PER_INDEX_DEFAULT,
5018 CFG_NSS_WEIGHT_PER_INDEX_MIN,
5019 CFG_NSS_WEIGHT_PER_INDEX_MAX),
5020
5021 REG_VARIABLE(CFG_BAND_WEIGHT_PER_INDEX_NAME, WLAN_PARAM_HexInteger,
5022 struct hdd_config, band_weight_per_index,
5023 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5024 CFG_BAND_WEIGHT_PER_INDEX_DEFAULT,
5025 CFG_BAND_WEIGHT_PER_INDEX_MIN,
5026 CFG_BAND_WEIGHT_PER_INDEX_MAX),
5027
5028 REG_VARIABLE(CFG_ESP_QBSS_SLOTS_NAME, WLAN_PARAM_Integer,
5029 struct hdd_config, num_esp_qbss_slots,
5030 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5031 CFG_ESP_QBSS_SLOTS_DEFAULT,
5032 CFG_ESP_QBSS_SLOTS_MIN,
5033 CFG_ESP_QBSS_SLOTS_MAX),
5034
5035 REG_VARIABLE(CFG_ESP_QBSS_SCORE_IDX3_TO_0_NAME, WLAN_PARAM_HexInteger,
5036 struct hdd_config, esp_qbss_score_slots3_to_0,
5037 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5038 CFG_ESP_QBSS_SCORE_IDX3_TO_0_DEFAULT,
5039 CFG_ESP_QBSS_SCORE_IDX3_TO_0_MIN,
5040 CFG_ESP_QBSS_SCORE_IDX3_TO_0_MAX),
5041
5042 REG_VARIABLE(CFG_ESP_QBSS_SCORE_IDX7_TO_4_NAME, WLAN_PARAM_HexInteger,
5043 struct hdd_config, esp_qbss_score_slots7_to_4,
5044 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5045 CFG_ESP_QBSS_SCORE_IDX7_TO_4_DEFAULT,
5046 CFG_ESP_QBSS_SCORE_IDX7_TO_4_MIN,
5047 CFG_ESP_QBSS_SCORE_IDX7_TO_4_MAX),
5048
5049 REG_VARIABLE(CFG_ESP_QBSS_SCORE_IDX11_TO_8_NAME, WLAN_PARAM_HexInteger,
5050 struct hdd_config, esp_qbss_score_slots11_to_8,
5051 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5052 CFG_ESP_QBSS_SCORE_IDX11_TO_8_DEFAULT,
5053 CFG_ESP_QBSS_SCORE_IDX11_TO_8_MIN,
5054 CFG_ESP_QBSS_SCORE_IDX11_TO_8_MAX),
5055
5056 REG_VARIABLE(CFG_ESP_QBSS_SCORE_IDX15_TO_12_NAME, WLAN_PARAM_HexInteger,
5057 struct hdd_config, esp_qbss_score_slots15_to_12,
5058 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5059 CFG_ESP_QBSS_SCORE_IDX15_TO_12_DEFAULT,
5060 CFG_ESP_QBSS_SCORE_IDX15_TO_12_MIN,
5061 CFG_ESP_QBSS_SCORE_IDX15_TO_12_MAX),
5062
5063 REG_VARIABLE(CFG_OCE_WAN_SLOTS_NAME, WLAN_PARAM_Integer,
5064 struct hdd_config, num_oce_wan_slots,
5065 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5066 CFG_OCE_WAN_SLOTS_DEFAULT,
5067 CFG_OCE_WAN_SLOTS_MIN,
5068 CFG_OCE_WAN_SLOTS_MAX),
5069
5070 REG_VARIABLE(CFG_OCE_WAN_SCORE_IDX3_TO_0_NAME, WLAN_PARAM_HexInteger,
5071 struct hdd_config, oce_wan_score_slots3_to_0,
5072 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5073 CFG_OCE_WAN_SCORE_IDX3_TO_0_DEFAULT,
5074 CFG_OCE_WAN_SCORE_IDX3_TO_0_MIN,
5075 CFG_OCE_WAN_SCORE_IDX3_TO_0_MAX),
5076
5077 REG_VARIABLE(CFG_OCE_WAN_SCORE_IDX7_TO_4_NAME, WLAN_PARAM_HexInteger,
5078 struct hdd_config, oce_wan_score_slots7_to_4,
5079 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5080 CFG_OCE_WAN_SCORE_IDX7_TO_4_DEFAULT,
5081 CFG_OCE_WAN_SCORE_IDX7_TO_4_MIN,
5082 CFG_OCE_WAN_SCORE_IDX7_TO_4_MAX),
5083
5084 REG_VARIABLE(CFG_OCE_WAN_SCORE_IDX11_TO_8_NAME, WLAN_PARAM_HexInteger,
5085 struct hdd_config, oce_wan_score_slots11_to_8,
5086 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5087 CFG_OCE_WAN_SCORE_IDX11_TO_8_DEFAULT,
5088 CFG_OCE_WAN_SCORE_IDX11_TO_8_MIN,
5089 CFG_OCE_WAN_SCORE_IDX11_TO_8_MAX),
5090
5091 REG_VARIABLE(CFG_OCE_WAN_SCORE_IDX15_TO_12_NAME, WLAN_PARAM_HexInteger,
5092 struct hdd_config, oce_wan_score_slots15_to_12,
5093 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5094 CFG_OCE_WAN_SCORE_IDX15_TO_12_DEFAULT,
5095 CFG_OCE_WAN_SCORE_IDX15_TO_12_MIN,
5096 CFG_OCE_WAN_SCORE_IDX15_TO_12_MAX),
5097
5098 REG_VARIABLE(CFG_ENABLE_SCORING_FOR_ROAM_NAME, WLAN_PARAM_Integer,
5099 struct hdd_config, enable_scoring_for_roam,
5100 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5101 CFG_ENABLE_SCORING_FOR_ROAM_DEFAULT,
5102 CFG_ENABLE_SCORING_FOR_ROAM_MIN,
5103 CFG_ENABLE_SCORING_FOR_ROAM_MAX),
5104
Abhishek Singh6454ad32017-12-20 10:42:21 +05305105 REG_VARIABLE(CFG_FORCE_RSNE_OVERRIDE_NAME, WLAN_PARAM_Integer,
5106 struct hdd_config, force_rsne_override,
5107 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5108 CFG_FORCE_RSNE_OVERRIDE_DEFAULT,
5109 CFG_FORCE_RSNE_OVERRIDE_MIN,
5110 CFG_FORCE_RSNE_OVERRIDE_MAX),
5111
Ashwini Patilf2bf05e2017-03-10 03:41:03 +05305112 REG_VARIABLE(CFG_MBO_CANDIDATE_RSSI_THRESHOLD_NAME,
5113 WLAN_PARAM_SignedInteger, struct hdd_config,
5114 mbo_candidate_rssi_thres,
5115 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5116 CFG_CANDIDATE_RSSI_THRESHOLD_DEFAULT,
5117 CFG_CANDIDATE_RSSI_THRESHOLD_MIN,
5118 CFG_CANDIDATE_RSSI_THRESHOLD_MAX),
5119
5120 REG_VARIABLE(CFG_MBO_CURRENT_RSSI_THRESHOLD_NAME,
5121 WLAN_PARAM_SignedInteger, struct hdd_config,
5122 mbo_current_rssi_thres,
5123 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5124 CFG_CURRENT_RSSI_THRESHOLD_DEFAULT,
5125 CFG_CURRENT_RSSI_THRESHOLD_MIN,
5126 CFG_CURRENT_RSSI_THRESHOLD_MAX),
5127
5128 REG_VARIABLE(CFG_MBO_CUR_RSSI_MCC_THRESHOLD_NAME,
5129 WLAN_PARAM_SignedInteger, struct hdd_config,
5130 mbo_current_rssi_mcc_thres,
5131 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5132 CFG_MBO_CUR_RSSI_MCC_THRESHOLD_DEFAULT,
5133 CFG_MBO_CUR_RSSI_MCC_THRESHOLD_MIN,
5134 CFG_MBO_CUR_RSSI_MCC_THRESHOLD_MAX),
5135
5136 REG_VARIABLE(CFG_MBO_CAND_RSSI_BTC_THRESHOLD_NAME,
5137 WLAN_PARAM_SignedInteger, struct hdd_config,
5138 mbo_candidate_rssi_btc_thres,
5139 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5140 CFG_MBO_CAND_RSSI_BTC_THRESHOLD_DEFAULT,
5141 CFG_MBO_CAND_RSSI_BTC_THRESHOLD_MIN,
5142 CFG_MBO_CAND_RSSI_BTC_THRESHOLD_MAX),
Vignesh Viswanathancc7f1b92017-09-28 13:12:24 +05305143 REG_VARIABLE(CFG_IS_FILS_ENABLED_NAME, WLAN_PARAM_Integer,
5144 struct hdd_config, is_fils_enabled,
5145 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5146 CFG_IS_FILS_ENABLED_DEFAULT,
5147 CFG_IS_FILS_ENABLED_MIN,
5148 CFG_IS_FILS_ENABLED_MAX),
Hanumanth Reddy Pothula3def8942017-10-05 16:19:36 +05305149
Qiwei Cai4505fc62018-05-17 18:35:19 +08005150#ifdef WLAN_FEATURE_PACKET_FILTERING
Hanumanth Reddy Pothula3def8942017-10-05 16:19:36 +05305151 REG_VARIABLE(CFG_ENABLE_PACKET_FILTERS_NAME, WLAN_PARAM_Integer,
5152 struct hdd_config, packet_filters_bitmap,
5153 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5154 CFG_ENABLE_PACKET_FILTERS_DEFAULT,
5155 CFG_ENABLE_PACKET_FILTERS_MIN,
5156 CFG_ENABLE_PACKET_FILTERS_MAX),
Qiwei Cai4505fc62018-05-17 18:35:19 +08005157#endif /* WLAN_FEATURE_PACKET_FILTERING */
lifeng1c16b6b2017-09-25 13:59:55 +08005158
5159 REG_VARIABLE(CFG_DFS_BEACON_TX_ENHANCED, WLAN_PARAM_Integer,
5160 struct hdd_config, dfs_beacon_tx_enhanced,
5161 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5162 CFG_DFS_BEACON_TX_ENHANCED_DEFAULT,
5163 CFG_DFS_BEACON_TX_ENHANCED_MIN,
5164 CFG_DFS_BEACON_TX_ENHANCED_MAX),
lifeng7c607dd2017-02-21 21:16:49 +08005165
5166 REG_VARIABLE(CFG_REDUCED_BEACON_INTERVAL, WLAN_PARAM_Integer,
5167 struct hdd_config, reduced_beacon_interval,
5168 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5169 CFG_REDUCED_BEACON_INTERVAL_DEFAULT,
5170 CFG_REDUCED_BEACON_INTERVAL_MIN,
5171 CFG_REDUCED_BEACON_INTERVAL_MAX),
Yeshwanth Sriram Guntuka2ba6fe92017-10-04 14:40:45 +05305172
5173 REG_VARIABLE(CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_NAME,
5174 WLAN_PARAM_Integer, struct hdd_config,
5175 rssi_assoc_reject_enabled,
5176 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5177 CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_DEFAULT,
5178 CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_MIN,
5179 CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_MAX),
5180
5181 REG_VARIABLE(CFG_OCE_PROBE_REQ_RATE_NAME, WLAN_PARAM_Integer,
5182 struct hdd_config, oce_probe_req_rate_enabled,
5183 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5184 CFG_OCE_PROBE_REQ_RATE_DEFAULT,
5185 CFG_OCE_PROBE_REQ_RATE_MIN,
5186 CFG_OCE_PROBE_REQ_RATE_MAX),
5187
5188 REG_VARIABLE(CFG_OCE_PROBE_RSP_RATE_NAME, WLAN_PARAM_Integer,
5189 struct hdd_config, oce_probe_resp_rate_enabled,
5190 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5191 CFG_OCE_PROBE_RSP_RATE_DEFAULT,
5192 CFG_OCE_PROBE_RSP_RATE_MIN,
5193 CFG_OCE_PROBE_RSP_RATE_MAX),
5194
5195 REG_VARIABLE(CFG_OCE_BEACON_RATE_NAME, WLAN_PARAM_Integer,
5196 struct hdd_config, oce_beacon_rate_enabled,
5197 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5198 CFG_OCE_BEACON_RATE_DEFAULT,
5199 CFG_OCE_BEACON_RATE_MIN,
5200 CFG_OCE_BEACON_RATE_MAX),
5201
5202 REG_VARIABLE(CFG_ENABLE_PROBE_REQ_DEFERRAL_NAME, WLAN_PARAM_Integer,
5203 struct hdd_config, probe_req_deferral_enabled,
5204 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5205 CFG_ENABLE_PROBE_REQ_DEFERRAL_DEFAULT,
5206 CFG_ENABLE_PROBE_REQ_DEFERRAL_MIN,
5207 CFG_ENABLE_PROBE_REQ_DEFERRAL_MAX),
5208
5209 REG_VARIABLE(CFG_ENABLE_FILS_DISCOVERY_SAP_NAME, WLAN_PARAM_Integer,
5210 struct hdd_config, fils_discovery_sap_enabled,
5211 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5212 CFG_ENABLE_FILS_DISCOVERY_SAP_DEFAULT,
5213 CFG_ENABLE_FILS_DISCOVERY_SAP_MIN,
5214 CFG_ENABLE_FILS_DISCOVERY_SAP_MAX),
5215
5216 REG_VARIABLE(CFG_ENABLE_ESP_FEATURE_NAME, WLAN_PARAM_Integer,
5217 struct hdd_config, esp_for_roam_enabled,
5218 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5219 CFG_ENABLE_ESP_FEATURE_DEFAULT,
5220 CFG_ENABLE_ESP_FEATURE_MIN,
5221 CFG_ENABLE_ESP_FEATURE_MAX),
5222
Naveen Rawat269b4ed2017-12-07 06:47:32 -08005223 REG_VARIABLE(CFG_TX_CHAIN_MASK_2G_NAME, WLAN_PARAM_Integer,
5224 struct hdd_config, tx_chain_mask_2g,
5225 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5226 CFG_TX_CHAIN_MASK_2G_DEFAULT,
5227 CFG_TX_CHAIN_MASK_2G_MIN,
5228 CFG_TX_CHAIN_MASK_2G_MAX),
5229
5230 REG_VARIABLE(CFG_RX_CHAIN_MASK_2G_NAME, WLAN_PARAM_Integer,
5231 struct hdd_config, rx_chain_mask_2g,
5232 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5233 CFG_RX_CHAIN_MASK_2G_DEFAULT,
5234 CFG_RX_CHAIN_MASK_2G_MIN,
5235 CFG_RX_CHAIN_MASK_2G_MAX),
5236
5237 REG_VARIABLE(CFG_TX_CHAIN_MASK_5G_NAME, WLAN_PARAM_Integer,
5238 struct hdd_config, tx_chain_mask_5g,
5239 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5240 CFG_TX_CHAIN_MASK_5G_DEFAULT,
5241 CFG_TX_CHAIN_MASK_5G_MIN,
5242 CFG_TX_CHAIN_MASK_5G_MAX),
5243
5244 REG_VARIABLE(CFG_RX_CHAIN_MASK_5G_NAME, WLAN_PARAM_Integer,
5245 struct hdd_config, rx_chain_mask_5g,
5246 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5247 CFG_RX_CHAIN_MASK_5G_DEFAULT,
5248 CFG_RX_CHAIN_MASK_5G_MIN,
5249 CFG_RX_CHAIN_MASK_5G_MAX),
yeshwanth sriram guntuka41f936c2017-09-01 17:53:49 +05305250
5251 REG_VARIABLE(CFG_BTM_ENABLE_NAME, WLAN_PARAM_HexInteger,
5252 struct hdd_config, btm_offload_config,
5253 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5254 CFG_BTM_ENABLE_DEFAULT,
5255 CFG_BTM_ENABLE_MIN,
5256 CFG_BTM_ENABLE_MAX),
Padma, Santhosh Kumar3e47c632017-09-01 20:15:27 +05305257
5258#ifdef WLAN_FEATURE_SAE
5259 REG_VARIABLE(CFG_IS_SAE_ENABLED_NAME, WLAN_PARAM_Integer,
5260 struct hdd_config, is_sae_enabled,
5261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5262 CFG_IS_SAE_ENABLED_DEFAULT,
5263 CFG_IS_SAE_ENABLED_MIN,
5264 CFG_IS_SAE_ENABLED_MAX),
5265#endif
Jiachao Wu84bb2ea2018-01-08 16:17:33 +08005266
5267 REG_VARIABLE(CFG_BTM_SOLICITED_TIMEOUT, WLAN_PARAM_Integer,
5268 struct hdd_config, btm_solicited_timeout,
5269 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5270 CFG_BTM_SOLICITED_TIMEOUT_DEFAULT,
5271 CFG_BTM_SOLICITED_TIMEOUT_MIN,
5272 CFG_BTM_SOLICITED_TIMEOUT_MAX),
5273
5274 REG_VARIABLE(CFG_BTM_MAX_ATTEMPT_CNT, WLAN_PARAM_Integer,
5275 struct hdd_config, btm_max_attempt_cnt,
5276 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5277 CFG_BTM_MAX_ATTEMPT_CNT_DEFAULT,
5278 CFG_BTM_MAX_ATTEMPT_CNT_MIN,
5279 CFG_BTM_MAX_ATTEMPT_CNT_MAX),
5280
5281 REG_VARIABLE(CFG_BTM_STICKY_TIME, WLAN_PARAM_Integer,
5282 struct hdd_config, btm_sticky_time,
5283 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5284 CFG_BTM_STICKY_TIME_DEFAULT,
5285 CFG_BTM_STICKY_TIME_MIN,
5286 CFG_BTM_STICKY_TIME_MAX),
Ashish Kumar Dhanotiyacb14b112018-01-19 19:26:44 +05305287
5288 REG_VARIABLE(CFG_ENABLE_GCMP_NAME, WLAN_PARAM_Integer,
5289 struct hdd_config, gcmp_enabled,
5290 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5291 CFG_ENABLE_GCMP_DEFAULT,
5292 CFG_ENABLE_GCMP_MIN,
5293 CFG_ENABLE_GCMP_MAX),
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05305294
5295 REG_VARIABLE(CFG_OFFLOAD_11K_ENABLE_BITMASK_NAME,
5296 WLAN_PARAM_Integer,
5297 struct hdd_config, offload_11k_enable_bitmask,
5298 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5299 CFG_OFFLOAD_11K_ENABLE_BITMASK_DEFAULT,
5300 CFG_OFFLOAD_11K_ENABLE_BITMASK_MIN,
5301 CFG_OFFLOAD_11K_ENABLE_BITMASK_MAX),
5302
5303 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_NAME,
5304 WLAN_PARAM_Integer,
5305 struct hdd_config, neighbor_report_offload_params_bitmask,
5306 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5307 CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_DEFAULT,
5308 CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_MIN,
5309 CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_MAX),
5310
5311 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_NAME,
5312 WLAN_PARAM_Integer,
5313 struct hdd_config, neighbor_report_offload_time_offset,
5314 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5315 CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_DEFAULT,
5316 CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_MIN,
5317 CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_MAX),
5318
5319 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_NAME,
5320 WLAN_PARAM_Integer,
5321 struct hdd_config, neighbor_report_offload_low_rssi_offset,
5322 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5323 CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_DEFAULT,
5324 CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_MIN,
5325 CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_MAX),
5326
5327 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_NAME,
5328 WLAN_PARAM_Integer,
5329 struct hdd_config,
5330 neighbor_report_offload_bmiss_count_trigger,
5331 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5332 CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_DEFAULT,
5333 CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_MIN,
5334 CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_MAX),
5335
5336 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_NAME,
5337 WLAN_PARAM_Integer,
5338 struct hdd_config,
5339 neighbor_report_offload_per_threshold_offset,
5340 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5341 CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_DEFAULT,
5342 CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_MIN,
5343 CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_MAX),
5344
5345 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_NAME,
5346 WLAN_PARAM_Integer,
5347 struct hdd_config, neighbor_report_offload_cache_timeout,
5348 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5349 CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_DEFAULT,
5350 CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_MIN,
5351 CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_MAX),
5352
5353 REG_VARIABLE(CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_NAME,
5354 WLAN_PARAM_Integer,
5355 struct hdd_config, neighbor_report_offload_max_req_cap,
5356 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5357 CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_DEFAULT,
5358 CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_MIN,
5359 CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_MAX),
Surabhi Vishnoi7f085d22018-01-30 12:11:14 +05305360
5361 REG_VARIABLE(CFG_WMI_WQ_WATCHDOG, WLAN_PARAM_Integer,
5362 struct hdd_config, wmi_wq_watchdog_timeout,
5363 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5364 CFG_WMI_WQ_WATCHDOG_DEFAULT,
5365 CFG_WMI_WQ_WATCHDOG_MIN,
5366 CFG_WMI_WQ_WATCHDOG_MAX),
Ashish Kumar Dhanotiya191d1642018-02-08 17:43:09 +05305367
5368 REG_VARIABLE(CFG_DTIM_SELECTION_DIVERSITY_NAME,
5369 WLAN_PARAM_Integer,
5370 struct hdd_config, enable_dtim_selection_diversity,
5371 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5372 CFG_DTIM_SELECTION_DIVERSITY_DEFAULT,
5373 CFG_DTIM_SELECTION_DIVERSITY_MIN,
5374 CFG_DTIM_SELECTION_DIVERSITY_MAX),
Yeshwanth Sriram Guntukadb7995d2018-01-22 16:46:59 +05305375
5376 REG_VARIABLE(CFG_CHANNEL_SELECT_LOGIC_CONC_NAME, WLAN_PARAM_HexInteger,
5377 struct hdd_config, channel_select_logic_conc,
5378 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5379 CFG_CHANNEL_SELECT_LOGIC_CONC_DEFAULT,
5380 CFG_CHANNEL_SELECT_LOGIC_CONC_MIN,
5381 CFG_CHANNEL_SELECT_LOGIC_CONC_MAX),
Ashish Kumar Dhanotiya48dac7d2018-03-28 14:59:50 +05305382
5383 REG_VARIABLE(CFG_TX_SCH_DELAY_NAME,
5384 WLAN_PARAM_Integer,
5385 struct hdd_config, enable_tx_sch_delay,
5386 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5387 CFG_TX_SCH_DELAY_DEFAULT,
5388 CFG_TX_SCH_DELAY_MIN,
5389 CFG_TX_SCH_DELAY_MAX),
Jeff Johnsonc57c13a2018-04-01 11:03:29 -07005390
5391 HDD_GREEN_AP_REG_VARIABLES
Rajeev Kumar15b40a22018-04-12 11:45:24 -07005392
5393 REG_VARIABLE(CFG_ENABLE_UNIT_TEST_FRAMEWORK_NAME,
5394 WLAN_PARAM_Integer,
5395 struct hdd_config, is_unit_test_framework_enabled,
5396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5397 CFG_ENABLE_UINT_TEST_FRAMEWORK_DEFAULT,
5398 CFG_ENABLE_UNIT_TEST_FRAMEWORK_MIN,
5399 CFG_ENABLE_UNIT_TEST_FRAMEWORK_MAX),
Abhinav Kumar271f0632018-03-29 16:01:30 +05305400
5401 REG_VARIABLE(CFG_ROAM_FT_OPEN_ENABLE_NAME, WLAN_PARAM_Integer,
5402 struct hdd_config, enable_ftopen,
5403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5404 CFG_ROAM_FT_OPEN_ENABLE_DEFAULT,
5405 CFG_ROAM_FT_OPEN_ENABLE_MIN,
5406 CFG_ROAM_FT_OPEN_ENABLE_MAX),
Naveen Rawat2b430892018-03-13 13:58:18 -07005407
5408 REG_VARIABLE(CFG_ENABLE_RTT_MAC_RANDOMIZATION_NAME,
5409 WLAN_PARAM_Integer,
5410 struct hdd_config, enable_rtt_mac_randomization,
5411 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5412 CFG_ENABLE_RTT_MAC_RANDOMIZATION_DEFAULT,
5413 CFG_ENABLE_RTT_MAC_RANDOMIZATION_MIN,
5414 CFG_ENABLE_RTT_MAC_RANDOMIZATION_MAX),
Ashish Kumar Dhanotiya959b38c2018-04-06 21:07:57 +05305415
5416 REG_VARIABLE(CFG_ENABLE_SECONDARY_RATE_NAME,
5417 WLAN_PARAM_HexInteger,
5418 struct hdd_config, enable_secondary_rate,
5419 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5420 CFG_ENABLE_SECONDARY_RATE_DEFAULT,
5421 CFG_ENABLE_SECONDARY_RATE_MIN,
5422 CFG_ENABLE_SECONDARY_RATE_MAX),
Abhinav Kumaredd1d372018-05-11 15:33:35 +05305423
5424 REG_VARIABLE(CFG_ROAM_FORCE_RSSI_TRIGGER_NAME,
5425 WLAN_PARAM_Integer, struct hdd_config,
5426 roam_force_rssi_trigger,
5427 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5428 CFG_ROAM_FORCE_RSSI_TRIGGER_DEFAULT,
5429 CFG_ROAM_FORCE_RSSI_TRIGGER_MIN,
5430 CFG_ROAM_FORCE_RSSI_TRIGGER_MAX),
5431
Rachit Kankane0106e382018-05-16 18:59:28 +05305432 REG_VARIABLE(CFG_NUM_VDEV_ENABLE_NAME,
5433 WLAN_PARAM_HexInteger,
5434 struct hdd_config, num_vdevs,
5435 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
5436 CFG_NUM_VDEV_ENABLE_DEFAULT,
5437 CFG_NUM_VDEV_ENABLE_MIN,
5438 CFG_NUM_VDEV_ENABLE_MAX),
Arun Khandavallifae92942016-08-01 13:31:08 +05305439};
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005440
Amar Singhal5cccafe2017-02-15 12:42:58 -08005441
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005442/**
5443 * get_next_line() - find and locate the new line pointer
5444 * @str: pointer to string
5445 *
Jeff Johnson0f04e202018-05-06 16:56:18 -07005446 * This function returns a pointer to the character after the occurrence
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005447 * of a new line character. It also modifies the original string by replacing
5448 * the '\n' character with the null character.
5449 *
5450 * Return: the pointer to the character at new line,
5451 * or NULL if no new line character was found
5452 */
5453static char *get_next_line(char *str)
5454{
5455 char c;
5456
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07005457 if (str == NULL || *str == '\0')
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005458 return NULL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005459
5460 c = *str;
5461 while (c != '\n' && c != '\0' && c != 0xd) {
5462 str = str + 1;
5463 c = *str;
5464 }
5465
Jeff Johnson68755312017-02-10 11:46:55 -08005466 if (c == '\0')
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005467 return NULL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005468
Jeff Johnson68755312017-02-10 11:46:55 -08005469 *str = '\0';
Jeff Johnson68755312017-02-10 11:46:55 -08005470 return str + 1;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005471}
5472
5473/** look for space. Ascii values to look are
5474 * 0x09 == horizontal tab
5475 * 0x0a == Newline ("\n")
5476 * 0x0b == vertical tab
5477 * 0x0c == Newpage or feed form.
5478 * 0x0d == carriage return (CR or "\r")
5479 * Null ('\0') should not considered as space.
5480 */
5481#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
5482
5483/**
5484 * i_trim() - trims any leading and trailing white spaces
5485 * @str: pointer to string
5486 *
5487 * Return: the pointer of the string
5488 */
5489static char *i_trim(char *str)
5490{
5491 char *ptr;
5492
5493 if (*str == '\0')
5494 return str;
5495
5496 /* Find the first non white-space */
5497 ptr = str;
5498 while (i_isspace(*ptr))
5499 ptr++;
5500
5501 if (*ptr == '\0')
5502 return str;
5503
5504 /* This is the new start of the string */
5505 str = ptr;
5506
5507 /* Find the last non white-space */
5508 ptr += strlen(ptr) - 1;
5509
5510 while (ptr != str && i_isspace(*ptr))
5511 ptr--;
5512
5513 /* Null terminate the following character */
5514 ptr[1] = '\0';
5515
5516 return str;
5517}
5518
5519/* Maximum length of the confgiuration name and value */
5520#define CFG_VALUE_MAX_LEN 256
5521#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
5522
5523/**
5524 * hdd_cfg_get_config() - get the configuration content
5525 * @reg_table: pointer to configuration table
5526 * @cRegTableEntries: number of the configuration entries
5527 * @ini_struct: pointer to the hdd config knob
Jeff Johnson723234b2017-09-03 08:49:15 -07005528 * @hdd_ctx: pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005529 * @pBuf: buffer to store the configuration
5530 * @buflen: size of the buffer
5531 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305532 * Return: QDF_STATUS_SUCCESS if the configuration and buffer size can carry
5533 * the content, otherwise QDF_STATUS_E_RESOURCES
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005534 */
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005535static QDF_STATUS hdd_cfg_get_config(struct reg_table_entry *reg_table,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005536 unsigned long cRegTableEntries,
5537 uint8_t *ini_struct,
Jeff Johnson723234b2017-09-03 08:49:15 -07005538 struct hdd_context *hdd_ctx, char *pBuf,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005539 int buflen)
5540{
5541 unsigned int idx;
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005542 struct reg_table_entry *pRegEntry = reg_table;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005543 uint32_t value;
5544 char valueStr[CFG_VALUE_MAX_LEN];
5545 char configStr[CFG_ENTRY_MAX_LEN];
5546 char *fmt;
5547 void *pField;
Anurag Chouhan6d760662016-02-20 16:05:43 +05305548 struct qdf_mac_addr *pMacAddr;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005549 char *pCur = pBuf;
5550 int curlen;
5551
5552 /* start with an empty string */
5553 *pCur = '\0';
5554
5555 for (idx = 0; idx < cRegTableEntries; idx++, pRegEntry++) {
5556 pField = ini_struct + pRegEntry->VarOffset;
5557
5558 if ((WLAN_PARAM_Integer == pRegEntry->RegType) ||
5559 (WLAN_PARAM_SignedInteger == pRegEntry->RegType) ||
5560 (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
5561 value = 0;
Vidyullatha Kanchanapally53241c42017-04-13 19:16:24 +05305562
5563 if ((pRegEntry->VarSize > sizeof(value)) ||
5564 (pRegEntry->VarSize == 0)) {
5565 pr_warn("Invalid length of %s: %d",
5566 pRegEntry->RegName, pRegEntry->VarSize);
5567 continue;
5568 }
5569
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005570 memcpy(&value, pField, pRegEntry->VarSize);
5571 if (WLAN_PARAM_HexInteger == pRegEntry->RegType) {
5572 fmt = "%x";
5573 } else if (WLAN_PARAM_SignedInteger ==
5574 pRegEntry->RegType) {
5575 fmt = "%d";
Vidyullatha Kanchanapally53241c42017-04-13 19:16:24 +05305576 value = sign_extend32(
5577 value,
5578 pRegEntry->VarSize * 8 - 1);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005579 } else {
5580 fmt = "%u";
5581 }
5582 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
5583 } else if (WLAN_PARAM_String == pRegEntry->RegType) {
5584 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s",
5585 (char *)pField);
5586 } else if (WLAN_PARAM_MacAddr == pRegEntry->RegType) {
Anurag Chouhan6d760662016-02-20 16:05:43 +05305587 pMacAddr = (struct qdf_mac_addr *) pField;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005588 snprintf(valueStr, CFG_VALUE_MAX_LEN,
5589 "%02x:%02x:%02x:%02x:%02x:%02x",
5590 pMacAddr->bytes[0],
5591 pMacAddr->bytes[1],
5592 pMacAddr->bytes[2],
5593 pMacAddr->bytes[3],
5594 pMacAddr->bytes[4], pMacAddr->bytes[5]);
5595 } else {
5596 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
5597 }
5598 curlen = scnprintf(configStr, CFG_ENTRY_MAX_LEN,
5599 "%s=[%s]%s\n",
5600 pRegEntry->RegName,
5601 valueStr,
5602 test_bit(idx,
Jeff Johnson723234b2017-09-03 08:49:15 -07005603 (void *)&hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005604 bExplicitCfg) ? "*" : "");
5605
5606 /* Ideally we want to return the config to the application,
5607 * however the config is too big so we just printk() for now
5608 */
5609#ifdef RETURN_IN_BUFFER
Hanumanth Reddy Pothulaadf163e2016-09-07 15:11:58 +05305610 if (curlen < buflen) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005611 /* copy string + '\0' */
5612 memcpy(pCur, configStr, curlen + 1);
5613
5614 /* account for addition; */
5615 pCur += curlen;
5616 buflen -= curlen;
5617 } else {
5618 /* buffer space exhausted, return what we have */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305619 return QDF_STATUS_E_RESOURCES;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005620 }
5621#else
5622 printk(KERN_INFO "%s", configStr);
5623#endif /* RETURN_IN_BUFFER */
5624
5625 }
5626
5627#ifndef RETURN_IN_BUFFER
5628 /* notify application that output is in system log */
5629 snprintf(pCur, buflen, "WLAN configuration written to system log");
5630#endif /* RETURN_IN_BUFFER */
5631
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305632 return QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005633}
5634
Jeff Johnson7274ccc2017-09-30 19:45:40 -07005635/** struct hdd_cfg_entry - ini configuration entry
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005636 * @name: name of the entry
5637 * @value: value of the entry
5638 */
Jeff Johnson7274ccc2017-09-30 19:45:40 -07005639struct hdd_cfg_entry {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005640 char *name;
5641 char *value;
Jeff Johnson7274ccc2017-09-30 19:45:40 -07005642};
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005643
5644/**
5645 * find_cfg_item() - find the configuration item
5646 * @iniTable: pointer to configuration table
5647 * @entries: number fo the configuration entries
5648 * @name: the interested configuration to find
5649 * @value: the value to read back
5650 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305651 * Return: QDF_STATUS_SUCCESS if the interested configuration is found,
5652 * otherwise QDF_STATUS_E_FAILURE
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005653 */
Jeff Johnson7274ccc2017-09-30 19:45:40 -07005654static QDF_STATUS find_cfg_item(struct hdd_cfg_entry *iniTable,
5655 unsigned long entries,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005656 char *name, char **value)
5657{
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305658 QDF_STATUS status = QDF_STATUS_E_FAILURE;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005659 unsigned long i;
5660
5661 for (i = 0; i < entries; i++) {
5662 if (strcmp(iniTable[i].name, name) == 0) {
5663 *value = iniTable[i].value;
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005664 hdd_debug("Found %s entry for Name=[%s] Value=[%s] ",
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005665 WLAN_INI_FILE, name, *value);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305666 return QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005667 }
5668 }
5669
5670 return status;
5671}
5672
5673/**
5674 * parse_hex_digit() - conversion to hex value
5675 * @c: the character to convert
5676 *
5677 * Return: the hex value, otherwise 0
5678 */
5679static int parse_hex_digit(char c)
5680{
5681 if (c >= '0' && c <= '9')
5682 return c - '0';
5683 if (c >= 'a' && c <= 'f')
5684 return c - 'a' + 10;
5685 if (c >= 'A' && c <= 'F')
5686 return c - 'A' + 10;
5687
5688 return 0;
5689}
5690
5691/**
5692 * update_mac_from_string() - convert string to 6 bytes mac address
Jeff Johnson723234b2017-09-03 08:49:15 -07005693 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005694 * @macTable: the macTable to carry the conversion
5695 * @num: number of the interface
5696 *
5697 * 00AA00BB00CC -> 0x00 0xAA 0x00 0xBB 0x00 0xCC
5698 *
5699 * Return: None
5700 */
Jeff Johnson723234b2017-09-03 08:49:15 -07005701static void update_mac_from_string(struct hdd_context *hdd_ctx,
Jeff Johnson7274ccc2017-09-30 19:45:40 -07005702 struct hdd_cfg_entry *macTable, int num)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005703{
5704 int i = 0, j = 0, res = 0;
5705 char *candidate = NULL;
Anurag Chouhan6d760662016-02-20 16:05:43 +05305706 struct qdf_mac_addr macaddr[QDF_MAX_CONCURRENCY_PERSONA];
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005707
5708 memset(macaddr, 0, sizeof(macaddr));
5709
5710 for (i = 0; i < num; i++) {
5711 candidate = macTable[i].value;
Anurag Chouhan6d760662016-02-20 16:05:43 +05305712 for (j = 0; j < QDF_MAC_ADDR_SIZE; j++) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005713 res =
5714 hex2bin(&macaddr[i].bytes[j], &candidate[(j << 1)],
5715 1);
5716 if (res < 0)
5717 break;
5718 }
Anurag Chouhanc5548422016-02-24 18:33:27 +05305719 if (res == 0 && !qdf_is_macaddr_zero(&macaddr[i])) {
Jeff Johnson723234b2017-09-03 08:49:15 -07005720 qdf_mem_copy((uint8_t *) &hdd_ctx->config->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005721 intfMacAddr[i].bytes[0],
5722 (uint8_t *) &macaddr[i].bytes[0],
Anurag Chouhan6d760662016-02-20 16:05:43 +05305723 QDF_MAC_ADDR_SIZE);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005724 }
5725 }
5726}
5727
5728/**
5729 * hdd_apply_cfg_ini() - apply the ini configuration file
Jeff Johnson723234b2017-09-03 08:49:15 -07005730 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005731 * @iniTable: pointer to configuration table
5732 * @entries: number fo the configuration entries
5733 * It overwrites the MAC address if config file exist.
5734 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305735 * Return: QDF_STATUS_SUCCESS if the ini configuration file is correctly parsed,
5736 * otherwise QDF_STATUS_E_INVAL
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005737 */
Jeff Johnson723234b2017-09-03 08:49:15 -07005738static QDF_STATUS hdd_apply_cfg_ini(struct hdd_context *hdd_ctx,
Jeff Johnson7274ccc2017-09-30 19:45:40 -07005739 struct hdd_cfg_entry *iniTable,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005740 unsigned long entries)
5741{
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305742 QDF_STATUS match_status = QDF_STATUS_E_FAILURE;
5743 QDF_STATUS ret_status = QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005744 unsigned int idx;
5745 void *pField;
5746 char *value_str = NULL;
5747 unsigned long len_value_str;
5748 char *candidate;
5749 uint32_t value;
5750 int32_t svalue;
Jeff Johnson723234b2017-09-03 08:49:15 -07005751 void *pStructBase = hdd_ctx->config;
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005752 struct reg_table_entry *pRegEntry = g_registry_table;
Anurag Chouhan6d760662016-02-20 16:05:43 +05305753 unsigned long cRegTableEntries = QDF_ARRAY_SIZE(g_registry_table);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005754 uint32_t cbOutString;
5755 int i;
5756 int rv;
5757
Sourav Mohapatra21012682018-05-24 10:53:17 +05305758 BUILD_BUG_ON(MAX_CFG_INI_ITEMS < cRegTableEntries);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005759
5760 for (idx = 0; idx < cRegTableEntries; idx++, pRegEntry++) {
5761 /* Calculate the address of the destination field in the structure. */
5762 pField = ((uint8_t *) pStructBase) + pRegEntry->VarOffset;
5763
5764 match_status =
5765 find_cfg_item(iniTable, entries, pRegEntry->RegName,
5766 &value_str);
5767
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305768 if ((match_status != QDF_STATUS_SUCCESS)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005769 && (pRegEntry->Flags & VAR_FLAGS_REQUIRED)) {
5770 /* If we could not read the cfg item and it is required, this is an error. */
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005771 hdd_err("Failed to read required config parameter %s", pRegEntry->RegName);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305772 ret_status = QDF_STATUS_E_FAILURE;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005773 break;
5774 }
5775
5776 if ((WLAN_PARAM_Integer == pRegEntry->RegType) ||
5777 (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
5778 /* If successfully read from the registry, use the value read.
5779 * If not, use the default value.
5780 */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305781 if (match_status == QDF_STATUS_SUCCESS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005782 && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
5783 rv = kstrtou32(value_str, 10, &value);
5784 if (rv < 0) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005785 hdd_warn("Reg Parameter %s invalid. Enforcing default", pRegEntry->RegName);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005786 value = pRegEntry->VarDefault;
5787 }
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305788 } else if (match_status == QDF_STATUS_SUCCESS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005789 && (WLAN_PARAM_HexInteger ==
5790 pRegEntry->RegType)) {
5791 rv = kstrtou32(value_str, 16, &value);
5792 if (rv < 0) {
Jeff Johnson810596a2018-05-06 17:01:22 -07005793 hdd_warn("Reg parameter %s invalid. Enforcing default", pRegEntry->RegName);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005794 value = pRegEntry->VarDefault;
5795 }
5796 } else {
5797 value = pRegEntry->VarDefault;
5798 }
5799
Srinivas Girigowdad1b92582017-03-02 11:47:47 -08005800 /* Only if the parameter is set in the ini file, do the range check here */
5801 if (match_status == QDF_STATUS_SUCCESS &&
5802 pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005803 if (value > pRegEntry->VarMax) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005804 hdd_warn("Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Maximum", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005805 value, pRegEntry->VarMax);
5806 value = pRegEntry->VarMax;
5807 }
5808
5809 if (value < pRegEntry->VarMin) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005810 hdd_warn("Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Minimum", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005811 value, pRegEntry->VarMin);
5812 value = pRegEntry->VarMin;
5813 }
5814 }
Srinivas Girigowdad1b92582017-03-02 11:47:47 -08005815 /* Only if the parameter is set in the ini file, do the range check here */
5816 else if (match_status == QDF_STATUS_SUCCESS &&
5817 pRegEntry->Flags &
5818 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005819 if (value > pRegEntry->VarMax) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005820 hdd_warn("Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Default: %lu", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005821 value, pRegEntry->VarMax,
5822 pRegEntry->VarDefault);
5823 value = pRegEntry->VarDefault;
5824 }
5825
5826 if (value < pRegEntry->VarMin) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005827 hdd_warn("Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Default: %lu", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005828 value, pRegEntry->VarMin,
5829 pRegEntry->VarDefault);
5830 value = pRegEntry->VarDefault;
5831 }
5832 }
5833 /* Move the variable into the output field. */
5834 memcpy(pField, &value, pRegEntry->VarSize);
5835 } else if (WLAN_PARAM_SignedInteger == pRegEntry->RegType) {
5836 /* If successfully read from the registry, use the value read.
5837 * If not, use the default value.
5838 */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305839 if (QDF_STATUS_SUCCESS == match_status) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005840 rv = kstrtos32(value_str, 10, &svalue);
5841 if (rv < 0) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005842 hdd_warn("Reg Parameter %s invalid. Enforcing Default", pRegEntry->RegName);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005843 svalue =
5844 (int32_t) pRegEntry->VarDefault;
5845 }
5846 } else {
5847 svalue = (int32_t) pRegEntry->VarDefault;
5848 }
5849
Srinivas Girigowdad1b92582017-03-02 11:47:47 -08005850 /* Only if the parameter is set in the ini file, do the range check here */
5851 if (match_status == QDF_STATUS_SUCCESS &&
5852 pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005853 if (svalue > (int32_t) pRegEntry->VarMax) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005854 hdd_warn("Reg Parameter %s > allowed Maximum "
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005855 "[%d > %d]. Enforcing Maximum", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005856 svalue, (int)pRegEntry->VarMax);
5857 svalue = (int32_t) pRegEntry->VarMax;
5858 }
5859
5860 if (svalue < (int32_t) pRegEntry->VarMin) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005861 hdd_warn("Reg Parameter %s < allowed Minimum "
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005862 "[%d < %d]. Enforcing Minimum", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005863 svalue, (int)pRegEntry->VarMin);
5864 svalue = (int32_t) pRegEntry->VarMin;
5865 }
5866 }
Srinivas Girigowdad1b92582017-03-02 11:47:47 -08005867 /* Only if the parameter is set in the ini file, do the range check here */
5868 else if (match_status == QDF_STATUS_SUCCESS &&
5869 pRegEntry->Flags &
5870 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005871 if (svalue > (int32_t) pRegEntry->VarMax) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005872 hdd_warn("Reg Parameter %s > allowed Maximum "
5873 "[%d > %d]. Enforcing Default: %d", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005874 svalue, (int)pRegEntry->VarMax,
5875 (int)pRegEntry->VarDefault);
5876 svalue =
5877 (int32_t) pRegEntry->VarDefault;
5878 }
5879
5880 if (svalue < (int32_t) pRegEntry->VarMin) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005881 hdd_warn("Reg Parameter %s < allowed Minimum "
5882 "[%d < %d]. Enforcing Default: %d", pRegEntry->RegName,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005883 svalue, (int)pRegEntry->VarMin,
5884 (int)pRegEntry->VarDefault);
5885 svalue = pRegEntry->VarDefault;
5886 }
5887 }
5888 /* Move the variable into the output field. */
5889 memcpy(pField, &svalue, pRegEntry->VarSize);
5890 }
5891 /* Handle string parameters */
5892 else if (WLAN_PARAM_String == pRegEntry->RegType) {
5893#ifdef WLAN_CFG_DEBUG
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005894 hdd_debug("RegName = %s, VarOffset %u VarSize %u VarDefault %s",
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005895 pRegEntry->RegName, pRegEntry->VarOffset,
5896 pRegEntry->VarSize,
5897 (char *)pRegEntry->VarDefault);
5898#endif
5899
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305900 if (match_status == QDF_STATUS_SUCCESS) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005901 len_value_str = strlen(value_str);
5902
5903 if (len_value_str > (pRegEntry->VarSize - 1)) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005904 hdd_err("Invalid Value=[%s] specified for Name=[%s] in %s", value_str,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005905 pRegEntry->RegName,
5906 WLAN_INI_FILE);
5907 cbOutString =
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005908 QDF_MIN(strlen
5909 ((char *)pRegEntry->
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005910 VarDefault),
5911 pRegEntry->VarSize - 1);
5912 memcpy(pField,
5913 (void *)(pRegEntry->VarDefault),
5914 cbOutString);
5915 ((uint8_t *) pField)[cbOutString] =
5916 '\0';
5917 } else {
5918 memcpy(pField, (void *)(value_str),
5919 len_value_str);
5920 ((uint8_t *) pField)[len_value_str] =
5921 '\0';
5922 }
5923 } else {
5924 /* Failed to read the string parameter from the registry. Use the default. */
5925 cbOutString =
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005926 QDF_MIN(strlen((char *)pRegEntry->VarDefault),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005927 pRegEntry->VarSize - 1);
5928 memcpy(pField, (void *)(pRegEntry->VarDefault),
5929 cbOutString);
5930 ((uint8_t *) pField)[cbOutString] = '\0';
5931 }
5932 } else if (WLAN_PARAM_MacAddr == pRegEntry->RegType) {
Anurag Chouhan6d760662016-02-20 16:05:43 +05305933 if (pRegEntry->VarSize != QDF_MAC_ADDR_SIZE) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005934 hdd_warn("Invalid VarSize %u for Name=[%s]", pRegEntry->VarSize,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005935 pRegEntry->RegName);
5936 continue;
5937 }
5938 candidate = (char *)pRegEntry->VarDefault;
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305939 if (match_status == QDF_STATUS_SUCCESS) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005940 len_value_str = strlen(value_str);
Anurag Chouhan6d760662016-02-20 16:05:43 +05305941 if (len_value_str != (QDF_MAC_ADDR_SIZE * 2)) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08005942 hdd_err("Invalid MAC addr [%s] specified for Name=[%s] in %s", value_str,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005943 pRegEntry->RegName,
5944 WLAN_INI_FILE);
5945 } else
5946 candidate = value_str;
5947 }
5948 /* parse the string and store it in the byte array */
Anurag Chouhan6d760662016-02-20 16:05:43 +05305949 for (i = 0; i < QDF_MAC_ADDR_SIZE; i++) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005950 ((char *)pField)[i] =
5951 (char)(parse_hex_digit(candidate[i * 2]) *
5952 16 +
5953 parse_hex_digit(candidate[i * 2 + 1]));
5954 }
5955 } else {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07005956 hdd_warn("Unknown param type for name[%s] in registry table", pRegEntry->RegName);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005957 }
5958
5959 /* did we successfully parse a cfg item for this parameter? */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305960 if ((match_status == QDF_STATUS_SUCCESS) &&
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005961 (idx < MAX_CFG_INI_ITEMS)) {
Jeff Johnson723234b2017-09-03 08:49:15 -07005962 set_bit(idx, (void *)&hdd_ctx->config->bExplicitCfg);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005963 }
5964 }
5965
5966 return ret_status;
5967}
5968
5969/**
5970 * hdd_execute_config_command() - executes an arbitrary configuration command
5971 * @reg_table: the pointer to configuration table
5972 * @tableSize: the size of the configuration table
5973 * @ini_struct: pointer to the hdd config knob
Jeff Johnson723234b2017-09-03 08:49:15 -07005974 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005975 * @command: the command to run
5976 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305977 * Return: QDF_STATUS_SUCCESS if the command is found and able to execute,
5978 * otherwise the appropriate QDF_STATUS will be returned
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005979 */
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005980static QDF_STATUS hdd_execute_config_command(struct reg_table_entry *reg_table,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005981 unsigned long tableSize,
5982 uint8_t *ini_struct,
Jeff Johnson723234b2017-09-03 08:49:15 -07005983 struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005984 char *command)
5985{
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07005986 struct reg_table_entry *pRegEntry;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005987 char *clone;
5988 char *pCmd;
5989 void *pField;
5990 char *name;
5991 char *value_str;
5992 uint32_t value;
5993 int32_t svalue;
5994 size_t len_value_str;
5995 unsigned int idx;
5996 unsigned int i;
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05305997 QDF_STATUS vstatus;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08005998 int rv;
5999
6000 /* assume failure until proven otherwise */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05306001 vstatus = QDF_STATUS_E_FAILURE;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006002
6003 /* clone the command so that we can manipulate it */
6004 clone = kstrdup(command, GFP_ATOMIC);
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006005 if (NULL == clone)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006006 return vstatus;
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006007
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006008 /* 'clone' will point to the beginning of the string so it can be freed
6009 * 'pCmd' will be used to walk/parse the command
6010 */
6011 pCmd = clone;
6012
6013 /* get rid of leading/trailing whitespace */
6014 pCmd = i_trim(pCmd);
6015 if ('\0' == *pCmd) {
6016 /* only whitespace */
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08006017 hdd_err("invalid command, only whitespace:[%s]", command);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006018 goto done;
6019 }
6020 /* parse the <name> = <value> */
6021 name = pCmd;
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006022 while (('=' != *pCmd) && ('\0' != *pCmd))
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006023 pCmd++;
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006024
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006025 if ('\0' == *pCmd) {
6026 /* did not find '=' */
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08006027 hdd_err("invalid command, no '=':[%s]", command);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006028 goto done;
6029 }
6030 /* replace '=' with NUL to terminate the <name> */
6031 *pCmd++ = '\0';
6032 name = i_trim(name);
6033 if ('\0' == *name) {
6034 /* did not find a name */
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08006035 hdd_err("invalid command, no <name>:[%s]", command);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006036 goto done;
6037 }
6038
6039 value_str = i_trim(pCmd);
6040 if ('\0' == *value_str) {
6041 /* did not find a value */
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08006042 hdd_err("invalid command, no <value>:[%s]", command);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006043 goto done;
6044 }
6045 /* lookup the configuration item */
6046 for (idx = 0; idx < tableSize; idx++) {
6047 if (0 == strcmp(name, reg_table[idx].RegName)) {
6048 /* found a match */
6049 break;
6050 }
6051 }
6052 if (tableSize == idx) {
6053 /* did not match the name */
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08006054 hdd_err("invalid command, unknown configuration item:[%s]", command);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006055 goto done;
6056 }
6057
6058 pRegEntry = &reg_table[idx];
6059 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG)) {
6060 /* does not support dynamic configuration */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006061 hdd_err("Global_Registry_Table. %s does not support "
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08006062 "dynamic configuration", name);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05306063 vstatus = QDF_STATUS_E_PERM;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006064 goto done;
6065 }
6066
6067 pField = ini_struct + pRegEntry->VarOffset;
6068
6069 switch (pRegEntry->RegType) {
6070 case WLAN_PARAM_Integer:
6071 rv = kstrtou32(value_str, 10, &value);
6072 if (rv < 0)
6073 goto done;
6074 if (value < pRegEntry->VarMin) {
6075 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006076 hdd_err("Invalid command, value %u < min value %lu", value, pRegEntry->VarMin);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006077 goto done;
6078 }
6079 if (value > pRegEntry->VarMax) {
6080 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006081 hdd_err("Invalid command, value %u > max value %lu", value, pRegEntry->VarMax);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006082 goto done;
6083 }
6084 memcpy(pField, &value, pRegEntry->VarSize);
6085 break;
6086
6087 case WLAN_PARAM_HexInteger:
6088 rv = kstrtou32(value_str, 16, &value);
6089 if (rv < 0)
6090 goto done;
6091 if (value < pRegEntry->VarMin) {
6092 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006093 hdd_err("Invalid command, value %x < min value %lx", value, pRegEntry->VarMin);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006094 goto done;
6095 }
6096 if (value > pRegEntry->VarMax) {
6097 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006098 hdd_err("Invalid command, value %x > max value %lx", value, pRegEntry->VarMax);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006099 goto done;
6100 }
6101 memcpy(pField, &value, pRegEntry->VarSize);
6102 break;
6103
6104 case WLAN_PARAM_SignedInteger:
6105 rv = kstrtos32(value_str, 10, &svalue);
6106 if (rv < 0)
6107 goto done;
6108 if (svalue < (int32_t) pRegEntry->VarMin) {
6109 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006110 hdd_err("Invalid command, value %d < min value %d", svalue, (int)pRegEntry->VarMin);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006111 goto done;
6112 }
6113 if (svalue > (int32_t) pRegEntry->VarMax) {
6114 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006115 hdd_err("Invalid command, value %d > max value %d", svalue, (int)pRegEntry->VarMax);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006116 goto done;
6117 }
6118 memcpy(pField, &svalue, pRegEntry->VarSize);
6119 break;
6120
6121 case WLAN_PARAM_String:
6122 len_value_str = strlen(value_str);
6123 if (len_value_str > (pRegEntry->VarSize - 1)) {
6124 /* too big */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006125 hdd_err("Invalid command, string [%s] length "
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08006126 "%zu exceeds maximum length %u", value_str,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006127 len_value_str, (pRegEntry->VarSize - 1));
6128 goto done;
6129 }
6130 /* copy string plus NUL */
6131 memcpy(pField, value_str, (len_value_str + 1));
6132 break;
6133
6134 case WLAN_PARAM_MacAddr:
6135 len_value_str = strlen(value_str);
Anurag Chouhan6d760662016-02-20 16:05:43 +05306136 if (len_value_str != (QDF_MAC_ADDR_SIZE * 2)) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006137 /* out of range */
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006138 hdd_err("Invalid command, MAC address [%s] length "
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08006139 "%zu is not expected length %u", value_str,
Anurag Chouhan6d760662016-02-20 16:05:43 +05306140 len_value_str, (QDF_MAC_ADDR_SIZE * 2));
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006141 goto done;
6142 }
6143 /* parse the string and store it in the byte array */
Anurag Chouhan6d760662016-02-20 16:05:43 +05306144 for (i = 0; i < QDF_MAC_ADDR_SIZE; i++) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006145 ((char *)pField)[i] = (char)
6146 ((parse_hex_digit(value_str[(i * 2)]) * 16) +
6147 parse_hex_digit(value_str[(i * 2) + 1]));
6148 }
6149 break;
6150
6151 default:
6152 goto done;
6153 }
6154
6155 /* if we get here, we had a successful modification */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05306156 vstatus = QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006157
6158 /* config table has been modified, is there a notifier? */
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006159 if (NULL != pRegEntry->pfnDynamicnotify)
Jeff Johnson723234b2017-09-03 08:49:15 -07006160 (pRegEntry->pfnDynamicnotify)(hdd_ctx, pRegEntry->notifyId);
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006161
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006162 /* note that this item was explicitly configured */
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006163 if (idx < MAX_CFG_INI_ITEMS)
Jeff Johnson723234b2017-09-03 08:49:15 -07006164 set_bit(idx, (void *)&hdd_ctx->config->bExplicitCfg);
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006165
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006166done:
6167 kfree(clone);
6168 return vstatus;
6169}
6170
6171/**
6172 * hdd_set_power_save_offload_config() - set power save offload configuration
Jeff Johnson723234b2017-09-03 08:49:15 -07006173 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006174 *
6175 * Return: none
6176 */
Jeff Johnson723234b2017-09-03 08:49:15 -07006177static void hdd_set_power_save_offload_config(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006178{
Jeff Johnson723234b2017-09-03 08:49:15 -07006179 struct hdd_config *pConfig = hdd_ctx->config;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006180 uint32_t listenInterval = 0;
6181
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006182 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006183 listenInterval = pConfig->nBmpsMinListenInterval;
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07006184 else if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006185 listenInterval = pConfig->nBmpsMaxListenInterval;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006186
6187 /*
6188 * Based on Mode Set the LI
6189 * Otherwise default LI value of 1 will
6190 * be taken
6191 */
6192 if (listenInterval) {
6193 /*
6194 * setcfg for listenInterval.
6195 * Make sure CFG is updated because PE reads this
6196 * from CFG at the time of assoc or reassoc
6197 */
Jeff Johnson723234b2017-09-03 08:49:15 -07006198 sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_LISTEN_INTERVAL,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006199 listenInterval);
6200 }
6201
6202}
6203
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07006204#ifdef FEATURE_RUNTIME_PM
Jeff Johnsonb6909be2017-08-28 12:07:19 -07006205static void hdd_cfg_print_runtime_pm(struct hdd_context *hdd_ctx)
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07006206{
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006207 hdd_debug("Name = [gRuntimePM] Value = [%u] ",
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07006208 hdd_ctx->config->runtime_pm);
6209
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006210 hdd_debug("Name = [gRuntimePMDelay] Value = [%u] ",
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07006211 hdd_ctx->config->runtime_pm_delay);
6212}
6213#else
Jeff Johnsonb6909be2017-08-28 12:07:19 -07006214static void hdd_cfg_print_runtime_pm(struct hdd_context *hdd_ctx)
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07006215{
6216}
6217#endif
6218
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006219/**
Kapil Gupta5cda2252016-12-29 18:44:26 +05306220 * hdd_per_roam_print_ini_config()- Print PER roam specific INI configuration
6221 * @hdd_ctx: handle to hdd context
6222 *
6223 * Return: None
6224 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07006225static void hdd_per_roam_print_ini_config(struct hdd_context *hdd_ctx)
Kapil Gupta5cda2252016-12-29 18:44:26 +05306226{
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006227 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta5cda2252016-12-29 18:44:26 +05306228 CFG_PER_ROAM_ENABLE_NAME,
6229 hdd_ctx->config->is_per_roam_enabled);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006230 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta5cda2252016-12-29 18:44:26 +05306231 CFG_PER_ROAM_CONFIG_HIGH_RATE_TH_NAME,
6232 hdd_ctx->config->per_roam_high_rate_threshold);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006233 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta5cda2252016-12-29 18:44:26 +05306234 CFG_PER_ROAM_CONFIG_LOW_RATE_TH_NAME,
6235 hdd_ctx->config->per_roam_low_rate_threshold);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006236 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta5cda2252016-12-29 18:44:26 +05306237 CFG_PER_ROAM_CONFIG_RATE_TH_PERCENT_NAME,
6238 hdd_ctx->config->per_roam_th_percent);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006239 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta5cda2252016-12-29 18:44:26 +05306240 CFG_PER_ROAM_REST_TIME_NAME,
6241 hdd_ctx->config->per_roam_rest_time);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07006242 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta957827b2017-02-13 15:47:04 +05306243 CFG_PER_ROAM_MONITOR_TIME,
6244 hdd_ctx->config->per_roam_mon_time);
Selvaraj, Sridhar0641fab2017-05-17 16:02:00 +05306245 hdd_debug("Name = [%s] Value = [%u]",
6246 CFG_PER_ROAM_MIN_CANDIDATE_RSSI,
6247 hdd_ctx->config->min_candidate_rssi);
Kapil Gupta5cda2252016-12-29 18:44:26 +05306248}
6249
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006250static void hdd_mawc_cfg_log(struct hdd_context *hdd_ctx)
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006251{
6252 hdd_debug("Name = [MAWCEnabled] Value = [%u] ",
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006253 hdd_ctx->config->MAWCEnabled);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006254 hdd_debug("Name = [%s] Value = [%u] ",
6255 CFG_MAWC_ROAM_ENABLED_NAME,
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006256 hdd_ctx->config->mawc_roam_enabled);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006257 hdd_debug("Name = [%s] Value = [%u] ",
6258 CFG_MAWC_ROAM_TRAFFIC_THRESHOLD_NAME,
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006259 hdd_ctx->config->mawc_roam_traffic_threshold);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006260 hdd_debug("Name = [%s] Value = [%d] ",
6261 CFG_MAWC_ROAM_AP_RSSI_THRESHOLD_NAME,
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006262 hdd_ctx->config->mawc_roam_ap_rssi_threshold);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006263 hdd_debug("Name = [%s] Value = [%u] ",
6264 CFG_MAWC_ROAM_RSSI_HIGH_ADJUST_NAME,
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006265 hdd_ctx->config->mawc_roam_rssi_high_adjust);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006266 hdd_debug("Name = [%s] Value = [%u] ",
6267 CFG_MAWC_ROAM_RSSI_LOW_ADJUST_NAME,
Varun Reddy Yeturu5df6cc92017-09-18 11:10:33 -07006268 hdd_ctx->config->mawc_roam_rssi_low_adjust);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006269}
6270
Kapil Gupta5cda2252016-12-29 18:44:26 +05306271/**
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05306272 * hdd_cfg_print_ie_whitelist_attrs() - print the ie whitelist attrs
6273 * @hdd_ctx: pointer to hdd context
6274 *
6275 * Return: None
6276 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07006277static void hdd_cfg_print_ie_whitelist_attrs(struct hdd_context *hdd_ctx)
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05306278{
6279 hdd_debug("Name = [%s] Value = [%x] ",
6280 CFG_PRB_REQ_IE_WHITELIST_NAME,
6281 hdd_ctx->config->probe_req_ie_whitelist);
6282 hdd_debug("Name = [%s] Value = [%x] ",
6283 CFG_PRB_REQ_IE_BIT_MAP0_NAME,
6284 hdd_ctx->config->probe_req_ie_bitmap_0);
6285 hdd_debug("Name = [%s] Value = [%x] ",
6286 CFG_PRB_REQ_IE_BIT_MAP1_NAME,
6287 hdd_ctx->config->probe_req_ie_bitmap_1);
6288 hdd_debug("Name = [%s] Value = [%x] ",
6289 CFG_PRB_REQ_IE_BIT_MAP2_NAME,
6290 hdd_ctx->config->probe_req_ie_bitmap_2);
6291 hdd_debug("Name = [%s] Value = [%x] ",
6292 CFG_PRB_REQ_IE_BIT_MAP3_NAME,
6293 hdd_ctx->config->probe_req_ie_bitmap_3);
6294 hdd_debug("Name = [%s] Value = [%x] ",
6295 CFG_PRB_REQ_IE_BIT_MAP4_NAME,
6296 hdd_ctx->config->probe_req_ie_bitmap_4);
6297 hdd_debug("Name = [%s] Value = [%x] ",
6298 CFG_PRB_REQ_IE_BIT_MAP5_NAME,
6299 hdd_ctx->config->probe_req_ie_bitmap_5);
6300 hdd_debug("Name = [%s] Value = [%x] ",
6301 CFG_PRB_REQ_IE_BIT_MAP6_NAME,
6302 hdd_ctx->config->probe_req_ie_bitmap_6);
6303 hdd_debug("Name = [%s] Value = [%x] ",
6304 CFG_PRB_REQ_IE_BIT_MAP7_NAME,
6305 hdd_ctx->config->probe_req_ie_bitmap_7);
6306 hdd_debug("Name = [%s] Value =[%s]",
6307 CFG_PROBE_REQ_OUI_NAME,
6308 hdd_ctx->config->probe_req_ouis);
6309}
6310
Paul Zhang99fe8842017-12-08 14:43:46 +08006311static void hdd_wlm_cfg_log(struct hdd_context *hdd_ctx)
6312{
6313 hdd_debug("Name = [%s] value = [%u]",
6314 CFG_LATENCY_ENABLE_NAME,
6315 hdd_ctx->config->wlm_latency_enable);
6316 hdd_debug("Name = [%s] value = [%u]",
6317 CFG_LATENCY_LEVEL_NAME,
6318 hdd_ctx->config->wlm_latency_level);
6319 hdd_debug("Name = [%s] value = [%u]",
6320 CFG_LATENCY_FLAGS_NORMAL_NAME,
6321 hdd_ctx->config->wlm_latency_flags_normal);
6322 hdd_debug("Name = [%s] value = [%u]",
6323 CFG_LATENCY_FLAGS_MODERATE_NAME,
6324 hdd_ctx->config->wlm_latency_flags_moderate);
6325 hdd_debug("Name = [%s] value = [%u]",
6326 CFG_LATENCY_FLAGS_LOW_NAME,
6327 hdd_ctx->config->wlm_latency_flags_low);
6328 hdd_debug("Name = [%s] value = [%u]",
6329 CFG_LATENCY_FLAGS_ULTRALOW_NAME,
6330 hdd_ctx->config->wlm_latency_flags_ultralow);
6331}
6332
Padma, Santhosh Kumar3e47c632017-09-01 20:15:27 +05306333#ifdef WLAN_FEATURE_SAE
6334static void hdd_cfg_print_sae(struct hdd_context *hdd_ctx)
6335{
6336 hdd_debug("Name = [%s] value = [%u]",
6337 CFG_IS_SAE_ENABLED_NAME,
6338 hdd_ctx->config->is_sae_enabled);
6339}
6340#else
6341static void hdd_cfg_print_sae(struct hdd_context *hdd_ctx)
6342{
6343}
6344#endif
6345
Nirav Shahd21a2e32018-04-20 16:34:43 +05306346
6347#ifdef CONFIG_DP_TRACE
6348static void hdd_cfg_print_dp_trace_params(struct hdd_context *hdd_ctx)
6349{
6350 hdd_info("Name = [%s] Value = [%u]",
6351 CFG_ENABLE_DP_TRACE,
6352 hdd_ctx->config->enable_dp_trace);
6353 hdd_debug("Name = [%s] Value = [%s]",
6354 CFG_ENABLE_DP_TRACE_CONFIG,
6355 hdd_ctx->config->dp_trace_config);
6356}
6357#else
6358static void hdd_cfg_print_dp_trace_params(struct hdd_context *hdd_ctx)
6359{
6360}
6361#endif
6362
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05306363/**
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05306364 * hdd_cgf_print_11k_offload_params() - Print 11k offload related parameters
6365 * @hdd_ctx: Pointer to HDD context
6366 *
6367 * Return: None
6368 */
6369static
6370void hdd_cfg_print_11k_offload_params(struct hdd_context *hdd_ctx)
6371{
6372 hdd_debug("Name = [%s] value = [%u]",
6373 CFG_OFFLOAD_11K_ENABLE_BITMASK_NAME,
6374 hdd_ctx->config->offload_11k_enable_bitmask);
6375 hdd_debug("Name = [%s] value = [%u]",
6376 CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_NAME,
6377 hdd_ctx->config->neighbor_report_offload_params_bitmask);
6378 hdd_debug("Name = [%s] value = [%u]",
6379 CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_NAME,
6380 hdd_ctx->config->neighbor_report_offload_time_offset);
6381 hdd_debug("Name = [%s] value = [%u]",
6382 CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_NAME,
6383 hdd_ctx->config->neighbor_report_offload_low_rssi_offset);
6384 hdd_debug("Name = [%s] value = [%u]",
6385 CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_NAME,
6386 hdd_ctx->config->neighbor_report_offload_bmiss_count_trigger);
6387 hdd_debug("Name = [%s] value = [%u]",
6388 CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_NAME,
6389 hdd_ctx->config->
6390 neighbor_report_offload_per_threshold_offset);
6391 hdd_debug("Name = [%s] value = [%u]",
6392 CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_NAME,
6393 hdd_ctx->config->neighbor_report_offload_cache_timeout);
6394 hdd_debug("Name = [%s] value = [%u]",
6395 CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_NAME,
6396 hdd_ctx->config->neighbor_report_offload_max_req_cap);
6397}
6398
6399/**
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006400 * hdd_cfg_print() - print the hdd configuration
6401 * @iniTable: pointer to hdd context
6402 *
6403 * Return: None
6404 */
Jeff Johnson723234b2017-09-03 08:49:15 -07006405void hdd_cfg_print(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006406{
6407 int i;
6408
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006409 hdd_debug("*********Config values in HDD Adapter*******");
6410 hdd_debug("Name = [RTSThreshold] Value = %u",
Jeff Johnson723234b2017-09-03 08:49:15 -07006411 hdd_ctx->config->RTSThreshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006412 hdd_debug("Name = [OperatingChannel] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006413 hdd_ctx->config->OperatingChannel);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006414 hdd_debug("Name = [PowerUsageControl] Value = [%s]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006415 hdd_ctx->config->PowerUsageControl);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006416 hdd_debug("Name = [fIsImpsEnabled] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006417 hdd_ctx->config->fIsImpsEnabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006418 hdd_debug("Name = [nVccRssiTrigger] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006419 hdd_ctx->config->nVccRssiTrigger);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006420 hdd_debug("Name = [gIbssBssid] Value =[" MAC_ADDRESS_STR "]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006421 MAC_ADDR_ARRAY(hdd_ctx->config->IbssBssid.bytes));
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006422
Anurag Chouhan6d760662016-02-20 16:05:43 +05306423 for (i = 0; i < QDF_MAX_CONCURRENCY_PERSONA; i++) {
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006424 hdd_debug("Name = [Intf%dMacAddress] Value =[" MAC_ADDRESS_STR "]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006425 i, MAC_ADDR_ARRAY(hdd_ctx->config->intfMacAddr[i].bytes));
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006426 }
6427
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006428 hdd_debug("Name = [gApEnableUapsd] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006429 hdd_ctx->config->apUapsdEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006430
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006431 hdd_debug("Name = [gEnableApProt] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006432 hdd_ctx->config->apProtEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006433#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006434 hdd_debug("Name = [gWlanMccToSccSwitchMode] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006435 hdd_ctx->config->WlanMccToSccSwitchMode);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006436#endif
6437#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006438 hdd_debug("Name = [gWlanAutoShutdown] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006439 hdd_ctx->config->WlanAutoShutdown);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006440#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006441 hdd_debug("Name = [gApProtection] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006442 hdd_ctx->config->apProtection);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006443 hdd_debug("Name = [gEnableApOBSSProt] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006444 hdd_ctx->config->apOBSSProtEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006445#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006446 hdd_debug("Name = [sap_channel_avoidance] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006447 hdd_ctx->config->sap_channel_avoidance);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006448#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05306449 hdd_debug("Name = [%s] value = [%u]", CFG_SAP_11AC_OVERRIDE_NAME,
6450 hdd_ctx->config->sap_11ac_override);
6451 hdd_debug("Name = [%s] value = [%u]", CFG_GO_11AC_OVERRIDE_NAME,
6452 hdd_ctx->config->go_11ac_override);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006453 hdd_debug("Name = [ChannelBondingMode] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006454 hdd_ctx->config->nChannelBondingMode24GHz);
Abhishek Singhb59f8d42017-07-31 14:42:47 +05306455 hdd_debug("Name = [%s] Value = [%u] ",
6456 CFG_OVERRIDE_HT40_20_24GHZ_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006457 hdd_ctx->config->override_ht20_40_24g);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006458 hdd_debug("Name = [ChannelBondingMode] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006459 hdd_ctx->config->nChannelBondingMode5GHz);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006460 hdd_debug("Name = [dot11Mode] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006461 hdd_ctx->config->dot11Mode);
6462 hdd_debug("Name = [WmmMode] Value = [%u] ", hdd_ctx->config->WmmMode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006463 hdd_debug("Name = [UapsdMask] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006464 hdd_ctx->config->UapsdMask);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006465 hdd_debug("Name = [ImplicitQosIsEnabled] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006466 (int)hdd_ctx->config->bImplicitQosEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006467
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006468 hdd_debug("Name = [InfraUapsdVoSrvIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006469 hdd_ctx->config->InfraUapsdVoSrvIntv);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006470 hdd_debug("Name = [InfraUapsdVoSuspIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006471 hdd_ctx->config->InfraUapsdVoSuspIntv);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006472
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006473 hdd_debug("Name = [InfraUapsdViSrvIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006474 hdd_ctx->config->InfraUapsdViSrvIntv);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006475 hdd_debug("Name = [InfraUapsdViSuspIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006476 hdd_ctx->config->InfraUapsdViSuspIntv);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006477
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006478 hdd_debug("Name = [InfraUapsdBeSrvIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006479 hdd_ctx->config->InfraUapsdBeSrvIntv);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006480 hdd_debug("Name = [InfraUapsdBeSuspIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006481 hdd_ctx->config->InfraUapsdBeSuspIntv);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006482
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006483 hdd_debug("Name = [InfraUapsdBkSrvIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006484 hdd_ctx->config->InfraUapsdBkSrvIntv);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006485 hdd_debug("Name = [InfraUapsdBkSuspIntv] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006486 hdd_ctx->config->InfraUapsdBkSuspIntv);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006487#ifdef FEATURE_WLAN_ESE
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006488 hdd_debug("Name = [InfraInactivityInterval] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006489 hdd_ctx->config->InfraInactivityInterval);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006490 hdd_debug("Name = [EseEnabled] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006491 hdd_ctx->config->isEseIniFeatureEnabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006492 hdd_debug("Name = [FastTransitionEnabled] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006493 hdd_ctx->config->isFastTransitionEnabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006494 hdd_debug("Name = [gTxPowerCap] Value = [%u] dBm ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006495 hdd_ctx->config->nTxPowerCap);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006496#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006497 hdd_debug("Name = [gAllowTPCfromAP] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006498 hdd_ctx->config->allow_tpc_from_ap);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006499 hdd_debug("Name = [FastRoamEnabled] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006500 hdd_ctx->config->isFastRoamIniFeatureEnabled);
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07006501 hdd_mawc_cfg_log(hdd_ctx);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006502 hdd_debug("Name = [RoamRssiDiff] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006503 hdd_ctx->config->RoamRssiDiff);
Abhishek Singh34c0e632017-09-28 14:39:29 +05306504 hdd_debug("Name = [%s] Value = [%u] ", CFG_ROAM_RSSI_ABS_THRESHOLD_NAME,
6505 hdd_ctx->config->rssi_abs_thresh);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006506 hdd_debug("Name = [isWESModeEnabled] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006507 hdd_ctx->config->isWESModeEnabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006508 hdd_debug("Name = [pmkidModes] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006509 hdd_ctx->config->pmkid_modes);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006510#ifdef FEATURE_WLAN_SCAN_PNO
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006511 hdd_debug("Name = [configPNOScanSupport] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006512 hdd_ctx->config->configPNOScanSupport);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006513 hdd_debug("Name = [configPNOScanTimerRepeatValue] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006514 hdd_ctx->config->configPNOScanTimerRepeatValue);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006515 hdd_debug("Name = [gPNOSlowScanMultiplier] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006516 hdd_ctx->config->pno_slow_scan_multiplier);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006517#endif
6518#ifdef FEATURE_WLAN_TDLS
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006519 hdd_debug("Name = [fEnableTDLSSupport] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006520 hdd_ctx->config->fEnableTDLSSupport);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006521 hdd_debug("Name = [fEnableTDLSImplicitTrigger] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006522 hdd_ctx->config->fEnableTDLSImplicitTrigger);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006523 hdd_debug("Name = [fTDLSExternalControl] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006524 hdd_ctx->config->fTDLSExternalControl);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006525 hdd_debug("Name = [fTDLSUapsdMask] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006526 hdd_ctx->config->fTDLSUapsdMask);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006527 hdd_debug("Name = [fEnableTDLSBufferSta] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006528 hdd_ctx->config->fEnableTDLSBufferSta);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006529 hdd_debug("Name = [fEnableTDLSWmmMode] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006530 hdd_ctx->config->fEnableTDLSWmmMode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006531 hdd_debug("Name = [enable_tdls_scan] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006532 hdd_ctx->config->enable_tdls_scan);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006533#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006534 hdd_debug("Name = [InfraDirAcVo] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006535 hdd_ctx->config->InfraDirAcVo);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006536 hdd_debug("Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006537 hdd_ctx->config->InfraNomMsduSizeAcVo);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006538 hdd_debug("Name = [InfraMeanDataRateAcVo] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006539 hdd_ctx->config->InfraMeanDataRateAcVo);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006540 hdd_debug("Name = [InfraMinPhyRateAcVo] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006541 hdd_ctx->config->InfraMinPhyRateAcVo);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006542 hdd_debug("Name = [InfraSbaAcVo] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006543 hdd_ctx->config->InfraSbaAcVo);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006544
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006545 hdd_debug("Name = [InfraDirAcVi] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006546 hdd_ctx->config->InfraDirAcVi);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006547 hdd_debug("Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006548 hdd_ctx->config->InfraNomMsduSizeAcVi);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006549 hdd_debug("Name = [InfraMeanDataRateAcVi] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006550 hdd_ctx->config->InfraMeanDataRateAcVi);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006551 hdd_debug("Name = [InfraMinPhyRateAcVi] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006552 hdd_ctx->config->InfraMinPhyRateAcVi);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006553 hdd_debug("Name = [InfraSbaAcVi] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006554 hdd_ctx->config->InfraSbaAcVi);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006555
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006556 hdd_debug("Name = [InfraDirAcBe] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006557 hdd_ctx->config->InfraDirAcBe);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006558 hdd_debug("Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006559 hdd_ctx->config->InfraNomMsduSizeAcBe);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006560 hdd_debug("Name = [InfraMeanDataRateAcBe] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006561 hdd_ctx->config->InfraMeanDataRateAcBe);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006562 hdd_debug("Name = [InfraMinPhyRateAcBe] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006563 hdd_ctx->config->InfraMinPhyRateAcBe);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006564 hdd_debug("Name = [InfraSbaAcBe] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006565 hdd_ctx->config->InfraSbaAcBe);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006566
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006567 hdd_debug("Name = [InfraDirAcBk] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006568 hdd_ctx->config->InfraDirAcBk);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006569 hdd_debug("Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006570 hdd_ctx->config->InfraNomMsduSizeAcBk);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006571 hdd_debug("Name = [InfraMeanDataRateAcBk] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006572 hdd_ctx->config->InfraMeanDataRateAcBk);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006573 hdd_debug("Name = [InfraMinPhyRateAcBk] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006574 hdd_ctx->config->InfraMinPhyRateAcBk);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006575 hdd_debug("Name = [InfraSbaAcBk] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006576 hdd_ctx->config->InfraSbaAcBk);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006577
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006578 hdd_debug("Name = [DelayedTriggerFrmInt] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006579 hdd_ctx->config->DelayedTriggerFrmInt);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006580 hdd_debug("Name = [fhostArpOffload] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006581 hdd_ctx->config->fhostArpOffload);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006582 hdd_debug("Name = [%s] Value = [%u]",
Nachiket Kukadef0804072018-02-27 18:20:07 +05306583 CFG_HW_FILTER_MODE_BITMAP_NAME,
6584 hdd_ctx->config->hw_filter_mode_bitmap);
Varun Reddy Yeturubba32e92017-09-06 13:31:40 -07006585 hdd_debug("Name = [%s] Value = [%u]",
6586 CFG_MAWC_NLO_ENABLED_NAME,
6587 hdd_ctx->config->mawc_nlo_enabled);
6588 hdd_debug("Name = [%s] Value = [%u]",
6589 CFG_MAWC_NLO_EXP_BACKOFF_RATIO_NAME,
6590 hdd_ctx->config->mawc_nlo_exp_backoff_ratio);
6591 hdd_debug("Name = [%s] Value = [%u]",
6592 CFG_MAWC_NLO_INIT_SCAN_INTERVAL_NAME,
6593 hdd_ctx->config->mawc_nlo_init_scan_interval);
6594 hdd_debug("Name = [%s] Value = [%u]",
6595 CFG_MAWC_NLO_MAX_SCAN_INTERVAL_NAME,
6596 hdd_ctx->config->mawc_nlo_max_scan_interval);
Jeff Johnson723234b2017-09-03 08:49:15 -07006597 hdd_debug("Name = [ssdp] Value = [%u] ", hdd_ctx->config->ssdp);
6598 hdd_cfg_print_runtime_pm(hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006599#ifdef FEATURE_WLAN_RA_FILTERING
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006600 hdd_debug("Name = [RArateLimitInterval] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006601 hdd_ctx->config->RArateLimitInterval);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006602 hdd_debug("Name = [IsRArateLimitEnabled] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006603 hdd_ctx->config->IsRArateLimitEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006604#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006605 hdd_debug("Name = [nNeighborLookupRssiThreshold] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006606 hdd_ctx->config->nNeighborLookupRssiThreshold);
Varun Reddy Yeturu168134f2017-06-26 13:46:05 -07006607 hdd_debug("Name = [%s] Value = [%d] ",
6608 CFG_5G_RSSI_THRESHOLD_OFFSET_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006609 hdd_ctx->config->rssi_thresh_offset_5g);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006610 hdd_debug("Name = [delay_before_vdev_stop] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006611 hdd_ctx->config->delay_before_vdev_stop);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006612 hdd_debug("Name = [nOpportunisticThresholdDiff] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006613 hdd_ctx->config->nOpportunisticThresholdDiff);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006614 hdd_debug("Name = [nRoamRescanRssiDiff] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006615 hdd_ctx->config->nRoamRescanRssiDiff);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006616 hdd_debug("Name = [nNeighborScanMinChanTime] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006617 hdd_ctx->config->nNeighborScanMinChanTime);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006618 hdd_debug("Name = [nNeighborScanMaxChanTime] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006619 hdd_ctx->config->nNeighborScanMaxChanTime);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006620 hdd_debug("Name = [nMaxNeighborRetries] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006621 hdd_ctx->config->nMaxNeighborReqTries);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006622 hdd_debug("Name = [nNeighborScanPeriod] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006623 hdd_ctx->config->nNeighborScanPeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006624 hdd_debug("Name = [n_neighbor_scan_min_period] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006625 hdd_ctx->config->neighbor_scan_min_period);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006626 hdd_debug("Name = [nNeighborScanResultsRefreshPeriod] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006627 hdd_ctx->config->nNeighborResultsRefreshPeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006628 hdd_debug("Name = [nEmptyScanRefreshPeriod] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006629 hdd_ctx->config->nEmptyScanRefreshPeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006630 hdd_debug("Name = [nRoamBmissFirstBcnt] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006631 hdd_ctx->config->nRoamBmissFirstBcnt);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006632 hdd_debug("Name = [nRoamBmissFinalBcnt] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006633 hdd_ctx->config->nRoamBmissFinalBcnt);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006634 hdd_debug("Name = [nRoamBeaconRssiWeight] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006635 hdd_ctx->config->nRoamBeaconRssiWeight);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006636 hdd_debug("Name = [allowDFSChannelRoam] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006637 hdd_ctx->config->allowDFSChannelRoam);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006638 hdd_debug("Name = [nhi_rssi_scan_max_count] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006639 hdd_ctx->config->nhi_rssi_scan_max_count);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006640 hdd_debug("Name = [nhi_rssi_scan_rssi_delta] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006641 hdd_ctx->config->nhi_rssi_scan_rssi_delta);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006642 hdd_debug("Name = [nhi_rssi_scan_delay] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006643 hdd_ctx->config->nhi_rssi_scan_delay);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006644 hdd_debug("Name = [nhi_rssi_scan_rssi_ub] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006645 hdd_ctx->config->nhi_rssi_scan_rssi_ub);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006646 hdd_debug("Name = [burstSizeDefinition] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006647 hdd_ctx->config->burstSizeDefinition);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006648 hdd_debug("Name = [tsInfoAckPolicy] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006649 hdd_ctx->config->tsInfoAckPolicy);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006650 hdd_debug("Name = [bSingleTidRc] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006651 hdd_ctx->config->bSingleTidRc);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006652 hdd_debug("Name = [gAddTSWhenACMIsOff] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006653 hdd_ctx->config->AddTSWhenACMIsOff);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006654 hdd_debug("Name = [gStaKeepAlivePeriod] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006655 hdd_ctx->config->infraStaKeepAlivePeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006656 hdd_debug("Name = [BandCapability] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006657 hdd_ctx->config->nBandCapability);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006658 hdd_debug("Name = [teleBcnWakeupEnable] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006659 hdd_ctx->config->teleBcnWakeupEn);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006660 hdd_debug("Name = [maxListenInterval] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006661 hdd_ctx->config->nTeleBcnMaxListenInterval);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006662 hdd_debug("Name = [gEnableBypass11d] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006663 hdd_ctx->config->enableBypass11d);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006664 hdd_debug("Name = [gEnableDFSChnlScan] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006665 hdd_ctx->config->enableDFSChnlScan);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006666 hdd_debug("Name = [gEnableDFSPnoChnlScan] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006667 hdd_ctx->config->enable_dfs_pno_chnl_scan);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006668 hdd_debug("Name = [gReportMaxLinkSpeed] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006669 hdd_ctx->config->reportMaxLinkSpeed);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006670 hdd_debug("Name = [thermalMitigationEnable] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006671 hdd_ctx->config->thermalMitigationEnable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006672 hdd_debug("Name = [gVhtChannelWidth] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006673 hdd_ctx->config->vhtChannelWidth);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006674 hdd_debug("Name = [enableFirstScan2GOnly] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006675 hdd_ctx->config->enableFirstScan2GOnly);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006676 hdd_debug("Name = [skipDfsChnlInP2pSearch] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006677 hdd_ctx->config->skipDfsChnlInP2pSearch);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006678 hdd_debug("Name = [ignoreDynamicDtimInP2pMode] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006679 hdd_ctx->config->ignoreDynamicDtimInP2pMode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006680 hdd_debug("Name = [enableRxSTBC] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006681 hdd_ctx->config->enableRxSTBC);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006682 hdd_debug("Name = [gEnableSSR] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006683 hdd_ctx->config->enableSSR);
Poddar, Siddarth37033032017-10-11 15:47:40 +05306684 hdd_debug("Name = [gEnableDataStallDetection] Value = [%u] ",
6685 hdd_ctx->config->enable_data_stall_det);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006686 hdd_debug("Name = [gEnableVhtFor24GHzBand] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006687 hdd_ctx->config->enableVhtFor24GHzBand);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006688 hdd_debug("Name = [gGoLinkMonitorPeriod] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006689 hdd_ctx->config->goLinkMonitorPeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006690 hdd_debug("Name = [gApLinkMonitorPeriod] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006691 hdd_ctx->config->apLinkMonitorPeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006692 hdd_debug("Name = [gGoKeepAlivePeriod] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006693 hdd_ctx->config->goKeepAlivePeriod);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006694 hdd_debug("Name = [gApKeepAlivePeriod]Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006695 hdd_ctx->config->apKeepAlivePeriod);
Deepak Dhamdhere612392c2016-08-28 02:56:51 -07006696 hdd_debug("Name = [max_amsdu_num] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006697 hdd_ctx->config->max_amsdu_num);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006698 hdd_debug("Name = [nSelect5GHzMargin] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006699 hdd_ctx->config->nSelect5GHzMargin);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006700 hdd_debug("Name = [gCoalesingInIBSS] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006701 hdd_ctx->config->isCoalesingInIBSSAllowed);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006702 hdd_debug("Name = [gIbssATIMWinSize] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006703 hdd_ctx->config->ibssATIMWinSize);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006704 hdd_debug("Name = [gIbssIsPowerSaveAllowed] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006705 hdd_ctx->config->isIbssPowerSaveAllowed);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006706 hdd_debug("Name = [gIbssIsPowerCollapseAllowed] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006707 hdd_ctx->config->isIbssPowerCollapseAllowed);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006708 hdd_debug("Name = [gIbssAwakeOnTxRx] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006709 hdd_ctx->config->isIbssAwakeOnTxRx);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006710 hdd_debug("Name = [gIbssInactivityTime] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006711 hdd_ctx->config->ibssInactivityCount);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006712 hdd_debug("Name = [gIbssTxSpEndInactivityTime] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006713 hdd_ctx->config->ibssTxSpEndInactivityTime);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006714 hdd_debug("Name = [gIbssPsWarmupTime] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006715 hdd_ctx->config->ibssPsWarmupTime);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006716 hdd_debug("Name = [gIbssPs1RxChainInAtim] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006717 hdd_ctx->config->ibssPs1RxChainInAtimEnable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006718 hdd_debug("Name = [fDfsPhyerrFilterOffload] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006719 hdd_ctx->config->fDfsPhyerrFilterOffload);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006720 hdd_debug("Name = [gIgnorePeerErpInfo] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006721 hdd_ctx->config->ignore_peer_erp_info);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006722#ifdef IPA_OFFLOAD
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006723 hdd_debug("Name = [gIPAConfig] Value = [0x%x] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006724 hdd_ctx->config->IpaConfig);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006725 hdd_debug("Name = [gIPADescSize] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006726 hdd_ctx->config->IpaDescSize);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006727 hdd_debug("Name = [IpaHighBandwidthMbpsg] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006728 hdd_ctx->config->IpaHighBandwidthMbps);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006729 hdd_debug("Name = [IpaMediumBandwidthMbps] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006730 hdd_ctx->config->IpaMediumBandwidthMbps);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006731 hdd_debug("Name = [IpaLowBandwidthMbps] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006732 hdd_ctx->config->IpaLowBandwidthMbps);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006733#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006734 hdd_debug("Name = [gEnableOverLapCh] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006735 hdd_ctx->config->gEnableOverLapCh);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006736 hdd_debug("Name = [gMaxOffloadPeers] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006737 hdd_ctx->config->apMaxOffloadPeers);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006738 hdd_debug("Name = [gMaxOffloadReorderBuffs] value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006739 hdd_ctx->config->apMaxOffloadReorderBuffs);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006740 hdd_debug("Name = [%s] Value = [%d]",
Dustin Brown732ab9c2017-06-15 13:24:09 -07006741 CFG_ENABLE_CCK_TX_FIR_OVERRIDE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006742 hdd_ctx->config->enable_cck_tx_fir_override);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006743 hdd_debug("Name = [gAllowDFSChannelRoam] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006744 hdd_ctx->config->allowDFSChannelRoam);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006745 hdd_debug("Name = [gMaxConcurrentActiveSessions] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006746 hdd_ctx->config->gMaxConcurrentActiveSessions);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006747
6748#ifdef MSM_PLATFORM
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006749 hdd_debug("Name = [gBusBandwidthHighThreshold] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006750 hdd_ctx->config->busBandwidthHighThreshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006751 hdd_debug("Name = [gBusBandwidthMediumThreshold] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006752 hdd_ctx->config->busBandwidthMediumThreshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006753 hdd_debug("Name = [gBusBandwidthLowThreshold] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006754 hdd_ctx->config->busBandwidthLowThreshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006755 hdd_debug("Name = [gbusBandwidthComputeInterval] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006756 hdd_ctx->config->busBandwidthComputeInterval);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006757 hdd_debug("Name = [%s] Value = [%u] ",
Prakash Manjunathappae73e3b52018-02-27 18:56:22 -08006758 CFG_ENABLE_TCP_LIMIT_OUTPUT,
6759 hdd_ctx->config->enable_tcp_limit_output);
6760 hdd_debug("Name = [%s] Value = [%u] ",
Mohit Khanna6272fb682017-04-13 09:34:36 -07006761 CFG_ENABLE_TCP_ADV_WIN_SCALE,
6762 hdd_ctx->config->enable_tcp_adv_win_scale);
6763 hdd_debug("Name = [%s] Value = [%u] ",
Ravi Joshie2331e82015-07-01 18:18:54 -07006764 CFG_ENABLE_TCP_DELACK,
Jeff Johnson723234b2017-09-03 08:49:15 -07006765 hdd_ctx->config->enable_tcp_delack);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006766 hdd_debug("Name = [gTcpDelAckThresholdHigh] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006767 hdd_ctx->config->tcpDelackThresholdHigh);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006768 hdd_debug("Name = [gTcpDelAckThresholdLow] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006769 hdd_ctx->config->tcpDelackThresholdLow);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006770 hdd_debug("Name = [%s] Value = [%u] ",
Ravi Joshib89e7f72016-09-07 13:43:15 -07006771 CFG_TCP_DELACK_TIMER_COUNT,
Jeff Johnson723234b2017-09-03 08:49:15 -07006772 hdd_ctx->config->tcp_delack_timer_count);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006773 hdd_debug("Name = [%s] Value = [%u] ",
Ravi Joshib89e7f72016-09-07 13:43:15 -07006774 CFG_TCP_TX_HIGH_TPUT_THRESHOLD_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006775 hdd_ctx->config->tcp_tx_high_tput_thres);
Mohit Khannaca4173b2017-09-12 21:52:19 -07006776 hdd_debug("Name = [%s] Value = [%u] ",
6777 CFG_PERIODIC_STATS_DISPLAY_TIME_NAME,
6778 hdd_ctx->config->periodic_stats_disp_time);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006779#endif
6780
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006781 hdd_debug("Name = [gIgnoreCAC] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006782 hdd_ctx->config->ignoreCAC);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006783 hdd_debug("Name = [gSapPreferredChanLocation] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006784 hdd_ctx->config->gSapPreferredChanLocation);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006785 hdd_debug("Name = [gDisableDfsJapanW53] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006786 hdd_ctx->config->gDisableDfsJapanW53);
Jeff Johnsonc57c13a2018-04-01 11:03:29 -07006787
6788 hdd_green_ap_print_config(hdd_ctx);
6789
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006790#ifdef WLAN_FEATURE_ROAM_OFFLOAD
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006791 hdd_debug("Name = [isRoamOffloadEnabled] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006792 hdd_ctx->config->isRoamOffloadEnabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006793#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006794
6795#ifdef WLAN_FEATURE_LPSS
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006796 hdd_debug("Name = [gEnableLpassSupport] Value = [%u] ",
Jeff Johnson723234b2017-09-03 08:49:15 -07006797 hdd_ctx->config->enable_lpass_support);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006798#endif
6799
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006800 hdd_debug("Name = [gEnableSelfRecovery] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006801 hdd_ctx->config->enableSelfRecovery);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006802
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006803 hdd_debug("Name = [gEnableSapSuspend] Value = [%u]",
Jeff Johnson60cbd2d2017-11-03 18:26:28 -07006804 hdd_ctx->config->enable_sap_suspend);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006805
6806#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006807 hdd_debug("Name = [gExtWoWgotoSuspend] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006808 hdd_ctx->config->extWowGotoSuspend);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006809
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006810 hdd_debug("Name = [gExtWowApp1WakeupPinNumber] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006811 hdd_ctx->config->extWowApp1WakeupPinNumber);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006812
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006813 hdd_debug("Name = [gExtWowApp2WakeupPinNumber] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006814 hdd_ctx->config->extWowApp2WakeupPinNumber);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006815
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006816 hdd_debug("Name = [gExtWoWApp2KAInitPingInterval] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006817 hdd_ctx->config->extWowApp2KAInitPingInterval);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006818
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006819 hdd_debug("Name = [gExtWoWApp2KAMinPingInterval] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006820 hdd_ctx->config->extWowApp2KAMinPingInterval);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006821
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006822 hdd_debug("Name = [gExtWoWApp2KAMaxPingInterval] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006823 hdd_ctx->config->extWowApp2KAMaxPingInterval);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006824
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006825 hdd_debug("Name = [gExtWoWApp2KAIncPingInterval] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006826 hdd_ctx->config->extWowApp2KAIncPingInterval);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006827
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006828 hdd_debug("Name = [gExtWoWApp2TcpSrcPort] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006829 hdd_ctx->config->extWowApp2TcpSrcPort);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006830
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006831 hdd_debug("Name = [gExtWoWApp2TcpDstPort] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006832 hdd_ctx->config->extWowApp2TcpDstPort);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006833
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006834 hdd_debug("Name = [gExtWoWApp2TcpTxTimeout] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006835 hdd_ctx->config->extWowApp2TcpTxTimeout);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006836
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006837 hdd_debug("Name = [gExtWoWApp2TcpRxTimeout] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006838 hdd_ctx->config->extWowApp2TcpRxTimeout);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006839#endif
6840
6841#ifdef DHCP_SERVER_OFFLOAD
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006842 hdd_debug("Name = [gDHCPServerOffloadEnable] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006843 hdd_ctx->config->enableDHCPServerOffload);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006844 hdd_debug("Name = [gDHCPMaxNumClients] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006845 hdd_ctx->config->dhcpMaxNumClients);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006846 hdd_debug("Name = [gDHCPServerIP] Value = [%s]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006847 hdd_ctx->config->dhcpServerIP);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006848#endif
6849
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006850 hdd_debug("Name = [gEnableDumpCollect] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006851 hdd_ctx->config->is_ramdump_enabled);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006852
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006853 hdd_debug("Name = [gP2PListenDeferInterval] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006854 hdd_ctx->config->p2p_listen_defer_interval);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006855 hdd_debug("Name = [is_ps_enabled] value = [%d]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006856 hdd_ctx->config->is_ps_enabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006857 hdd_debug("Name = [tso_enable] value = [%d]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006858 hdd_ctx->config->tso_enable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006859 hdd_debug("Name = [LROEnable] value = [%d]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006860 hdd_ctx->config->lro_enable);
Orhan K AKYILDIZ30e8cbc2017-08-11 18:00:28 -07006861 hdd_debug("Name = [%s] value = [%d]",
6862 CFG_MAX_MSDUS_PER_RXIND_NAME,
6863 hdd_ctx->config->max_msdus_per_rxinorderind);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006864 hdd_debug("Name = [active_mode_offload] value = [%d]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006865 hdd_ctx->config->active_mode_offload);
Venkata Sharath Chandra Manchala4aaae0f2017-07-10 11:59:19 -07006866 hdd_debug("Name = [gEnableNAPI] value = [%d]",
6867 hdd_ctx->napi_enable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006868 hdd_debug("Name = [gfine_time_meas_cap] value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006869 hdd_ctx->config->fine_time_meas_cap);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006870#ifdef WLAN_FEATURE_FASTPATH
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006871 hdd_debug("Name = [fastpath_enable] Value = [%u]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006872 hdd_ctx->config->fastpath_enable);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006873#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006874 hdd_debug("Name = [max_scan_count] value = [%d]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006875 hdd_ctx->config->max_scan_count);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006876 hdd_debug("Name = [%s] value = [%d]",
Jeff Johnson723234b2017-09-03 08:49:15 -07006877 CFG_RX_MODE_NAME, hdd_ctx->config->rx_mode);
Himanshu Agarwal24aa27e2017-05-23 11:07:50 +05306878 hdd_debug("Name = [%s] value = [%d]",
6879 CFG_CE_SERVICE_MAX_YIELD_TIME_NAME,
6880 hdd_ctx->config->ce_service_max_yield_time);
Poddar, Siddarth04eed332017-06-28 14:20:26 +05306881 hdd_debug("Name = [%s] value = [%d]",
6882 CFG_CE_SERVICE_MAX_RX_IND_FLUSH_NAME,
6883 hdd_ctx->config->ce_service_max_rx_ind_flush);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006884 hdd_debug("Name = [%s] Value = [%u]",
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006885 CFG_CE_CLASSIFY_ENABLE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006886 hdd_ctx->config->ce_classify_enabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006887 hdd_debug("Name = [%s] value = [%u]",
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006888 CFG_DUAL_MAC_FEATURE_DISABLE,
Jeff Johnson723234b2017-09-03 08:49:15 -07006889 hdd_ctx->config->dual_mac_feature_disable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006890 hdd_debug("Name = [%s] Value = [%s]",
Nitesh Shah50a3de12017-04-03 19:37:19 +05306891 CFG_DBS_SCAN_SELECTION_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006892 hdd_ctx->config->dbs_scan_selection);
Ganesh Kondabattini930304c2017-10-10 15:25:36 +05306893 hdd_debug("Name = [%s] value = [%u]",
6894 CFG_STA_SAP_SCC_ON_DFS_CHAN,
6895 hdd_ctx->config->sta_sap_scc_on_dfs_chan);
Zhu Jianmin72d32de2018-05-11 10:54:10 +08006896 hdd_debug("Name = [%s] value = [%u]",
6897 CFG_STA_SAP_SCC_ON_LTE_COEX_CHAN,
6898 hdd_ctx->config->sta_sap_scc_on_lte_coex_chan);
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07006899#ifdef FEATURE_WLAN_SCAN_PNO
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006900 hdd_debug("Name = [%s] Value = [%u]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006901 CFG_PNO_CHANNEL_PREDICTION_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006902 hdd_ctx->config->pno_channel_prediction);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006903 hdd_debug("Name = [%s] Value = [%u]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006904 CFG_TOP_K_NUM_OF_CHANNELS_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006905 hdd_ctx->config->top_k_num_of_channels);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006906 hdd_debug("Name = [%s] Value = [%u]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006907 CFG_STATIONARY_THRESHOLD_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006908 hdd_ctx->config->stationary_thresh);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006909 hdd_debug("Name = [%s] Value = [%u]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006910 CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006911 hdd_ctx->config->channel_prediction_full_scan);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006912 hdd_debug("Name = [%s] Value = [%u]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006913 CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006914 hdd_ctx->config->pnoscan_adaptive_dwell_mode);
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07006915#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006916 hdd_debug("Name = [%s] Value = [%d]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006917 CFG_EARLY_STOP_SCAN_ENABLE,
Jeff Johnson723234b2017-09-03 08:49:15 -07006918 hdd_ctx->config->early_stop_scan_enable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006919 hdd_debug("Name = [%s] Value = [%d]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006920 CFG_EARLY_STOP_SCAN_MIN_THRESHOLD,
Jeff Johnson723234b2017-09-03 08:49:15 -07006921 hdd_ctx->config->early_stop_scan_min_threshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006922 hdd_debug("Name = [%s] Value = [%d]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006923 CFG_EARLY_STOP_SCAN_MAX_THRESHOLD,
Jeff Johnson723234b2017-09-03 08:49:15 -07006924 hdd_ctx->config->early_stop_scan_max_threshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006925 hdd_debug("Name = [%s] Value = [%d]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006926 CFG_FIRST_SCAN_BUCKET_THRESHOLD_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006927 hdd_ctx->config->first_scan_bucket_threshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006928 hdd_debug("Name = [%s] Value = [%u]",
Archana Ramachandrane87005c2016-08-23 16:57:30 -07006929 CFG_HT_MPDU_DENSITY_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006930 hdd_ctx->config->ht_mpdu_density);
Mukul Sharmaecf8e092017-12-19 22:36:31 +05306931 hdd_debug("Name = [%s] value = [%d]",
6932 CFG_MARK_INDOOR_AS_DISABLE_NAME,
6933 hdd_ctx->config->force_ssc_disable_indoor_channel);
Ravi Joshi742495d2015-11-09 18:56:53 -08006934
6935#ifdef FEATURE_LFR_SUBNET_DETECTION
Dustin Brown5e89ef82018-03-14 11:50:23 -07006936 hdd_debug("Name = [%s] Value = [%d]",
6937 CFG_ENABLE_LFR_SUBNET_DETECTION,
6938 hdd_ctx->config->enable_lfr_subnet_detection);
Ravi Joshi742495d2015-11-09 18:56:53 -08006939#endif
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006940 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapilc68ad462016-02-01 19:17:23 +05306941 CFG_ROAM_DENSE_TRAFFIC_THRESHOLD,
Jeff Johnson723234b2017-09-03 08:49:15 -07006942 hdd_ctx->config->roam_dense_traffic_thresh);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006943 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapilc68ad462016-02-01 19:17:23 +05306944 CFG_ROAM_DENSE_RSSI_THRE_OFFSET,
Jeff Johnson723234b2017-09-03 08:49:15 -07006945 hdd_ctx->config->roam_dense_rssi_thresh_offset);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006946 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh165bc602016-03-21 12:43:00 +05306947 CFG_IGNORE_PEER_HT_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006948 hdd_ctx->config->ignore_peer_ht_opmode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006949 hdd_debug("Name = [%s] Value = [%u]",
Kapil Gupta4b2efbb2016-10-03 13:07:20 +05306950 CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006951 hdd_ctx->config->enable_sap_vendor_vht);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006952 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh5ea86532016-04-27 14:10:53 +05306953 CFG_ENABLE_FATAL_EVENT_TRIGGER,
Jeff Johnson723234b2017-09-03 08:49:15 -07006954 hdd_ctx->config->enable_fatal_event);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006955 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapilc68ad462016-02-01 19:17:23 +05306956 CFG_ROAM_DENSE_MIN_APS,
Jeff Johnson723234b2017-09-03 08:49:15 -07006957 hdd_ctx->config->roam_dense_min_aps);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006958 hdd_debug("Name = [%s] Value = [%u]",
Varun Reddy Yeturufaad37e2017-07-26 10:54:13 -07006959 CFG_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD_NAME,
6960 hdd_ctx->config->roam_bg_scan_bad_rssi_thresh);
6961 hdd_debug("Name = [%s] Value = [%u]",
6962 CFG_ROAM_BG_SCAN_CLIENT_BITMAP_NAME,
6963 hdd_ctx->config->roam_bg_scan_client_bitmap);
6964 hdd_debug("Name = [%s] Value = [%u]",
Vignesh Viswanathanc018e982017-09-07 18:49:19 +05306965 CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_NAME,
6966 hdd_ctx->config->roam_bad_rssi_thresh_offset_2g);
6967 hdd_debug("Name = [%s] Value = [%u]",
Abhinav Kumara083f212018-04-05 18:49:45 +05306968 CFG_ROAM_HO_DELAY_FOR_RX_NAME,
6969 hdd_ctx->config->ho_delay_for_rx);
6970 hdd_debug("Name = [%s] Value = [%u]",
Abhinav Kumara95af7c2018-04-06 17:08:00 +05306971 CFG_MIN_DELAY_BTW_ROAM_SCAN_NAME,
6972 hdd_ctx->config->min_delay_btw_roam_scans);
6973 hdd_debug("Name = [%s] Value = [%u]",
6974 CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_NAME,
6975 hdd_ctx->config->roam_trigger_reason_bitmask);
6976 hdd_debug("Name = [%s] Value = [%u]",
Agrawal Ashish17bb3902016-05-05 13:29:40 +05306977 CFG_MIN_REST_TIME_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006978 hdd_ctx->config->min_rest_time_conc);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006979 hdd_debug("Name = [%s] Value = [%u]",
Agrawal Ashish17bb3902016-05-05 13:29:40 +05306980 CFG_IDLE_TIME_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006981 hdd_ctx->config->idle_time_conc);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006982 hdd_debug("Name = [%s] Value = [%d]",
Mukul Sharmaf7d62e12016-09-03 15:16:22 +05306983 CFG_BUG_ON_REINIT_FAILURE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006984 hdd_ctx->config->bug_on_reinit_failure);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006985 hdd_debug("Name = [%s] Value = [%u]",
Arun Khandavallifae92942016-08-01 13:31:08 +05306986 CFG_INTERFACE_CHANGE_WAIT_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006987 hdd_ctx->config->iface_change_wait_time);
Agrawal Ashish17bb3902016-05-05 13:29:40 +05306988
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006989 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306990 CFG_ENABLE_EDCA_INI_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006991 hdd_ctx->config->enable_edca_params);
Abhishek Singh10ecf582016-05-04 17:48:59 +05306992
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006993 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306994 CFG_EDCA_VO_CWMIN_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006995 hdd_ctx->config->edca_vo_cwmin);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006996 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05306997 CFG_EDCA_VI_CWMIN_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07006998 hdd_ctx->config->edca_vi_cwmin);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07006999 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05307000 CFG_EDCA_BK_CWMIN_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007001 hdd_ctx->config->edca_bk_cwmin);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007002 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05307003 CFG_EDCA_BE_CWMIN_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007004 hdd_ctx->config->edca_be_cwmin);
Abhishek Singh10ecf582016-05-04 17:48:59 +05307005
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007006 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05307007 CFG_EDCA_VO_CWMAX_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007008 hdd_ctx->config->edca_vo_cwmax);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007009 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05307010 CFG_EDCA_VI_CWMAX_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007011 hdd_ctx->config->edca_vi_cwmax);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007012 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05307013 CFG_EDCA_BK_CWMAX_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007014 hdd_ctx->config->edca_bk_cwmax);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007015 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05307016 CFG_EDCA_BE_CWMAX_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007017 hdd_ctx->config->edca_be_cwmax);
Abhishek Singh10ecf582016-05-04 17:48:59 +05307018
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007019 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05307020 CFG_EDCA_VO_AIFS_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007021 hdd_ctx->config->edca_vo_aifs);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007022 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05307023 CFG_EDCA_VI_AIFS_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007024 hdd_ctx->config->edca_vi_aifs);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007025 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05307026 CFG_EDCA_BK_AIFS_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007027 hdd_ctx->config->edca_bk_aifs);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007028 hdd_debug("Name = [%s] Value = [%u]",
Abhishek Singh10ecf582016-05-04 17:48:59 +05307029 CFG_EDCA_BE_AIFS_VALUE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007030 hdd_ctx->config->edca_be_aifs);
gbian62edd7e2017-03-07 13:12:13 +08007031
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007032 hdd_debug("Name = [%s] Value = [%s]",
gbian62edd7e2017-03-07 13:12:13 +08007033 CFG_ENABLE_TX_SCHED_WRR_VO_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007034 hdd_ctx->config->tx_sched_wrr_vo);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007035 hdd_debug("Name = [%s] Value = [%s]",
gbian62edd7e2017-03-07 13:12:13 +08007036 CFG_ENABLE_TX_SCHED_WRR_VI_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007037 hdd_ctx->config->tx_sched_wrr_vi);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007038 hdd_debug("Name = [%s] Value = [%s]",
gbian62edd7e2017-03-07 13:12:13 +08007039 CFG_ENABLE_TX_SCHED_WRR_BK_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007040 hdd_ctx->config->tx_sched_wrr_bk);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007041 hdd_debug("Name = [%s] Value = [%s]",
gbian62edd7e2017-03-07 13:12:13 +08007042 CFG_ENABLE_TX_SCHED_WRR_BE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007043 hdd_ctx->config->tx_sched_wrr_be);
Nirav Shahd21a2e32018-04-20 16:34:43 +05307044
7045 hdd_cfg_print_dp_trace_params(hdd_ctx);
7046
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007047 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05307048 CFG_ADAPTIVE_SCAN_DWELL_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007049 hdd_ctx->config->scan_adaptive_dwell_mode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007050 hdd_debug("Name = [%s] Value = [%u]",
Paul Zhang72697bd2017-12-20 09:24:25 +08007051 CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_NAME,
7052 hdd_ctx->config->scan_adaptive_dwell_mode_nc);
7053 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05307054 CFG_ADAPTIVE_ROAMSCAN_DWELL_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007055 hdd_ctx->config->roamscan_adaptive_dwell_mode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007056 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05307057 CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007058 hdd_ctx->config->extscan_adaptive_dwell_mode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007059 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05307060 CFG_ADAPTIVE_DWELL_MODE_ENABLED_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007061 hdd_ctx->config->adaptive_dwell_mode_enabled);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007062 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05307063 CFG_GLOBAL_ADAPTIVE_DWELL_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007064 hdd_ctx->config->global_adapt_dwelltime_mode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007065 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05307066 CFG_ADAPT_DWELL_LPF_WEIGHT_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007067 hdd_ctx->config->adapt_dwell_lpf_weight);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007068 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05307069 CFG_ADAPT_DWELL_PASMON_INTVAL_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007070 hdd_ctx->config->adapt_dwell_passive_mon_intval);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007071 hdd_debug("Name = [%s] Value = [%u]",
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05307072 CFG_ADAPT_DWELL_WIFI_THRESH_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007073 hdd_ctx->config->adapt_dwell_wifi_act_threshold);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007074 hdd_debug("Name = [%s] value = [%u]",
Naveen Rawat64e477e2016-05-20 10:34:56 -07007075 CFG_SUB_20_CHANNEL_WIDTH_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007076 hdd_ctx->config->enable_sub_20_channel_width);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007077 hdd_debug("Name = [%s] Value = [%u]",
Rajeev Kumar Sirasanagandlaaf474742016-09-06 17:54:50 +05307078 CFG_TGT_GTX_USR_CFG_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007079 hdd_ctx->config->tgt_gtx_usr_cfg);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007080 hdd_debug("Name = [%s] Value = [%u]",
Agrawal, Ashish4e5fa1c2016-09-21 19:03:43 +05307081 CFG_SAP_MAX_INACTIVITY_OVERRIDE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007082 hdd_ctx->config->sap_max_inactivity_override);
7083 hdd_ndp_print_ini_config(hdd_ctx);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007084 hdd_debug("Name = [%s] Value = [%s]",
Krishna Kumaar Natarajancc077c22016-08-02 10:41:53 -07007085 CFG_RM_CAPABILITY_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007086 hdd_ctx->config->rm_capability);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007087 hdd_debug("Name = [%s] Value = [%d]",
Rajeev Kumar Sirasanagandlab79b5462016-09-06 18:33:17 +05307088 CFG_SAP_FORCE_11N_FOR_11AC_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007089 hdd_ctx->config->sap_force_11n_for_11ac);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007090 hdd_debug("Name = [%s] Value = [%d]",
Bala Venkateshb9cf3362017-11-09 15:48:46 +05307091 CFG_GO_FORCE_11N_FOR_11AC_NAME,
7092 hdd_ctx->config->go_force_11n_for_11ac);
7093 hdd_debug("Name = [%s] Value = [%d]",
Nachiket Kukadee547a482018-05-22 16:43:30 +05307094 CFG_APF_PACKET_FILTER_OFFLOAD,
7095 hdd_ctx->config->apf_packet_filter_enable);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007096 hdd_debug("Name = [%s] Value = [%u]",
Nitesh Shah61c10d92016-10-19 19:29:15 +05307097 CFG_TDLS_ENABLE_DEFER_TIMER,
Jeff Johnson723234b2017-09-03 08:49:15 -07007098 hdd_ctx->config->tdls_enable_defer_time);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007099 hdd_debug("Name = [%s] Value = [%d]",
Ravi Joshibb8d4512016-08-22 10:14:52 -07007100 CFG_FILTER_MULTICAST_REPLAY_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007101 hdd_ctx->config->multicast_replay_filter);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007102 hdd_debug("Name = [%s] Value = [%u]",
Agrawal Ashishb2d1a452016-05-05 12:23:58 +05307103 CFG_ENABLE_GO_CTS2SELF_FOR_STA,
Jeff Johnson723234b2017-09-03 08:49:15 -07007104 hdd_ctx->config->enable_go_cts2self_for_sta);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007105 hdd_debug("Name = [%s] Value = [%u]",
Sandeep Puligillaafa52892016-10-26 19:03:16 -07007106 CFG_CRASH_FW_TIMEOUT_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007107 hdd_ctx->config->fw_timeout_crash);
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05307108 hdd_debug("Name = [%s] Value = [%u]",
Nachiket Kukadee547a482018-05-22 16:43:30 +05307109 CFG_ACTIVE_UC_APF_MODE_NAME,
7110 hdd_ctx->config->active_uc_apf_mode);
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05307111 hdd_debug("Name = [%s] Value = [%u]",
Nachiket Kukadee547a482018-05-22 16:43:30 +05307112 CFG_ACTIVE_MC_BC_APF_MODE_NAME,
7113 hdd_ctx->config->active_mc_bc_apf_mode);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007114 hdd_debug("Name = [%s] Value = [%d]",
Arun Khandavallicc544b32017-01-30 19:52:16 +05307115 CFG_SAP_INTERNAL_RESTART_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007116 hdd_ctx->config->sap_internal_restart);
gaoleze5108942017-03-31 16:56:42 +08007117 hdd_debug("Name = [%s] Value = [%d]",
7118 CFG_ACS_WITH_MORE_PARAM_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007119 hdd_ctx->config->acs_with_more_param);
Ravi Kumar Bokka05c14e52017-03-27 14:48:23 +05307120 hdd_debug("Name = [%s] Value = [%u]",
7121 CFG_AUTO_DETECT_POWER_FAIL_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007122 hdd_ctx->config->auto_pwr_save_fail_mode);
Hanumanth Reddy Pothula9c161dd2017-03-23 19:03:08 +05307123 hdd_debug("Name = [%s] Value = [%d]",
Hanumanth Reddy Pothulaffc2d482017-07-04 11:32:44 +05307124 CFG_RESTART_BEACONING_ON_CH_AVOID_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007125 hdd_ctx->config->restart_beaconing_on_chan_avoid_event);
Ravi Kumar Bokka05c14e52017-03-27 14:48:23 +05307126
Jeff Johnson723234b2017-09-03 08:49:15 -07007127 hdd_per_roam_print_ini_config(hdd_ctx);
7128 hdd_he_print_ini_config(hdd_ctx);
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -07007129 hdd_twt_print_ini_config(hdd_ctx);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007130 hdd_debug("Name = [%s] Value = [%d]",
Srinivas Girigowda70e169a2017-03-07 23:55:57 -08007131 CFG_ARP_AC_CATEGORY,
Jeff Johnson723234b2017-09-03 08:49:15 -07007132 hdd_ctx->config->arp_ac_category);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007133 hdd_debug("Name = [%s] Value = [%u]",
Dustin Brown20b6fcf2017-05-17 15:35:17 -07007134 CFG_SCAN_BACKOFF_MULTIPLIER_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007135 hdd_ctx->config->scan_backoff_multiplier);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007136 hdd_debug("Name = [%s] Value = [%d]",
Jayachandran Sreekumaran68c952c2017-04-24 12:42:03 +05307137 CFG_EXTERNAL_ACS_POLICY,
Jeff Johnson723234b2017-09-03 08:49:15 -07007138 hdd_ctx->config->external_acs_policy);
Varun Reddy Yeturu8a5d3d42017-08-02 13:03:27 -07007139 hdd_debug("Name = [%s] value = [%u]",
Naveen Rawat2b6e3c92017-03-20 13:59:07 -07007140 CFG_DROPPED_PKT_DISCONNECT_TH_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007141 hdd_ctx->config->pkt_err_disconn_th);
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05307142
Jeff Johnson723234b2017-09-03 08:49:15 -07007143 hdd_cfg_print_ie_whitelist_attrs(hdd_ctx);
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05307144
Naveen Rawatb2fc4132017-05-10 20:42:05 -07007145 hdd_debug("Name = [%s] value = [%u]",
7146 CFG_FORCE_1X1_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007147 hdd_ctx->config->is_force_1x1);
Srinivas Girigowda6598eea2017-07-06 19:26:19 -07007148 hdd_debug("Name = [%s] Value = %u",
Ashish Kumar Dhanotiya470af292017-05-31 20:46:00 +05307149 CFG_ENABLE_CONNECTED_SCAN_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007150 hdd_ctx->config->enable_connected_scan);
Naveen Rawat247a8682017-06-05 15:00:31 -07007151 hdd_debug("Name = [%s] value = [%u]",
7152 CFG_11B_NUM_TX_CHAIN_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007153 hdd_ctx->config->num_11b_tx_chains);
Naveen Rawat247a8682017-06-05 15:00:31 -07007154 hdd_debug("Name = [%s] value = [%u]",
7155 CFG_11AG_NUM_TX_CHAIN_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007156 hdd_ctx->config->num_11ag_tx_chains);
Ashish Kumar Dhanotiya9335d812017-06-30 16:57:20 +05307157 hdd_debug("Name = [%s] value = [%u]",
7158 CFG_ITO_REPEAT_COUNT_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007159 hdd_ctx->config->ito_repeat_count);
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05307160 hdd_debug("Name = [%s] Value = [%u]",
7161 CFG_ROAM_DISALLOW_DURATION_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007162 hdd_ctx->config->disallow_duration);
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05307163 hdd_debug("Name = [%s] Value = [%u]",
7164 CFG_ROAM_RSSI_CHANNEL_PENALIZATION_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007165 hdd_ctx->config->rssi_channel_penalization);
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05307166 hdd_debug("Name = [%s] Value = [%u]",
7167 CFG_ROAM_NUM_DISALLOWED_APS_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007168 hdd_ctx->config->num_disallowed_aps);
Ashish Kumar Dhanotiyab8630ab2017-07-21 14:18:14 +05307169 hdd_debug("Name = [%s] value = [%u]",
7170 CFG_LPRx_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007171 hdd_ctx->config->enable_lprx);
Ashish Kumar Dhanotiyab28338c2017-07-21 20:12:34 +05307172 hdd_debug("Name = [%s] value = [%u]",
7173 CFG_UPPER_BRSSI_THRESH_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007174 hdd_ctx->config->upper_brssi_thresh);
Ashish Kumar Dhanotiyab28338c2017-07-21 20:12:34 +05307175 hdd_debug("Name = [%s] value = [%u]",
7176 CFG_LOWER_BRSSI_THRESH_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007177 hdd_ctx->config->lower_brssi_thresh);
Ashish Kumar Dhanotiyab28338c2017-07-21 20:12:34 +05307178 hdd_debug("Name = [%s] value = [%u]",
7179 CFG_DTIM_1CHRX_ENABLE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007180 hdd_ctx->config->enable_dtim_1chrx);
Ravi Joshi9771d432017-06-26 13:58:12 -07007181 hdd_debug("Name = [%s] value = [%u]",
hqu16d6e082017-09-04 10:52:31 +08007182 CFG_RANDOMIZE_NDI_MAC_NAME,
7183 hdd_ctx->config->is_ndi_mac_randomized);
Ashish Kumar Dhanotiyacc2e0d32017-08-24 20:13:08 +05307184 hdd_debug("Name = [%s] value = [%u]",
7185 CFG_DOT11P_MODE_NAME,
Jeff Johnson723234b2017-09-03 08:49:15 -07007186 hdd_ctx->config->dot11p_mode);
hqu16d6e082017-09-04 10:52:31 +08007187 hdd_debug("Name = [%s] value = [%u]",
Dustin Brown87194762017-09-07 14:32:12 -07007188 CFG_PREVENT_LINK_DOWN_NAME,
7189 hdd_ctx->config->prevent_link_down);
7190 hdd_debug("Name = [%s] value = [%u]",
hqu16d6e082017-09-04 10:52:31 +08007191 CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME,
7192 hdd_ctx->config->chan_switch_hostapd_rate_enabled);
Abhishek Singhb58164a2017-07-19 18:47:23 +05307193 hdd_debug("Name = [%s] value = [%u]",
7194 CFG_IS_BSSID_HINT_PRIORITY_NAME,
7195 hdd_ctx->config->is_bssid_hint_priority);
Himanshu Agarwal8bcec572017-09-28 11:54:37 +05307196 hdd_debug("Name = [%s] value = [%u]",
7197 CFG_RSSI_WEIGHTAGE_NAME,
7198 hdd_ctx->config->rssi_weightage);
7199 hdd_debug("Name = [%s] value = [%u]",
7200 CFG_HT_CAPABILITY_WEIGHTAGE_NAME,
7201 hdd_ctx->config->ht_caps_weightage);
7202 hdd_debug("Name = [%s] value = [%u]",
7203 CFG_VHT_CAPABILITY_WEIGHTAGE_NAME,
7204 hdd_ctx->config->vht_caps_weightage);
7205 hdd_debug("Name = [%s] value = [%u]",
7206 CFG_HE_CAPABILITY_WEIGHTAGE_NAME,
7207 hdd_ctx->config->he_caps_weightage);
7208 hdd_debug("Name = [%s] value = [%u]",
7209 CFG_CHAN_WIDTH_WEIGHTAGE_NAME,
7210 hdd_ctx->config->chan_width_weightage);
7211 hdd_debug("Name = [%s] value = [%u]",
7212 CFG_CHAN_BAND_WEIGHTAGE_NAME,
7213 hdd_ctx->config->chan_band_weightage);
7214 hdd_debug("Name = [%s] value = [%u]",
7215 CFG_NSS_WEIGHTAGE_NAME,
7216 hdd_ctx->config->nss_weightage);
7217 hdd_debug("Name = [%s] value = [%u]",
7218 CFG_BEAMFORMING_CAP_WEIGHTAGE_NAME,
7219 hdd_ctx->config->beamforming_cap_weightage);
7220 hdd_debug("Name = [%s] value = [%u]",
7221 CFG_PCL_WEIGHT_WEIGHTAGE_NAME,
7222 hdd_ctx->config->pcl_weightage);
7223 hdd_debug("Name = [%s] value = [%u]",
7224 CFG_CHANNEL_CONGESTION_WEIGHTAGE_NAME,
7225 hdd_ctx->config->channel_congestion_weightage);
7226 hdd_debug("Name = [%s] value = [%u]",
7227 CFG_OCE_WAN_WEIGHTAGE_NAME,
7228 hdd_ctx->config->oce_wan_weightage);
7229 hdd_debug("Name = [%s] value = [%u]",
7230 CFG_BAND_WIDTH_WEIGHT_PER_INDEX_NAME,
7231 hdd_ctx->config->bandwidth_weight_per_index);
7232 hdd_debug("Name = [%s] value = [%u]",
7233 CFG_NSS_WEIGHT_PER_INDEX_NAME,
7234 hdd_ctx->config->nss_weight_per_index);
7235 hdd_debug("Name = [%s] value = [%u]",
7236 CFG_BAND_WEIGHT_PER_INDEX_NAME,
7237 hdd_ctx->config->band_weight_per_index);
7238 hdd_debug("Name = [%s] value = [%u]",
7239 CFG_BEST_RSSI_THRESHOLD_NAME,
7240 hdd_ctx->config->best_rssi_threshold);
7241 hdd_debug("Name = [%s] value = [%u]",
7242 CFG_GOOD_RSSI_THRESHOLD_NAME,
7243 hdd_ctx->config->good_rssi_threshold);
7244 hdd_debug("Name = [%s] value = [%u]",
7245 CFG_BAD_RSSI_THRESHOLD_NAME,
7246 hdd_ctx->config->bad_rssi_threshold);
7247 hdd_debug("Name = [%s] value = [%u]",
7248 CFG_GOOD_RSSI_PCNT_NAME,
7249 hdd_ctx->config->good_rssi_pcnt);
7250 hdd_debug("Name = [%s] value = [%u]",
7251 CFG_BAD_RSSI_PCNT_NAME,
7252 hdd_ctx->config->bad_rssi_pcnt);
7253 hdd_debug("Name = [%s] value = [%u]",
7254 CFG_GOOD_RSSI_BUCKET_SIZE_NAME,
7255 hdd_ctx->config->good_rssi_bucket_size);
7256 hdd_debug("Name = [%s] value = [%u]",
7257 CFG_BAD_RSSI_BUCKET_SIZE_NAME,
7258 hdd_ctx->config->bad_rssi_bucket_size);
7259 hdd_debug("Name = [%s] value = [%u]",
7260 CFG_RSSI_PERF_5G_THRESHOLD_NAME,
7261 hdd_ctx->config->rssi_pref_5g_rssi_thresh);
7262 hdd_debug("Name = [%s] value = [%u]",
7263 CFG_ESP_QBSS_SLOTS_NAME,
7264 hdd_ctx->config->num_esp_qbss_slots);
7265 hdd_debug("Name = [%s] value = [%u]",
7266 CFG_ESP_QBSS_SCORE_IDX3_TO_0_NAME,
7267 hdd_ctx->config->esp_qbss_score_slots3_to_0);
7268 hdd_debug("Name = [%s] value = [%u]",
7269 CFG_ESP_QBSS_SCORE_IDX7_TO_4_NAME,
7270 hdd_ctx->config->esp_qbss_score_slots7_to_4);
7271 hdd_debug("Name = [%s] value = [%u]",
7272 CFG_ESP_QBSS_SCORE_IDX11_TO_8_NAME,
7273 hdd_ctx->config->esp_qbss_score_slots11_to_8);
7274 hdd_debug("Name = [%s] value = [%u]",
7275 CFG_ESP_QBSS_SCORE_IDX15_TO_12_NAME,
7276 hdd_ctx->config->esp_qbss_score_slots15_to_12);
7277 hdd_debug("Name = [%s] value = [%u]",
7278 CFG_ENABLE_SCORING_FOR_ROAM_NAME,
7279 hdd_ctx->config->enable_scoring_for_roam);
7280
Paul Zhang99fe8842017-12-08 14:43:46 +08007281 hdd_wlm_cfg_log(hdd_ctx);
7282
Himanshu Agarwal8bcec572017-09-28 11:54:37 +05307283 hdd_debug("Name = [%s] value = [%u]",
7284 CFG_OCE_WAN_SLOTS_NAME,
7285 hdd_ctx->config->num_oce_wan_slots);
7286 hdd_debug("Name = [%s] value = [%u]",
7287 CFG_OCE_WAN_SCORE_IDX3_TO_0_NAME,
7288 hdd_ctx->config->oce_wan_score_slots3_to_0);
7289 hdd_debug("Name = [%s] value = [%u]",
7290 CFG_OCE_WAN_SCORE_IDX7_TO_4_NAME,
7291 hdd_ctx->config->oce_wan_score_slots7_to_4);
7292 hdd_debug("Name = [%s] value = [%u]",
7293 CFG_OCE_WAN_SCORE_IDX11_TO_8_NAME,
7294 hdd_ctx->config->oce_wan_score_slots11_to_8);
7295 hdd_debug("Name = [%s] value = [%u]",
7296 CFG_OCE_WAN_SCORE_IDX15_TO_12_NAME,
7297 hdd_ctx->config->oce_wan_score_slots15_to_12);
Abhishek Singh6454ad32017-12-20 10:42:21 +05307298 hdd_debug("Name = [%s] Value = [%u]",
7299 CFG_FORCE_RSNE_OVERRIDE_NAME,
7300 hdd_ctx->config->force_rsne_override);
Nachiket Kukade8983cf62017-10-12 18:14:48 +05307301 hdd_debug("Name = [%s] value = [0x%x]", CFG_VC_MODE_BITMAP,
7302 hdd_ctx->config->vc_mode_cfg_bitmap);
Ravi Kumar Bokka990edcc2017-01-09 20:02:58 +05307303 hdd_debug("Name = [%s] Value = [%u]",
7304 CFG_ENABLE_PHY_REG,
7305 hdd_ctx->config->enable_phy_reg_retention);
yeshwanth sriram guntuka41f936c2017-09-01 17:53:49 +05307306 hdd_debug("Name = [btm_offload_config] value = [0x%x]",
7307 hdd_ctx->config->btm_offload_config);
Padma, Santhosh Kumar3e47c632017-09-01 20:15:27 +05307308 hdd_cfg_print_sae(hdd_ctx);
Jiachao Wu84bb2ea2018-01-08 16:17:33 +08007309 hdd_debug("Name = [btm_solicited_timeout] value = [0x%x]",
7310 hdd_ctx->config->btm_solicited_timeout);
7311 hdd_debug("Name = [btm_max_attempt_cnt] value = [0x%x]",
7312 hdd_ctx->config->btm_max_attempt_cnt);
7313 hdd_debug("Name = [btm_sticky_time] value = [0x%x]",
7314 hdd_ctx->config->btm_sticky_time);
Rachit Kankane0106e382018-05-16 18:59:28 +05307315 hdd_debug("Name = [num_vdevs] value = [0x%x]",
7316 hdd_ctx->config->num_vdevs);
Ashish Kumar Dhanotiyacb14b112018-01-19 19:26:44 +05307317 hdd_debug("Name = [%s] value = [%d]",
7318 CFG_ENABLE_GCMP_NAME,
7319 hdd_ctx->config->gcmp_enabled);
Ashish Kumar Dhanotiya191d1642018-02-08 17:43:09 +05307320 hdd_debug("Name = [%s] value = [%d]",
7321 CFG_DTIM_SELECTION_DIVERSITY_NAME,
7322 hdd_ctx->config->enable_dtim_selection_diversity);
Ashish Kumar Dhanotiya48dac7d2018-03-28 14:59:50 +05307323 hdd_debug("Name = [%s] value = [%d]",
7324 CFG_TX_SCH_DELAY_NAME,
7325 hdd_ctx->config->enable_tx_sch_delay);
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05307326
7327 hdd_cfg_print_11k_offload_params(hdd_ctx);
Yeshwanth Sriram Guntukadb7995d2018-01-22 16:46:59 +05307328 hdd_debug("Name = [%s] value = [0x%x]",
7329 CFG_CHANNEL_SELECT_LOGIC_CONC_NAME,
7330 hdd_ctx->config->channel_select_logic_conc);
Alok Kumarb64650c2018-03-23 17:05:11 +05307331
7332 hdd_nud_cfg_print(hdd_ctx);
Rajeev Kumar15b40a22018-04-12 11:45:24 -07007333 hdd_debug("Name = [%s] value = [0x%x]",
7334 CFG_ENABLE_UNIT_TEST_FRAMEWORK_NAME,
7335 hdd_ctx->config->is_unit_test_framework_enabled);
Abhinav Kumar271f0632018-03-29 16:01:30 +05307336 hdd_debug("Name = [%s] Value = [%u]",
7337 CFG_ROAM_FT_OPEN_ENABLE_NAME,
7338 hdd_ctx->config->enable_ftopen);
Ashish Kumar Dhanotiya959b38c2018-04-06 21:07:57 +05307339
7340 hdd_debug("Name = [%s] value = [0x%x]",
7341 CFG_ENABLE_SECONDARY_RATE_NAME,
7342 hdd_ctx->config->enable_secondary_rate);
Abhinav Kumaredd1d372018-05-11 15:33:35 +05307343 hdd_debug("Name = [%s] Value = [%u]",
7344 CFG_ROAM_FORCE_RSSI_TRIGGER_NAME,
7345 hdd_ctx->config->roam_force_rssi_trigger);
7346
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007347}
7348
7349
7350/**
7351 * hdd_update_mac_config() - update MAC address from cfg file
Jeff Johnson723234b2017-09-03 08:49:15 -07007352 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007353 *
7354 * It overwrites the MAC address if config file exist.
7355 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307356 * Return: QDF_STATUS_SUCCESS if the MAC address is found from cfg file
7357 * and overwritten, otherwise QDF_STATUS_E_INVAL
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007358 */
Jeff Johnson723234b2017-09-03 08:49:15 -07007359QDF_STATUS hdd_update_mac_config(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007360{
7361 int status, i = 0;
7362 const struct firmware *fw = NULL;
7363 char *line, *buffer = NULL;
Yuanyuan Liu6043d3c2016-07-25 11:40:38 -07007364 char *temp = NULL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007365 char *name, *value;
Nachiket Kukadee4d86442017-06-23 16:57:00 +05307366 int max_mac_addr = QDF_MAX_CONCURRENCY_PERSONA;
Jeff Johnson7274ccc2017-09-30 19:45:40 -07007367 struct hdd_cfg_entry macTable[QDF_MAX_CONCURRENCY_PERSONA];
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007368 tSirMacAddr customMacAddr;
7369
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307370 QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007371
7372 memset(macTable, 0, sizeof(macTable));
Jeff Johnson723234b2017-09-03 08:49:15 -07007373 status = request_firmware(&fw, WLAN_MAC_FILE, hdd_ctx->parent_dev);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007374
7375 if (status) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007376 hdd_err("request_firmware failed %d", status);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307377 qdf_status = QDF_STATUS_E_FAILURE;
7378 return qdf_status;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007379 }
7380 if (!fw || !fw->data || !fw->size) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08007381 hdd_alert("invalid firmware");
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307382 qdf_status = QDF_STATUS_E_INVAL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007383 goto config_exit;
7384 }
7385
Yuanyuan Liu6043d3c2016-07-25 11:40:38 -07007386 hdd_debug("wlan_mac.bin size %zu", fw->size);
7387
Srinivas Girigowdae6b465b2017-03-30 18:27:25 -07007388 temp = qdf_mem_malloc(fw->size + 1);
Yuanyuan Liu6043d3c2016-07-25 11:40:38 -07007389
7390 if (temp == NULL) {
7391 hdd_err("fail to alloc memory");
7392 qdf_status = QDF_STATUS_E_NOMEM;
7393 goto config_exit;
7394 }
7395 buffer = temp;
7396 qdf_mem_copy(buffer, fw->data, fw->size);
Srinivas Girigowdafb20a952017-04-05 11:38:48 -07007397 buffer[fw->size] = 0x0;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007398
7399 /* data format:
7400 * Intf0MacAddress=00AA00BB00CC
7401 * Intf1MacAddress=00AA00BB00CD
7402 * END
7403 */
7404 while (buffer != NULL) {
7405 line = get_next_line(buffer);
7406 buffer = i_trim(buffer);
7407
7408 if (strlen((char *)buffer) == 0 || *buffer == '#') {
7409 buffer = line;
7410 continue;
7411 }
7412 if (strncmp(buffer, "END", 3) == 0)
7413 break;
7414
7415 name = buffer;
7416 buffer = strnchr(buffer, strlen(buffer), '=');
7417 if (buffer) {
7418 *buffer++ = '\0';
7419 i_trim(name);
7420 if (strlen(name) != 0) {
7421 buffer = i_trim(buffer);
7422 if (strlen(buffer) == 12) {
7423 value = buffer;
7424 macTable[i].name = name;
7425 macTable[i++].value = value;
Anurag Chouhan6d760662016-02-20 16:05:43 +05307426 if (i >= QDF_MAX_CONCURRENCY_PERSONA)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007427 break;
7428 }
7429 }
7430 }
7431 buffer = line;
7432 }
Anurag Chouhan6d760662016-02-20 16:05:43 +05307433 if (i <= QDF_MAX_CONCURRENCY_PERSONA) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007434 hdd_debug("%d Mac addresses provided", i);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007435 } else {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08007436 hdd_err("invalid number of Mac address provided, nMac = %d", i);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307437 qdf_status = QDF_STATUS_E_INVAL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007438 goto config_exit;
7439 }
7440
Jeff Johnson723234b2017-09-03 08:49:15 -07007441 update_mac_from_string(hdd_ctx, &macTable[0], i);
Jeff Johnsona6cab552018-05-06 15:47:55 -07007442 hdd_debug("Populating remaining %d Mac addresses",
Nachiket Kukadee4d86442017-06-23 16:57:00 +05307443 max_mac_addr - i);
Jeff Johnson723234b2017-09-03 08:49:15 -07007444 hdd_populate_random_mac_addr(hdd_ctx, max_mac_addr - i);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007445
Anurag Chouhan600c3a02016-03-01 10:33:54 +05307446 qdf_mem_copy(&customMacAddr,
Jeff Johnson723234b2017-09-03 08:49:15 -07007447 &hdd_ctx->config->intfMacAddr[0].bytes[0],
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007448 sizeof(tSirMacAddr));
7449 sme_set_custom_mac_addr(customMacAddr);
7450
7451config_exit:
Yuanyuan Liu6043d3c2016-07-25 11:40:38 -07007452 qdf_mem_free(temp);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007453 release_firmware(fw);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307454 return qdf_status;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007455}
7456
7457/**
Manjunathappa Prakash59f861d2016-04-21 10:33:31 -07007458 * hdd_disable_runtime_pm() - Override to disable runtime_pm.
7459 * @cfg_ini: Handle to struct hdd_config
7460 *
7461 * Return: None
7462 */
7463#ifdef FEATURE_RUNTIME_PM
7464static void hdd_disable_runtime_pm(struct hdd_config *cfg_ini)
7465{
7466 cfg_ini->runtime_pm = 0;
7467}
7468#else
7469static void hdd_disable_runtime_pm(struct hdd_config *cfg_ini)
7470{
7471}
7472#endif
7473
7474/**
7475 * hdd_disable_auto_shutdown() - Override to disable auto_shutdown.
7476 * @cfg_ini: Handle to struct hdd_config
7477 *
7478 * Return: None
7479 */
7480#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
7481static void hdd_disable_auto_shutdown(struct hdd_config *cfg_ini)
7482{
7483 cfg_ini->WlanAutoShutdown = 0;
7484}
7485#else
7486static void hdd_disable_auto_shutdown(struct hdd_config *cfg_ini)
7487{
7488}
7489#endif
7490
7491/**
7492 * hdd_override_all_ps() - overrides to disables all the powersave features.
7493 * @hdd_ctx: Pointer to HDD context.
7494 * Overrides below powersave ini configurations.
7495 * gEnableImps=0
7496 * gEnableBmps=0
7497 * gRuntimePM=0
7498 * gWlanAutoShutdown = 0
7499 * gEnableSuspend=0
7500 * gEnablePowerSaveOffload=0
7501 * gEnableWoW=0
7502 *
7503 * Return: None
7504 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07007505static void hdd_override_all_ps(struct hdd_context *hdd_ctx)
Manjunathappa Prakash59f861d2016-04-21 10:33:31 -07007506{
7507 struct hdd_config *cfg_ini = hdd_ctx->config;
7508
7509 cfg_ini->fIsImpsEnabled = 0;
7510 cfg_ini->is_ps_enabled = 0;
7511 hdd_disable_runtime_pm(cfg_ini);
7512 hdd_disable_auto_shutdown(cfg_ini);
7513 cfg_ini->enablePowersaveOffload = 0;
7514 cfg_ini->wowEnable = 0;
7515}
7516
7517/**
Nirav Shahbd36b062016-07-18 11:12:59 +05307518 * hdd_set_rx_mode_value() - set rx_mode values
7519 * @hdd_ctx: hdd context
7520 *
7521 * Return: none
7522 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07007523static void hdd_set_rx_mode_value(struct hdd_context *hdd_ctx)
Nirav Shahbd36b062016-07-18 11:12:59 +05307524{
Tang Yingying5a4ccf22018-03-30 15:58:27 +08007525 /* RPS has higher priority than dynamic RPS when both bits are set */
7526 if (hdd_ctx->config->rx_mode & CFG_ENABLE_RPS &&
7527 hdd_ctx->config->rx_mode & CFG_ENABLE_DYNAMIC_RPS)
7528 hdd_ctx->config->rx_mode &= ~CFG_ENABLE_DYNAMIC_RPS;
7529
Nirav Shahbd36b062016-07-18 11:12:59 +05307530 if (hdd_ctx->config->rx_mode & CFG_ENABLE_RX_THREAD &&
7531 hdd_ctx->config->rx_mode & CFG_ENABLE_RPS) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007532 hdd_warn("rx_mode wrong configuration. Make it default");
Nirav Shahbd36b062016-07-18 11:12:59 +05307533 hdd_ctx->config->rx_mode = CFG_RX_MODE_DEFAULT;
7534 }
7535
7536 if (hdd_ctx->config->rx_mode & CFG_ENABLE_RX_THREAD)
Jeff Johnsone2ba3cd2017-10-30 20:02:09 -07007537 hdd_ctx->enable_rxthread = true;
Nirav Shahbd36b062016-07-18 11:12:59 +05307538
7539 if (hdd_ctx->config->rx_mode & CFG_ENABLE_RPS)
7540 hdd_ctx->rps = true;
7541
7542 if (hdd_ctx->config->rx_mode & CFG_ENABLE_NAPI)
7543 hdd_ctx->napi_enable = true;
Tang Yingying5a4ccf22018-03-30 15:58:27 +08007544
7545 if (hdd_ctx->config->rx_mode & CFG_ENABLE_DYNAMIC_RPS)
7546 hdd_ctx->dynamic_rps = true;
Nirav Shahbd36b062016-07-18 11:12:59 +05307547}
7548
7549/**
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007550 * hdd_parse_config_ini() - parse the ini configuration file
Jeff Johnson723234b2017-09-03 08:49:15 -07007551 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007552 *
7553 * This function reads the qcom_cfg.ini file and
7554 * parses each 'Name=Value' pair in the ini file
7555 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307556 * Return: QDF_STATUS_SUCCESS if the qcom_cfg.ini is correctly read,
7557 * otherwise QDF_STATUS_E_INVAL
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007558 */
Jeff Johnson723234b2017-09-03 08:49:15 -07007559QDF_STATUS hdd_parse_config_ini(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007560{
Paul Zhang8bbbcdf2018-06-01 11:14:57 +08007561 int status = 0;
7562 int i = 0;
7563 int retry = 0;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007564 /** Pointer for firmware image data */
7565 const struct firmware *fw = NULL;
7566 char *buffer, *line, *pTemp = NULL;
7567 size_t size;
7568 char *name, *value;
7569 /* cfgIniTable is static to avoid excess stack usage */
Jeff Johnson7274ccc2017-09-30 19:45:40 -07007570 static struct hdd_cfg_entry cfgIniTable[MAX_CFG_INI_ITEMS];
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307571 QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007572
7573 memset(cfgIniTable, 0, sizeof(cfgIniTable));
7574
Paul Zhang8bbbcdf2018-06-01 11:14:57 +08007575 do {
7576 if (status == -EAGAIN)
7577 msleep(HDD_CFG_REQUEST_FIRMWARE_DELAY);
7578
7579 status = request_firmware(&fw, WLAN_INI_FILE,
7580 hdd_ctx->parent_dev);
7581
7582 retry++;
7583 } while ((retry < HDD_CFG_REQUEST_FIRMWARE_RETRIES) &&
7584 (status == -EAGAIN));
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007585
7586 if (status) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08007587 hdd_alert("request_firmware failed %d", status);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307588 qdf_status = QDF_STATUS_E_FAILURE;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007589 goto config_exit;
7590 }
7591 if (!fw || !fw->data || !fw->size) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08007592 hdd_alert("%s download failed", WLAN_INI_FILE);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307593 qdf_status = QDF_STATUS_E_FAILURE;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007594 goto config_exit;
7595 }
7596
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007597 hdd_debug("qcom_cfg.ini Size %zu", fw->size);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007598
Anurag Chouhan600c3a02016-03-01 10:33:54 +05307599 buffer = (char *)qdf_mem_malloc(fw->size);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007600
7601 if (NULL == buffer) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007602 hdd_err("qdf_mem_malloc failure");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007603 release_firmware(fw);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307604 return QDF_STATUS_E_NOMEM;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007605 }
7606 pTemp = buffer;
7607
Anurag Chouhan600c3a02016-03-01 10:33:54 +05307608 qdf_mem_copy((void *)buffer, (void *)fw->data, fw->size);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007609 size = fw->size;
7610
7611 while (buffer != NULL) {
7612 line = get_next_line(buffer);
7613 buffer = i_trim(buffer);
7614
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007615 hdd_debug("%s: item", buffer);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007616
7617 if (strlen((char *)buffer) == 0 || *buffer == '#') {
7618 buffer = line;
7619 continue;
Jeff Johnson68755312017-02-10 11:46:55 -08007620 }
7621
7622 if (strncmp(buffer, "END", 3) == 0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007623 break;
Jeff Johnson68755312017-02-10 11:46:55 -08007624
7625 name = buffer;
7626 while (*buffer != '=' && *buffer != '\0')
7627 buffer++;
7628 if (*buffer != '\0') {
7629 *buffer++ = '\0';
7630 i_trim(name);
7631 if (strlen(name) != 0) {
7632 buffer = i_trim(buffer);
7633 if (strlen(buffer) > 0) {
7634 value = buffer;
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05307635 while (*buffer != '\0')
Jeff Johnson68755312017-02-10 11:46:55 -08007636 buffer++;
7637 *buffer = '\0';
7638 cfgIniTable[i].name = name;
7639 cfgIniTable[i++].value = value;
7640 if (i >= MAX_CFG_INI_ITEMS) {
7641 hdd_err("Number of items in %s > %d",
7642 WLAN_INI_FILE,
7643 MAX_CFG_INI_ITEMS);
7644 break;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007645 }
7646 }
7647 }
7648 }
7649 buffer = line;
7650 }
7651
7652 /* Loop through the registry table and apply all these configs */
Jeff Johnson723234b2017-09-03 08:49:15 -07007653 qdf_status = hdd_apply_cfg_ini(hdd_ctx, cfgIniTable, i);
7654 hdd_set_rx_mode_value(hdd_ctx);
Manjunathappa Prakash59f861d2016-04-21 10:33:31 -07007655 if (QDF_GLOBAL_MONITOR_MODE == cds_get_conparam())
Jeff Johnson723234b2017-09-03 08:49:15 -07007656 hdd_override_all_ps(hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007657
7658config_exit:
7659 release_firmware(fw);
Anurag Chouhan600c3a02016-03-01 10:33:54 +05307660 qdf_mem_free(pTemp);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307661 return qdf_status;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007662}
7663
7664/**
7665 * hdd_cfg_xlate_to_csr_phy_mode() - convert PHY mode
7666 * @dot11Mode: the mode to convert
7667 *
7668 * Convert the configuration PHY mode to CSR PHY mode
7669 *
7670 * Return: the CSR phy mode value
7671 */
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07007672eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode(enum hdd_dot11_mode dot11Mode)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007673{
Naveen Rawat10b1c152017-01-18 11:16:06 -08007674 if (cds_is_sub_20_mhz_enabled())
7675 return eCSR_DOT11_MODE_abg;
7676
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007677 switch (dot11Mode) {
7678 case (eHDD_DOT11_MODE_abg):
7679 return eCSR_DOT11_MODE_abg;
7680 case (eHDD_DOT11_MODE_11b):
7681 return eCSR_DOT11_MODE_11b;
7682 case (eHDD_DOT11_MODE_11g):
7683 return eCSR_DOT11_MODE_11g;
7684 default:
7685 case (eHDD_DOT11_MODE_11n):
7686 return eCSR_DOT11_MODE_11n;
7687 case (eHDD_DOT11_MODE_11g_ONLY):
7688 return eCSR_DOT11_MODE_11g_ONLY;
7689 case (eHDD_DOT11_MODE_11n_ONLY):
7690 return eCSR_DOT11_MODE_11n_ONLY;
7691 case (eHDD_DOT11_MODE_11b_ONLY):
7692 return eCSR_DOT11_MODE_11b_ONLY;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007693 case (eHDD_DOT11_MODE_11ac_ONLY):
7694 return eCSR_DOT11_MODE_11ac_ONLY;
7695 case (eHDD_DOT11_MODE_11ac):
7696 return eCSR_DOT11_MODE_11ac;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007697 case (eHDD_DOT11_MODE_AUTO):
7698 return eCSR_DOT11_MODE_AUTO;
7699 case (eHDD_DOT11_MODE_11a):
7700 return eCSR_DOT11_MODE_11a;
Krishna Kumaar Natarajan4f1d7722017-03-03 21:12:51 -08007701 case (eHDD_DOT11_MODE_11ax_ONLY):
7702 return eCSR_DOT11_MODE_11ax_ONLY;
7703 case (eHDD_DOT11_MODE_11ax):
7704 return eCSR_DOT11_MODE_11ax;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007705 }
7706
7707}
7708
7709/**
7710 * hdd_set_idle_ps_config() - set idle power save configuration
Jeff Johnson723234b2017-09-03 08:49:15 -07007711 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007712 * @val: the value to configure
7713 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307714 * Return: QDF_STATUS_SUCCESS if command set correctly,
7715 * otherwise the QDF_STATUS return from SME layer
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007716 */
Arunk Khandavalli847969d2017-09-25 15:15:36 +05307717QDF_STATUS hdd_set_idle_ps_config(struct hdd_context *hdd_ctx, bool val)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007718{
Jeff Johnson4f519342017-09-13 14:27:17 -07007719 QDF_STATUS status;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007720
Jeff Johnson4f519342017-09-13 14:27:17 -07007721 hdd_debug("Enter Val %d", val);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007722
Arunk Khandavalli847969d2017-09-25 15:15:36 +05307723 if (hdd_ctx->imps_enabled == val) {
Dustin Brown5e89ef82018-03-14 11:50:23 -07007724 hdd_info("Already in the requested power state:%d", val);
Arunk Khandavalli847969d2017-09-25 15:15:36 +05307725 return QDF_STATUS_SUCCESS;
7726 }
7727
7728 status = sme_set_idle_powersave_config(val);
7729 if (QDF_STATUS_SUCCESS != status) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08007730 hdd_err("Fail to Set Idle PS Config val %d", val);
Arunk Khandavalli847969d2017-09-25 15:15:36 +05307731 return status;
7732 }
7733
7734 hdd_ctx->imps_enabled = val;
7735
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007736 return status;
7737}
7738
7739/**
7740 * hdd_set_fine_time_meas_cap() - set fine timing measurement capability
7741 * @hdd_ctx: HDD context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007742 *
7743 * This function is used to pass fine timing measurement capability coming
7744 * from INI to SME. This function make sure that configure INI is supported
7745 * by the device. Use bit mask to mask out the unsupported capabilities.
7746 *
7747 * Return: None
7748 */
Naveen Rawatd2657be2017-10-10 14:31:23 -07007749static void hdd_set_fine_time_meas_cap(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007750{
7751 struct hdd_config *config = hdd_ctx->config;
7752 uint32_t capability = config->fine_time_meas_cap;
7753
7754 /* Make sure only supported capabilities are enabled in INI */
7755 capability &= CFG_FINE_TIME_MEAS_CAPABILITY_MAX;
Naveen Rawatd2657be2017-10-10 14:31:23 -07007756 ucfg_wifi_pos_set_ftm_cap(hdd_ctx->hdd_psoc, capability);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007757
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07007758 hdd_debug("fine time meas capability - INI: %04x Enabled: %04x",
Krunal Soni1878d3a2016-01-14 13:00:44 -08007759 config->fine_time_meas_cap,
Naveen Rawatd2657be2017-10-10 14:31:23 -07007760 capability);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007761}
7762
7763/**
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007764 * hdd_convert_string_to_u8_array() - used to convert string into u8 array
7765 * @str: String to be converted
7766 * @hex_array: Array where converted value is stored
7767 * @len: Length of the populated array
7768 * @array_max_len: Maximum length of the array
7769 * @to_hex: true, if conversion required for hex string
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007770 *
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007771 * This API is called to convert string (each byte separated by
7772 * a comma) into an u8 array
7773 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307774 * Return: QDF_STATUS
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007775 */
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007776
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307777static QDF_STATUS hdd_convert_string_to_array(char *str, uint8_t *array,
Jiachao Wu6e9b9f92018-01-03 13:35:40 +08007778 uint8_t *len, uint16_t array_max_len, bool to_hex)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007779{
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007780 char *format, *s = str;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007781
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007782 if (str == NULL || array == NULL || len == NULL)
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307783 return QDF_STATUS_E_INVAL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007784
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007785 format = (to_hex) ? "%02x" : "%d";
7786
7787 *len = 0;
7788 while ((s != NULL) && (*len < array_max_len)) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007789 int val;
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007790 /* Increment length only if sscanf successfully extracted
7791 * one element. Any other return value means error.
Jeff Johnson78d88a82017-01-12 09:50:54 -08007792 * Ignore it.
7793 */
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007794 if (sscanf(s, format, &val) == 1) {
7795 array[*len] = (uint8_t) val;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007796 *len += 1;
7797 }
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007798
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007799 s = strpbrk(s, ",");
7800 if (s)
7801 s++;
7802 }
7803
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307804 return QDF_STATUS_SUCCESS;
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007805}
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007806
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007807/**
7808 * hdd_hex_string_to_u8_array() - used to convert hex string into u8 array
7809 * @str: Hexadecimal string
7810 * @hex_array: Array where converted value is stored
7811 * @len: Length of the populated array
7812 * @array_max_len: Maximum length of the array
7813 *
7814 * This API is called to convert hexadecimal string (each byte separated by
7815 * a comma) into an u8 array
7816 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307817 * Return: QDF_STATUS
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007818 */
Jeff Johnsonf1bf3a62016-10-05 15:48:13 -07007819static QDF_STATUS hdd_hex_string_to_u8_array(char *str, uint8_t *hex_array,
7820 uint8_t *len,
7821 uint8_t array_max_len)
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007822{
7823 return hdd_convert_string_to_array(str, hex_array, len,
7824 array_max_len, true);
7825}
7826
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307827QDF_STATUS hdd_string_to_u8_array(char *str, uint8_t *array,
Jiachao Wu6e9b9f92018-01-03 13:35:40 +08007828 uint8_t *len, uint16_t array_max_len)
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08007829{
7830 return hdd_convert_string_to_array(str, array, len,
7831 array_max_len, false);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007832}
7833
7834/**
Nirav Shahbd36b062016-07-18 11:12:59 +05307835 * hdd_hex_string_to_u16_array() - convert a hex string to a uint16 array
7836 * @str: input string
7837 * @int_array: pointer to input array of type uint16
7838 * @len: pointer to number of elements which the function adds to the array
7839 * @int_array_max_len: maximum number of elements in input uint16 array
7840 *
7841 * This function is used to convert a space separated hex string to an array of
7842 * uint16_t. For example, an input string str = "a b c d" would be converted to
7843 * a unint16 array, int_array = {0xa, 0xb, 0xc, 0xd}, *len = 4.
7844 * This assumes that input value int_array_max_len >= 4.
7845 *
7846 * Return: QDF_STATUS_SUCCESS - if the conversion is successful
7847 * non zero value - if the conversion is a failure
7848 */
7849QDF_STATUS hdd_hex_string_to_u16_array(char *str,
7850 uint16_t *int_array, uint8_t *len, uint8_t int_array_max_len)
7851{
7852 char *s = str;
7853 uint32_t val = 0;
7854
7855 if (str == NULL || int_array == NULL || len == NULL)
7856 return QDF_STATUS_E_INVAL;
7857
Jeff Johnson36e74c42017-09-18 08:15:42 -07007858 hdd_debug("str %pK intArray %pK intArrayMaxLen %d",
Nirav Shahbd36b062016-07-18 11:12:59 +05307859 s, int_array, int_array_max_len);
7860
7861 *len = 0;
7862
7863 while ((s != NULL) && (*len < int_array_max_len)) {
7864 /*
7865 * Increment length only if sscanf successfully extracted one
7866 * element. Any other return value means error. Ignore it.
7867 */
7868 if (sscanf(s, "%x", &val) == 1) {
7869 int_array[*len] = (uint16_t) val;
Jeff Johnson36e74c42017-09-18 08:15:42 -07007870 hdd_debug("s %pK val %x intArray[%d]=0x%x",
Nirav Shahbd36b062016-07-18 11:12:59 +05307871 s, val, *len, int_array[*len]);
7872 *len += 1;
7873 }
7874 s = strpbrk(s, " ");
7875 if (s)
7876 s++;
7877 }
7878 return QDF_STATUS_SUCCESS;
7879}
7880
Nirav Shahbd36b062016-07-18 11:12:59 +05307881/**
Krunal Soni52198e42016-09-26 13:53:09 -07007882 * hdd_update_ht_cap_in_cfg() - to update HT cap in global CFG
Krunal Sonidf0f8742016-09-26 14:56:31 -07007883 * @hdd_ctx: pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007884 *
Krunal Soni52198e42016-09-26 13:53:09 -07007885 * This API will update the HT config in CFG after taking intersection
7886 * of INI and firmware capabilities provided reading CFG
7887 *
7888 * Return: true or false
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007889 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07007890static bool hdd_update_ht_cap_in_cfg(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007891{
Krunal Soni5c390162016-09-26 15:07:05 -07007892 uint32_t val32;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007893 uint16_t val16;
Krunal Soni5c390162016-09-26 15:07:05 -07007894 bool status = true;
Krunal Sonidf0f8742016-09-26 14:56:31 -07007895 tSirMacHTCapabilityInfo *ht_cap_info;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08007896
Krunal Sonidf0f8742016-09-26 14:56:31 -07007897 if (sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_HT_CAP_INFO,
Krunal Soni5c390162016-09-26 15:07:05 -07007898 &val32) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05307899 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007900 status = false;
Krunal Soni5c390162016-09-26 15:07:05 -07007901 hdd_err("Could not get WNI_CFG_HT_CAP_INFO");
Sandeep Puligilla607f34a2016-05-25 14:37:47 -07007902 }
Krunal Soni5c390162016-09-26 15:07:05 -07007903 val16 = (uint16_t) val32;
Krunal Sonidf0f8742016-09-26 14:56:31 -07007904 ht_cap_info = (tSirMacHTCapabilityInfo *) &val16;
Krunal Sonia2c0e412017-05-04 14:12:41 +05307905 ht_cap_info->advCodingCap &= hdd_ctx->config->enable_rx_ldpc;
Krunal Soni5c390162016-09-26 15:07:05 -07007906 ht_cap_info->rxSTBC = QDF_MIN(ht_cap_info->rxSTBC,
7907 hdd_ctx->config->enableRxSTBC);
7908 ht_cap_info->txSTBC &= hdd_ctx->config->enableTxSTBC;
7909 ht_cap_info->shortGI20MHz &= hdd_ctx->config->ShortGI20MhzEnable;
7910 ht_cap_info->shortGI40MHz &= hdd_ctx->config->ShortGI40MhzEnable;
7911 val32 = val16;
7912 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_HT_CAP_INFO, val32) ==
7913 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007914 status = false;
Krunal Soni5c390162016-09-26 15:07:05 -07007915 hdd_err("Could not set WNI_CFG_HT_CAP_INFO");
Krunal Soni52198e42016-09-26 13:53:09 -07007916 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07007917 return status;
Krunal Soni52198e42016-09-26 13:53:09 -07007918}
7919
7920/**
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007921 * hdd_update_vht_cap_in_cfg() - to update VHT cap in global CFG
Krunal Sonidf0f8742016-09-26 14:56:31 -07007922 * @hdd_ctx: pointer to hdd context
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007923 *
7924 * This API will update the VHT config in CFG after taking intersection
7925 * of INI and firmware capabilities provided reading CFG
7926 *
7927 * Return: true or false
7928 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07007929static bool hdd_update_vht_cap_in_cfg(struct hdd_context *hdd_ctx)
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007930{
Krunal Sonidf0f8742016-09-26 14:56:31 -07007931 bool status = true;
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007932 uint32_t val;
Krunal Sonidf0f8742016-09-26 14:56:31 -07007933 struct hdd_config *config = hdd_ctx->config;
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007934
Krunal Sonidf0f8742016-09-26 14:56:31 -07007935 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_ENABLE_TXBF_20MHZ,
7936 config->enableTxBFin20MHz) ==
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007937 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007938 status = false;
7939 hdd_err("Couldn't set value for WNI_CFG_VHT_ENABLE_TXBF_20MHZ");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007940 }
7941 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map
7942 * in the cfg.dat. Valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9)
7943 * we update only the least significant 2 bits in the
7944 * corresponding fields.
7945 */
Krunal Sonidf0f8742016-09-26 14:56:31 -07007946 if ((config->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
7947 (config->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
7948 (config->dot11Mode == eHDD_DOT11_MODE_11ac)) {
Kiran Kumar Lokeree25d3fc2017-07-21 15:37:04 -07007949 /* Currently shortGI40Mhz is used for shortGI80Mhz and 160MHz*/
Krunal Sonidf0f8742016-09-26 14:56:31 -07007950 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_SHORT_GI_80MHZ,
7951 config->ShortGI40MhzEnable) == QDF_STATUS_E_FAILURE) {
7952 status = false;
7953 hdd_err("Couldn't pass WNI_VHT_SHORT_GI_80MHZ to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007954 }
Kiran Kumar Lokeree25d3fc2017-07-21 15:37:04 -07007955
7956 if (sme_cfg_set_int(hdd_ctx->hHal,
7957 WNI_CFG_VHT_SHORT_GI_160_AND_80_PLUS_80MHZ,
7958 config->ShortGI40MhzEnable) == QDF_STATUS_E_FAILURE) {
7959 status = false;
7960 hdd_err("Couldn't pass SHORT_GI_160MHZ to CFG");
7961 }
7962
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07007963 /* Hardware is capable of doing
7964 * 128K AMPDU in 11AC mode
7965 */
Krunal Sonidf0f8742016-09-26 14:56:31 -07007966 if (sme_cfg_set_int(hdd_ctx->hHal,
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007967 WNI_CFG_VHT_AMPDU_LEN_EXPONENT,
Krunal Sonidf0f8742016-09-26 14:56:31 -07007968 config->fVhtAmpduLenExponent) ==
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007969 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007970 status = false;
7971 hdd_err("Couldn't pass on WNI_CFG_VHT_AMPDU_LEN_EXPONENT to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007972 }
7973 /* Change MU Bformee only when TxBF is enabled */
Krunal Sonidf0f8742016-09-26 14:56:31 -07007974 if (config->enableTxBF) {
7975 sme_cfg_get_int(hdd_ctx->hHal,
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007976 WNI_CFG_VHT_MU_BEAMFORMEE_CAP, &val);
7977
Krunal Sonidf0f8742016-09-26 14:56:31 -07007978 if (val != config->enableMuBformee) {
7979 if (sme_cfg_set_int(hdd_ctx->hHal,
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007980 WNI_CFG_VHT_MU_BEAMFORMEE_CAP,
Krunal Sonidf0f8742016-09-26 14:56:31 -07007981 config->enableMuBformee
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007982 ) == QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007983 status = false;
7984 hdd_err("Couldn't pass on WNI_CFG_VHT_MU_BEAMFORMEE_CAP to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007985 }
7986 }
7987 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07007988 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_MAX_MPDU_LENGTH,
7989 config->vhtMpduLen) == QDF_STATUS_E_FAILURE) {
7990 status = false;
7991 hdd_err("Couldn't pass on WNI_CFG_VHT_MAX_MPDU_LENGTH to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007992 }
7993
Krunal Sonidf0f8742016-09-26 14:56:31 -07007994 if (config->enable2x2 && config->enable_su_tx_bformer) {
7995 if (sme_cfg_set_int(hdd_ctx->hHal,
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007996 WNI_CFG_VHT_SU_BEAMFORMER_CAP,
Krunal Sonidf0f8742016-09-26 14:56:31 -07007997 config->enable_su_tx_bformer) ==
Krunal Soni6c7c39f2016-09-26 14:30:34 -07007998 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07007999 status = false;
Krunal Soni6c7c39f2016-09-26 14:30:34 -07008000 hdd_err("set SU_BEAMFORMER_CAP to CFG failed");
8001 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008002 if (sme_cfg_set_int(hdd_ctx->hHal,
Krunal Soni6c7c39f2016-09-26 14:30:34 -07008003 WNI_CFG_VHT_NUM_SOUNDING_DIMENSIONS,
8004 NUM_OF_SOUNDING_DIMENSIONS) ==
8005 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008006 status = false;
Krunal Soni6c7c39f2016-09-26 14:30:34 -07008007 hdd_err("failed to set NUM_OF_SOUNDING_DIM");
8008 }
8009 }
8010 }
8011
Krunal Sonidf0f8742016-09-26 14:56:31 -07008012 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_RXSTBC,
8013 config->enableRxSTBC) == QDF_STATUS_E_FAILURE) {
8014 status = false;
8015 hdd_err("Couldn't pass on WNI_CFG_VHT_RXSTBC to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07008016 }
8017
Krunal Sonidf0f8742016-09-26 14:56:31 -07008018 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_TXSTBC,
8019 config->enableTxSTBC) == QDF_STATUS_E_FAILURE) {
8020 status = false;
8021 hdd_err("Couldn't pass on WNI_CFG_VHT_TXSTBC to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07008022 }
8023
jiad4a7a33c2017-08-08 15:32:24 +08008024 /* first get HW RX LDPC capability */
Krunal Soni5c390162016-09-26 15:07:05 -07008025 if (sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_VHT_LDPC_CODING_CAP, &val) ==
8026 QDF_STATUS_E_FAILURE) {
jiad4a7a33c2017-08-08 15:32:24 +08008027 status = false;
Krunal Soni5c390162016-09-26 15:07:05 -07008028 hdd_err("Could not get WNI_CFG_VHT_LDPC_CODING_CAP");
8029 }
jiad4a7a33c2017-08-08 15:32:24 +08008030
8031 /* enable RX LDPC only when both INI and HW are enabled */
Krunal Sonidf0f8742016-09-26 14:56:31 -07008032 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_LDPC_CODING_CAP,
jiad4a7a33c2017-08-08 15:32:24 +08008033 config->enable_rx_ldpc && val) ==
8034 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008035 status = false;
8036 hdd_err("Couldn't pass on WNI_CFG_VHT_LDPC_CODING_CAP to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07008037 }
8038
Krunal Sonidf0f8742016-09-26 14:56:31 -07008039 if (sme_cfg_set_int(hdd_ctx->hHal,
Krunal Soni6c7c39f2016-09-26 14:30:34 -07008040 WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED,
Krunal Sonidf0f8742016-09-26 14:56:31 -07008041 config->txBFCsnValue) ==
Krunal Soni6c7c39f2016-09-26 14:30:34 -07008042 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008043 status = false;
8044 hdd_err("Couldn't pass on WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED to CFG");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07008045 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008046 return status;
Krunal Soni6c7c39f2016-09-26 14:30:34 -07008047
8048}
8049
8050/**
Krunal Sonidf0f8742016-09-26 14:56:31 -07008051 * hdd_update_config_cfg() - API to update INI setting based on hw/fw caps
8052 * @hdd_ctx: pointer to hdd_ctx
Krunal Soni52198e42016-09-26 13:53:09 -07008053 *
Krunal Sonidf0f8742016-09-26 14:56:31 -07008054 * This API reads the cfg file which is updated with hardware/firmware
8055 * capabilities and intersect it with INI setting provided by user. After
8056 * taking intersection it adjust cfg it self. For example, if user has enabled
8057 * RX LDPC through INI but hardware/firmware doesn't support it then disable
8058 * it in CFG file here.
8059 *
8060 * Return: true or false based on outcome.
Krunal Soni52198e42016-09-26 13:53:09 -07008061 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07008062bool hdd_update_config_cfg(struct hdd_context *hdd_ctx)
Krunal Soni52198e42016-09-26 13:53:09 -07008063{
Krunal Sonidf0f8742016-09-26 14:56:31 -07008064 bool status = true;
Krunal Sonidf0f8742016-09-26 14:56:31 -07008065 struct hdd_config *config = hdd_ctx->config;
Krunal Soni52198e42016-09-26 13:53:09 -07008066
8067 /*
8068 * During the initialization both 2G and 5G capabilities should be same.
8069 * So read 5G HT capablity and update 2G and 5G capablities.
8070 */
Krunal Sonidf0f8742016-09-26 14:56:31 -07008071 if (!hdd_update_ht_cap_in_cfg(hdd_ctx)) {
8072 status = false;
8073 hdd_err("Couldn't set HT CAP in cfg");
Krunal Soni52198e42016-09-26 13:53:09 -07008074 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008075
Krunal Sonidf0f8742016-09-26 14:56:31 -07008076 if (!hdd_update_vht_cap_in_cfg(hdd_ctx)) {
8077 status = false;
8078 hdd_err("Couldn't set VHT CAP in cfg");
Krunal Soni6c7c39f2016-09-26 14:30:34 -07008079 }
8080
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08008081 if (0 != hdd_update_he_cap_in_cfg(hdd_ctx)) {
8082 status = false;
8083 hdd_err("Couldn't set HE CAP in cfg");
8084 }
8085
Krunal Sonidf0f8742016-09-26 14:56:31 -07008086 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
8087 config->MaxRxAmpduFactor) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308088 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008089 status = false;
8090 hdd_err("Couldn't pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008091 }
8092
Krunal Sonidf0f8742016-09-26 14:56:31 -07008093 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_MPDU_DENSITY,
8094 config->ht_mpdu_density) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308095 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008096 status = false;
8097 hdd_err("Couldn't pass on WNI_CFG_MPDU_DENSITY to CFG");
Krishna Kumaar Natarajan22b59a72015-11-23 18:54:58 -08008098 }
8099
Krunal Sonidf0f8742016-09-26 14:56:31 -07008100 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_SHORT_PREAMBLE,
8101 config->fIsShortPreamble) == QDF_STATUS_E_FAILURE) {
8102 status = false;
8103 hdd_err("Couldn't pass on WNI_CFG_SHORT_PREAMBLE to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008104 }
8105
Krunal Sonidf0f8742016-09-26 14:56:31 -07008106 if (sme_cfg_set_int(hdd_ctx->hHal,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008107 WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME,
Krunal Sonidf0f8742016-09-26 14:56:31 -07008108 config->nPassiveMinChnTime)
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308109 == QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008110 status = false;
8111 hdd_err("Couldn't pass on WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME 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,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008115 WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME,
Krunal Sonidf0f8742016-09-26 14:56:31 -07008116 config->nPassiveMaxChnTime)
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308117 == QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008118 status = false;
8119 hdd_err("Couldn't pass on WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008120 }
8121
Krunal Sonidf0f8742016-09-26 14:56:31 -07008122 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_BEACON_INTERVAL,
8123 config->nBeaconInterval) == QDF_STATUS_E_FAILURE) {
8124 status = false;
8125 hdd_err("Couldn't pass on WNI_CFG_BEACON_INTERVAL to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008126 }
8127
Krunal Sonidf0f8742016-09-26 14:56:31 -07008128 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_MAX_PS_POLL,
8129 config->nMaxPsPoll) == QDF_STATUS_E_FAILURE) {
8130 status = false;
8131 hdd_err("Couldn't pass on WNI_CFG_MAX_PS_POLL to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008132 }
8133
Krunal Sonidf0f8742016-09-26 14:56:31 -07008134 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT,
8135 config->nDataInactivityTimeout) == QDF_STATUS_E_FAILURE) {
8136 status = false;
8137 hdd_err("Couldn't pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008138 }
8139
Mukul Sharmaed92f2f2017-04-20 00:06:28 +05308140 if (sme_cfg_set_int(hdd_ctx->hHal,
8141 WNI_CFG_PS_WOW_DATA_INACTIVITY_TIMEOUT,
8142 config->wow_data_inactivity_timeout) == QDF_STATUS_E_FAILURE) {
8143 status = false;
8144 hdd_err("Fail to pass WNI_CFG_PS_WOW_DATA_INACTIVITY_TO CFG");
8145 }
8146
Krunal Sonidf0f8742016-09-26 14:56:31 -07008147 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_ENABLE_LTE_COEX,
8148 config->enableLTECoex) == QDF_STATUS_E_FAILURE) {
8149 status = false;
8150 hdd_err("Couldn't pass on WNI_CFG_ENABLE_LTE_COEX to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008151 }
8152
Krunal Sonidf0f8742016-09-26 14:56:31 -07008153 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT,
8154 config->apKeepAlivePeriod) == QDF_STATUS_E_FAILURE) {
8155 status = false;
8156 hdd_err("Couldn't pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008157 }
8158
Krunal Sonidf0f8742016-09-26 14:56:31 -07008159 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT,
8160 config->goKeepAlivePeriod) == QDF_STATUS_E_FAILURE) {
8161 status = false;
8162 hdd_err("Couldn't pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008163 }
8164
Krunal Sonidf0f8742016-09-26 14:56:31 -07008165 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT,
8166 config->apLinkMonitorPeriod) == QDF_STATUS_E_FAILURE) {
8167 status = false;
8168 hdd_err("Couldn't pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008169 }
8170
Krunal Sonidf0f8742016-09-26 14:56:31 -07008171 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT,
8172 config->goLinkMonitorPeriod) == QDF_STATUS_E_FAILURE) {
8173 status = false;
8174 hdd_err("Couldn't pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008175 }
8176
Krunal Sonidf0f8742016-09-26 14:56:31 -07008177 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_SINGLE_TID_RC,
8178 config->bSingleTidRc) == QDF_STATUS_E_FAILURE) {
8179 status = false;
8180 hdd_err("Couldn't pass on WNI_CFG_SINGLE_TID_RC to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008181 }
8182
Krunal Sonidf0f8742016-09-26 14:56:31 -07008183 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN,
8184 config->teleBcnWakeupEn) == QDF_STATUS_E_FAILURE) {
8185 status = false;
8186 hdd_err("Couldn't pass on WNI_CFG_TELE_BCN_WAKEUP_EN to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008187 }
8188
Krunal Sonidf0f8742016-09-26 14:56:31 -07008189 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TELE_BCN_MAX_LI,
8190 config->nTeleBcnMaxListenInterval) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308191 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008192 status = false;
8193 hdd_err("Couldn't pass on WNI_CFG_TELE_BCN_MAX_LI to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008194 }
8195
Krunal Sonidf0f8742016-09-26 14:56:31 -07008196 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD,
8197 config->infraStaKeepAlivePeriod) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308198 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008199 status = false;
8200 hdd_err("Couldn't pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008201 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008202
Krunal Sonidf0f8742016-09-26 14:56:31 -07008203 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD,
8204 config->FragmentationThreshold) == QDF_STATUS_E_FAILURE) {
8205 status = false;
8206 hdd_err("Couldn't pass on WNI_CFG_FRAGMENTATION_THRESHOLD to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008207 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008208 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_RTS_THRESHOLD,
8209 config->RTSThreshold) == QDF_STATUS_E_FAILURE) {
8210 status = false;
8211 hdd_err("Couldn't pass on WNI_CFG_RTS_THRESHOLD to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008212 }
8213
Krunal Sonidf0f8742016-09-26 14:56:31 -07008214 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_11D_ENABLED,
8215 config->Is11dSupportEnabled) == QDF_STATUS_E_FAILURE) {
8216 status = false;
8217 hdd_err("Couldn't pass on WNI_CFG_11D_ENABLED to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008218 }
8219
Krunal Sonidf0f8742016-09-26 14:56:31 -07008220 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_DFS_MASTER_ENABLED,
8221 config->enableDFSMasterCap) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308222 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008223 status = false;
8224 hdd_err("Failure: Couldn't set value for WNI_CFG_DFS_MASTER_ENABLED");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008225 }
8226
Krunal Sonidf0f8742016-09-26 14:56:31 -07008227 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD,
8228 config->HeartbeatThresh24) == QDF_STATUS_E_FAILURE) {
8229 status = false;
8230 hdd_err("Couldn't pass on WNI_CFG_HEART_BEAT_THRESHOLD to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008231 }
8232
Krunal Sonidf0f8742016-09-26 14:56:31 -07008233 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST,
8234 config->fEnableMCAddrList) == QDF_STATUS_E_FAILURE) {
8235 status = false;
8236 hdd_err("Couldn't pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008237 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008238
Krunal Sonidf0f8742016-09-26 14:56:31 -07008239 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED,
8240 config->enableMCCAdaptiveScheduler) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308241 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008242 status = false;
8243 hdd_err("Couldn't pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008244 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008245 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP,
8246 config->disableLDPCWithTxbfAP) == QDF_STATUS_E_FAILURE) {
8247 status = false;
8248 hdd_err("Couldn't pass on WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008249 }
8250
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008251#ifdef FEATURE_WLAN_TDLS
8252
Krunal Sonidf0f8742016-09-26 14:56:31 -07008253 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
8254 config->fTDLSUapsdMask) == QDF_STATUS_E_FAILURE) {
8255 status = false;
8256 hdd_err("Couldn't pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008257 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008258 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
8259 config->fEnableTDLSBufferSta) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308260 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008261 status = false;
8262 hdd_err("Couldn't pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008263 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008264 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
8265 config->fTDLSPuapsdInactivityTimer) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308266 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008267 status = false;
8268 hdd_err("Couldn't pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008269 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008270 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
8271 config->fTDLSRxFrameThreshold) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308272 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008273 status = false;
8274 hdd_err("Couldn't pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008275 }
8276
Krunal Sonidf0f8742016-09-26 14:56:31 -07008277 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TDLS_OFF_CHANNEL_ENABLED,
8278 config->fEnableTDLSOffChannel) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308279 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008280 status = false;
8281 hdd_err("Couldn't pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008282 }
Krunal Sonidf0f8742016-09-26 14:56:31 -07008283 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TDLS_WMM_MODE_ENABLED,
8284 config->fEnableTDLSWmmMode) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308285 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008286 status = false;
8287 hdd_err("Couldn't pass on WNI_CFG_TDLS_WMM_MODE_ENABLED to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008288 }
8289#endif
8290
Krunal Sonidf0f8742016-09-26 14:56:31 -07008291 if (sme_cfg_set_int(hdd_ctx->hHal,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008292 WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL,
Krunal Sonidf0f8742016-09-26 14:56:31 -07008293 config->debugP2pRemainOnChannel) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308294 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008295 status = false;
8296 hdd_err("Couldn't pass on WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008297 }
8298#ifdef WLAN_FEATURE_11W
Krunal Sonidf0f8742016-09-26 14:56:31 -07008299 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_PMF_SA_QUERY_MAX_RETRIES,
8300 config->pmfSaQueryMaxRetries) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308301 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008302 status = false;
8303 hdd_err("Couldn't pass on WNI_CFG_SA_QUERY_MAX_RETRIES to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008304 }
8305
Krunal Sonidf0f8742016-09-26 14:56:31 -07008306 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_PMF_SA_QUERY_RETRY_INTERVAL,
8307 config->pmfSaQueryRetryInterval) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308308 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008309 status = false;
8310 hdd_err("Couldn't pass on WNI_CFG_SA_QUERY_RETRY_INTERVAL to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008311 }
8312#endif
8313
Krunal Sonidf0f8742016-09-26 14:56:31 -07008314 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_IBSS_ATIM_WIN_SIZE,
8315 config->ibssATIMWinSize) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308316 QDF_STATUS_E_FAILURE) {
Krunal Sonidf0f8742016-09-26 14:56:31 -07008317 status = false;
8318 hdd_err("Couldn't pass on WNI_CFG_IBSS_ATIM_WIN_SIZE to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008319 }
Krunal Soni53993f72016-07-08 18:20:03 -07008320
Krunal Sonidf0f8742016-09-26 14:56:31 -07008321 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_TGT_GTX_USR_CFG,
8322 config->tgt_gtx_usr_cfg) == QDF_STATUS_E_FAILURE) {
8323 status = false;
8324 hdd_err("Couldn't pass on WNI_CFG_TGT_GTX_USR_CFG to CCM");
Rajeev Kumar Sirasanagandlaaf474742016-09-06 17:54:50 +05308325 }
Hong Shi417824f2017-01-12 02:31:14 +08008326
8327 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_MAX_HT_MCS_TX_DATA,
8328 config->max_ht_mcs_txdata) ==
8329 QDF_STATUS_E_FAILURE) {
8330 status = false;
8331 hdd_err("Couldn't pass on WNI_CFG_MAX_HT_MCS_TX_DATA to CCM");
8332 }
Hong Shia9ef8712017-02-19 21:54:02 +08008333
8334 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_DISABLE_ABG_RATE_FOR_TX_DATA,
8335 config->disable_abg_rate_txdata) ==
8336 QDF_STATUS_E_FAILURE) {
8337 status = false;
8338 hdd_err("Couldn't pass on WNI_CFG_DISABLE_ABG_RATE_FOR_TX_DATA to CCM");
8339 }
8340
Hong Shib90718f2017-02-20 00:57:22 +08008341 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_RATE_FOR_TX_MGMT,
8342 config->rate_for_tx_mgmt) ==
8343 QDF_STATUS_E_FAILURE) {
8344 status = false;
8345 hdd_err("Couldn't pass on WNI_CFG_RATE_FOR_TX_MGMT to CCM");
8346 }
8347
lifeng13a89d72017-05-10 14:49:29 +08008348 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_SAP_MAX_MCS_DATA,
8349 config->sap_max_mcs_txdata) ==
8350 QDF_STATUS_E_FAILURE) {
8351 status = false;
8352 hdd_err("Could not pass on WNI_CFG_SAP_MAX_MCS_DATA to CCM");
8353 }
8354
Hong Shi2d384fd2017-05-22 18:38:41 +08008355 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_RATE_FOR_TX_MGMT_2G,
8356 config->rate_for_tx_mgmt_2g) ==
8357 QDF_STATUS_E_FAILURE) {
8358 status = false;
8359 hdd_err("Couldn't pass on WNI_CFG_RATE_FOR_TX_MGMT_2G to CCM");
8360 }
8361
8362 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_RATE_FOR_TX_MGMT_5G,
8363 config->rate_for_tx_mgmt_5g) ==
8364 QDF_STATUS_E_FAILURE) {
8365 status = false;
8366 hdd_err("Couldn't pass on WNI_CFG_RATE_FOR_TX_MGMT_5G to CCM");
8367 }
8368
Sourav Mohapatra9916dca2018-06-08 10:06:39 +05308369 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_ASSOC_STA_LIMIT,
8370 config->maxNumberOfPeers) ==
8371 QDF_STATUS_E_FAILURE) {
8372 status = false;
8373 hdd_err("Couldn't pass on WNI_CFG_ASSOC_STA_LIMIT to CFG");
8374 }
8375
Krunal Sonidf0f8742016-09-26 14:56:31 -07008376 return status;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008377}
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08008378
Kapil Gupta5cda2252016-12-29 18:44:26 +05308379/**
8380 * hdd_update_per_config_to_sme() -initializes the sme config for PER roam
8381 *
8382 * @hdd_ctx: the pointer to hdd context
8383 * @sme_config: sme configuation pointer
8384 *
8385 * Return: None
8386 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07008387static void hdd_update_per_config_to_sme(struct hdd_context *hdd_ctx,
Kapil Gupta5cda2252016-12-29 18:44:26 +05308388 tSmeConfigParams *sme_config)
8389{
8390 sme_config->csrConfig.per_roam_config.enable =
8391 hdd_ctx->config->is_per_roam_enabled;
8392
8393 /* Assigning Tx and Rx for same value */
8394 sme_config->csrConfig.per_roam_config.tx_high_rate_thresh =
8395 hdd_ctx->config->per_roam_high_rate_threshold;
8396 sme_config->csrConfig.per_roam_config.rx_high_rate_thresh =
8397 hdd_ctx->config->per_roam_high_rate_threshold;
8398
8399 /* Assigning Tx and Rx for same value */
8400 sme_config->csrConfig.per_roam_config.tx_low_rate_thresh =
8401 hdd_ctx->config->per_roam_low_rate_threshold;
8402 sme_config->csrConfig.per_roam_config.rx_low_rate_thresh =
8403 hdd_ctx->config->per_roam_low_rate_threshold;
8404
8405 /* Assigning Tx and Rx for same value */
8406 sme_config->csrConfig.per_roam_config.tx_rate_thresh_percnt =
8407 hdd_ctx->config->per_roam_th_percent;
8408 sme_config->csrConfig.per_roam_config.rx_rate_thresh_percnt =
8409 hdd_ctx->config->per_roam_th_percent;
8410
8411 sme_config->csrConfig.per_roam_config.per_rest_time =
8412 hdd_ctx->config->per_roam_rest_time;
Kapil Gupta957827b2017-02-13 15:47:04 +05308413 sme_config->csrConfig.per_roam_config.tx_per_mon_time =
8414 hdd_ctx->config->per_roam_mon_time;
8415 sme_config->csrConfig.per_roam_config.rx_per_mon_time =
8416 hdd_ctx->config->per_roam_mon_time;
Selvaraj, Sridhar0641fab2017-05-17 16:02:00 +05308417
8418 /* Assigning minimum roamable AP RSSI for candidate selection */
8419 sme_config->csrConfig.per_roam_config.min_candidate_rssi =
8420 hdd_ctx->config->min_candidate_rssi;
Kapil Gupta5cda2252016-12-29 18:44:26 +05308421}
8422
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008423/**
Tushnim Bhattacharyyaba8ee932017-03-23 09:27:40 -07008424 * hdd_set_policy_mgr_user_cfg() -initializes the policy manager
8425 * configuration parameters
8426 *
Jeff Johnson723234b2017-09-03 08:49:15 -07008427 * @hdd_ctx: the pointer to hdd context
Tushnim Bhattacharyyaba8ee932017-03-23 09:27:40 -07008428 *
8429 * Return: QDF_STATUS_SUCCESS if configuration is correctly applied,
8430 * otherwise the appropriate QDF_STATUS would be returned
8431 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07008432QDF_STATUS hdd_set_policy_mgr_user_cfg(struct hdd_context *hdd_ctx)
Tushnim Bhattacharyyaba8ee932017-03-23 09:27:40 -07008433{
8434 QDF_STATUS status;
8435 struct policy_mgr_user_cfg *user_cfg;
8436
8437 user_cfg = qdf_mem_malloc(sizeof(*user_cfg));
8438 if (NULL == user_cfg) {
8439 hdd_err("unable to allocate user_cfg");
8440 return QDF_STATUS_E_NOMEM;
8441 }
8442
8443 user_cfg->conc_system_pref = hdd_ctx->config->conc_system_pref;
8444 user_cfg->enable_mcc_adaptive_scheduler =
8445 hdd_ctx->config->enableMCCAdaptiveScheduler;
8446 user_cfg->max_concurrent_active_sessions =
8447 hdd_ctx->config->gMaxConcurrentActiveSessions;
Tushnim Bhattacharyya7e546692017-03-23 18:30:29 -07008448 user_cfg->enable2x2 = hdd_ctx->config->enable2x2;
Tushnim Bhattacharyya5cc9edc2017-04-26 12:33:59 -07008449 user_cfg->mcc_to_scc_switch_mode =
8450 hdd_ctx->config->WlanMccToSccSwitchMode;
8451 user_cfg->sub_20_mhz_enabled = cds_is_sub_20_mhz_enabled();
Ganesh Kondabattini4a7f5b92017-11-21 14:58:39 +05308452 user_cfg->is_sta_sap_scc_allowed_on_dfs_chan =
8453 hdd_ctx->config->sta_sap_scc_on_dfs_chan;
Yeshwanth Sriram Guntuka469f9572018-02-12 13:28:22 +05308454 user_cfg->channel_select_logic_conc =
8455 hdd_ctx->config->channel_select_logic_conc;
Zhu Jianmin72d32de2018-05-11 10:54:10 +08008456 user_cfg->sta_sap_scc_on_lte_coex_chan =
8457 hdd_ctx->config->sta_sap_scc_on_lte_coex_chan;
Tushnim Bhattacharyyaba8ee932017-03-23 09:27:40 -07008458 status = policy_mgr_set_user_cfg(hdd_ctx->hdd_psoc, user_cfg);
Tushnim Bhattacharyyaba8ee932017-03-23 09:27:40 -07008459 qdf_mem_free(user_cfg);
8460
8461 return status;
8462}
Krunal Soni707eb782018-01-18 12:04:19 -08008463
8464eCsrRoamWmmUserModeType hdd_to_csr_wmm_mode(enum hdd_wmm_user_mode mode)
Srinivas Girigowda3ea486d2017-06-28 17:19:49 -07008465{
8466 switch (mode) {
8467 case HDD_WMM_USER_MODE_QBSS_ONLY:
8468 return eCsrRoamWmmQbssOnly;
8469 case HDD_WMM_USER_MODE_NO_QOS:
8470 return eCsrRoamWmmNoQos;
8471 case HDD_WMM_USER_MODE_AUTO:
8472 default:
8473 return eCsrRoamWmmAuto;
8474 }
8475}
8476
8477/**
Himanshu Agarwal8bcec572017-09-28 11:54:37 +05308478 * hdd_update_score_params() -initializes the sme config for bss score params
8479 *
8480 * @config: pointer to config
8481 * @score_params: bss score params
8482 *
8483 * Return: None
8484 */
8485static void hdd_update_bss_score_params(struct hdd_config *config,
8486 struct sir_score_config *score_params)
8487{
8488 int total_weight;
8489
8490 score_params->enable_scoring_for_roam =
8491 config->enable_scoring_for_roam;
8492 score_params->weight_cfg.rssi_weightage = config->rssi_weightage;
8493 score_params->weight_cfg.ht_caps_weightage = config->ht_caps_weightage;
8494 score_params->weight_cfg.vht_caps_weightage =
8495 config->vht_caps_weightage;
8496 score_params->weight_cfg.he_caps_weightage =
8497 config->he_caps_weightage;
8498 score_params->weight_cfg.chan_width_weightage =
8499 config->chan_width_weightage;
8500 score_params->weight_cfg.chan_band_weightage =
8501 config->chan_band_weightage;
8502 score_params->weight_cfg.nss_weightage = config->nss_weightage;
8503 score_params->weight_cfg.beamforming_cap_weightage =
8504 config->beamforming_cap_weightage;
8505 score_params->weight_cfg.pcl_weightage = config->pcl_weightage;
8506 score_params->weight_cfg.channel_congestion_weightage =
8507 config->channel_congestion_weightage;
8508 score_params->weight_cfg.oce_wan_weightage = config->oce_wan_weightage;
8509
8510 total_weight = score_params->weight_cfg.rssi_weightage +
8511 score_params->weight_cfg.ht_caps_weightage +
8512 score_params->weight_cfg.vht_caps_weightage +
8513 score_params->weight_cfg.he_caps_weightage +
8514 score_params->weight_cfg.chan_width_weightage +
8515 score_params->weight_cfg.chan_band_weightage +
8516 score_params->weight_cfg.nss_weightage +
8517 score_params->weight_cfg.beamforming_cap_weightage +
8518 score_params->weight_cfg.pcl_weightage +
8519 score_params->weight_cfg.channel_congestion_weightage +
8520 score_params->weight_cfg.oce_wan_weightage;
8521
8522 if (total_weight > BEST_CANDIDATE_MAX_WEIGHT) {
8523 hdd_err("total weight is greater than %d fallback to default values",
8524 BEST_CANDIDATE_MAX_WEIGHT);
8525
8526 score_params->weight_cfg.rssi_weightage = RSSI_WEIGHTAGE;
8527 score_params->weight_cfg.ht_caps_weightage =
8528 HT_CAPABILITY_WEIGHTAGE;
8529 score_params->weight_cfg.vht_caps_weightage = VHT_CAP_WEIGHTAGE;
8530 score_params->weight_cfg.he_caps_weightage = HE_CAP_WEIGHTAGE;
8531 score_params->weight_cfg.chan_width_weightage =
8532 CHAN_WIDTH_WEIGHTAGE;
8533 score_params->weight_cfg.chan_band_weightage =
8534 CHAN_BAND_WEIGHTAGE;
8535 score_params->weight_cfg.nss_weightage = NSS_WEIGHTAGE;
8536 score_params->weight_cfg.beamforming_cap_weightage =
8537 BEAMFORMING_CAP_WEIGHTAGE;
8538 score_params->weight_cfg.pcl_weightage = PCL_WEIGHT;
8539 score_params->weight_cfg.channel_congestion_weightage =
8540 CHANNEL_CONGESTION_WEIGHTAGE;
8541 score_params->weight_cfg.oce_wan_weightage = OCE_WAN_WEIGHTAGE;
8542 }
8543
8544 score_params->bandwidth_weight_per_index =
8545 hdd_limit_max_per_index_score(
8546 config->bandwidth_weight_per_index);
8547 score_params->nss_weight_per_index =
8548 hdd_limit_max_per_index_score(config->nss_weight_per_index);
8549 score_params->band_weight_per_index =
8550 hdd_limit_max_per_index_score(config->band_weight_per_index);
8551
8552 score_params->rssi_score.best_rssi_threshold =
8553 config->best_rssi_threshold;
8554 score_params->rssi_score.good_rssi_threshold =
8555 config->good_rssi_threshold;
8556 score_params->rssi_score.bad_rssi_threshold =
8557 config->bad_rssi_threshold;
8558 score_params->rssi_score.good_rssi_pcnt = config->good_rssi_pcnt;
8559 score_params->rssi_score.bad_rssi_pcnt = config->bad_rssi_pcnt;
8560 score_params->rssi_score.good_rssi_bucket_size =
8561 config->good_rssi_bucket_size;
8562 score_params->rssi_score.bad_rssi_bucket_size =
8563 config->bad_rssi_bucket_size;
8564 score_params->rssi_score.rssi_pref_5g_rssi_thresh =
8565 config->rssi_pref_5g_rssi_thresh;
8566
8567 score_params->esp_qbss_scoring.num_slot = config->num_esp_qbss_slots;
8568 score_params->esp_qbss_scoring.score_pcnt3_to_0 =
8569 hdd_limit_max_per_index_score(
8570 config->esp_qbss_score_slots3_to_0);
8571 score_params->esp_qbss_scoring.score_pcnt7_to_4 =
8572 hdd_limit_max_per_index_score(
8573 config->esp_qbss_score_slots7_to_4);
8574 score_params->esp_qbss_scoring.score_pcnt11_to_8 =
8575 hdd_limit_max_per_index_score(
8576 config->esp_qbss_score_slots11_to_8);
8577 score_params->esp_qbss_scoring.score_pcnt15_to_12 =
8578 hdd_limit_max_per_index_score(
8579 config->esp_qbss_score_slots15_to_12);
8580
8581 score_params->oce_wan_scoring.num_slot = config->num_oce_wan_slots;
8582 score_params->oce_wan_scoring.score_pcnt3_to_0 =
8583 hdd_limit_max_per_index_score(
8584 config->oce_wan_score_slots3_to_0);
8585 score_params->oce_wan_scoring.score_pcnt7_to_4 =
8586 hdd_limit_max_per_index_score(
8587 config->oce_wan_score_slots7_to_4);
8588 score_params->oce_wan_scoring.score_pcnt11_to_8 =
8589 hdd_limit_max_per_index_score(
8590 config->oce_wan_score_slots11_to_8);
8591 score_params->oce_wan_scoring.score_pcnt15_to_12 =
8592 hdd_limit_max_per_index_score(
8593 config->oce_wan_score_slots15_to_12);
8594}
8595
8596/**
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05308597 * hdd_update_11k_offload_params() - initializes the 11k offload related params
8598 *
8599 * @config: pointer to hdd_config structure
8600 * @csr_config: pointer to the csr config structure
8601 *
8602 * Return: None
8603 */
8604static
8605void hdd_update_11k_offload_params(struct hdd_config *config,
8606 tCsrConfigParam *csr_config)
8607{
8608 csr_config->offload_11k_enable_bitmask =
8609 config->offload_11k_enable_bitmask;
8610 csr_config->neighbor_report_offload.params_bitmask =
8611 config->neighbor_report_offload_params_bitmask;
8612 csr_config->neighbor_report_offload.time_offset =
8613 config->neighbor_report_offload_time_offset;
8614 csr_config->neighbor_report_offload.low_rssi_offset =
8615 config->neighbor_report_offload_low_rssi_offset;
8616 csr_config->neighbor_report_offload.bmiss_count_trigger =
8617 config->neighbor_report_offload_bmiss_count_trigger;
8618 csr_config->neighbor_report_offload.per_threshold_offset =
8619 config->neighbor_report_offload_per_threshold_offset;
8620 csr_config->neighbor_report_offload.neighbor_report_cache_timeout =
8621 config->neighbor_report_offload_cache_timeout;
8622 csr_config->neighbor_report_offload.max_neighbor_report_req_cap =
8623 config->neighbor_report_offload_max_req_cap;
8624}
8625
8626/**
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008627 * hdd_set_sme_config() -initializes the sme configuration parameters
8628 *
Jeff Johnson723234b2017-09-03 08:49:15 -07008629 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008630 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308631 * Return: QDF_STATUS_SUCCESS if configuration is correctly applied,
8632 * otherwise the appropriate QDF_STATUS would be returned
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008633 */
Jeff Johnson723234b2017-09-03 08:49:15 -07008634QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008635{
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308636 QDF_STATUS status = QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008637 tSmeConfigParams *smeConfig;
Yeshwanth Sriram Guntuka2ba6fe92017-10-04 14:40:45 +05308638 uint8_t rrm_capab_len, val;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008639
Jeff Johnson723234b2017-09-03 08:49:15 -07008640 struct hdd_config *pConfig = hdd_ctx->config;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008641
Anurag Chouhan600c3a02016-03-01 10:33:54 +05308642 smeConfig = qdf_mem_malloc(sizeof(*smeConfig));
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008643 if (NULL == smeConfig) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08008644 hdd_err("unable to allocate smeConfig");
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05308645 return QDF_STATUS_E_NOMEM;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008646 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008647
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07008648 hdd_debug("%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d",
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008649 __func__, pConfig->WmmMode, pConfig->b80211eIsEnabled,
8650 pConfig->dot11Mode);
8651
8652 /* Config params obtained from the registry
8653 * To Do: set regulatory information here
8654 */
8655
8656 smeConfig->csrConfig.RTSThreshold = pConfig->RTSThreshold;
8657 smeConfig->csrConfig.FragmentationThreshold =
8658 pConfig->FragmentationThreshold;
8659 smeConfig->csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
8660 smeConfig->csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
8661 smeConfig->csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
8662
8663 smeConfig->csrConfig.phyMode =
8664 hdd_cfg_xlate_to_csr_phy_mode(pConfig->dot11Mode);
8665
8666 if (pConfig->dot11Mode == eHDD_DOT11_MODE_abg ||
8667 pConfig->dot11Mode == eHDD_DOT11_MODE_11b ||
8668 pConfig->dot11Mode == eHDD_DOT11_MODE_11g ||
8669 pConfig->dot11Mode == eHDD_DOT11_MODE_11b_ONLY ||
8670 pConfig->dot11Mode == eHDD_DOT11_MODE_11g_ONLY) {
8671 smeConfig->csrConfig.channelBondingMode24GHz = 0;
8672 smeConfig->csrConfig.channelBondingMode5GHz = 0;
8673 } else {
8674 smeConfig->csrConfig.channelBondingMode24GHz =
8675 pConfig->nChannelBondingMode24GHz;
8676 smeConfig->csrConfig.channelBondingMode5GHz =
8677 pConfig->nChannelBondingMode5GHz;
8678 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008679 smeConfig->csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008680 smeConfig->csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
8681 smeConfig->csrConfig.fSupplicantCountryCodeHasPriority =
8682 pConfig->fSupplicantCountryCodeHasPriority;
8683 smeConfig->csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
8684 smeConfig->csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
8685 smeConfig->csrConfig.vccUlMacLossThreshold =
8686 pConfig->nVccUlMacLossThreshold;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008687 smeConfig->csrConfig.nInitialDwellTime = pConfig->nInitialDwellTime;
8688 smeConfig->csrConfig.initial_scan_no_dfs_chnl =
8689 pConfig->initial_scan_no_dfs_chnl;
8690 smeConfig->csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
8691 smeConfig->csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
8692 smeConfig->csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
8693 smeConfig->csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008694 smeConfig->csrConfig.nActiveMaxChnTimeConc =
8695 pConfig->nActiveMaxChnTimeConc;
8696 smeConfig->csrConfig.nActiveMinChnTimeConc =
8697 pConfig->nActiveMinChnTimeConc;
8698 smeConfig->csrConfig.nPassiveMaxChnTimeConc =
8699 pConfig->nPassiveMaxChnTimeConc;
8700 smeConfig->csrConfig.nPassiveMinChnTimeConc =
8701 pConfig->nPassiveMinChnTimeConc;
8702 smeConfig->csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Agrawal Ashish17bb3902016-05-05 13:29:40 +05308703 smeConfig->csrConfig.min_rest_time_conc = pConfig->min_rest_time_conc;
8704 smeConfig->csrConfig.idle_time_conc = pConfig->idle_time_conc;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008705
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008706 smeConfig->csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
Srinivas Girigowda3ea486d2017-06-28 17:19:49 -07008707 smeConfig->csrConfig.WMMSupportMode =
8708 hdd_to_csr_wmm_mode(pConfig->WmmMode);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008709
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08008710 smeConfig->rrmConfig.rrm_enabled = pConfig->fRrmEnable;
8711 smeConfig->rrmConfig.max_randn_interval = pConfig->nRrmRandnIntvl;
8712 hdd_hex_string_to_u8_array(pConfig->rm_capability,
8713 smeConfig->rrmConfig.rm_capability, &rrm_capab_len,
8714 DOT11F_IE_RRMENABLEDCAP_MAX_LEN);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008715 /* Remaining config params not obtained from registry
8716 * On RF EVB beacon using channel 1.
8717 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008718 smeConfig->csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
8719 smeConfig->csrConfig.enableTxBF = pConfig->enableTxBF;
Abhishek Singh68844282018-01-25 16:48:41 +05308720 smeConfig->csrConfig.enable_subfee_vendor_vhtie =
8721 pConfig->enable_subfee_vendor_vhtie;
8722
Kiran Kumar Lokere5302ab62015-12-16 16:03:16 -08008723 smeConfig->csrConfig.enable_txbf_sap_mode =
8724 pConfig->enable_txbf_sap_mode;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008725 smeConfig->csrConfig.enable2x2 = pConfig->enable2x2;
8726 smeConfig->csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Kapil Gupta4b2efbb2016-10-03 13:07:20 +05308727 smeConfig->csrConfig.vendor_vht_sap =
8728 pConfig->enable_sap_vendor_vht;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008729 smeConfig->csrConfig.enableMuBformee = pConfig->enableMuBformee;
8730 smeConfig->csrConfig.enableVhtpAid = pConfig->enableVhtpAid;
8731 smeConfig->csrConfig.enableVhtGid = pConfig->enableVhtGid;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008732 smeConfig->csrConfig.enableAmpduPs = pConfig->enableAmpduPs;
8733 smeConfig->csrConfig.enableHtSmps = pConfig->enableHtSmps;
8734 smeConfig->csrConfig.htSmps = pConfig->htSmps;
Archana Ramachandranfec24812016-02-16 16:31:56 -08008735 /* This param cannot be configured from INI */
8736 smeConfig->csrConfig.send_smps_action = true;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008737 smeConfig->csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
8738 smeConfig->csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
8739 smeConfig->csrConfig.ProprietaryRatesEnabled = 0;
8740 smeConfig->csrConfig.HeartbeatThresh50 = 40;
8741 smeConfig->csrConfig.bandCapability = pConfig->nBandCapability;
Varun Reddy Yeturua48bc412017-11-17 15:33:35 -08008742 if (pConfig->nBandCapability == BAND_2G) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008743 smeConfig->csrConfig.Is11hSupportEnabled = 0;
8744 } else {
8745 smeConfig->csrConfig.Is11hSupportEnabled =
8746 pConfig->Is11hSupportEnabled;
8747 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008748 smeConfig->csrConfig.eBand = pConfig->nBandCapability;
8749 smeConfig->csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
Padma, Santhosh Kumar29df3622016-08-16 19:15:16 +05308750 smeConfig->csrConfig.allow_tpc_from_ap = pConfig->allow_tpc_from_ap;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008751 smeConfig->csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
8752 smeConfig->csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008753 smeConfig->csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
8754 smeConfig->csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
8755 smeConfig->csrConfig.nProbes = pConfig->nProbes;
8756
8757 smeConfig->csrConfig.nRoamScanHomeAwayTime =
8758 pConfig->nRoamScanHomeAwayTime;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008759 smeConfig->csrConfig.fFirstScanOnly2GChnl =
8760 pConfig->enableFirstScan2GOnly;
8761
Peng Xuf5d60c82015-10-02 17:17:03 -07008762 smeConfig->csrConfig.Csr11dinfo.Channels.numChannels = 0;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008763
Jeff Johnson723234b2017-09-03 08:49:15 -07008764 hdd_set_power_save_offload_config(hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008765
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008766 smeConfig->csrConfig.isFastRoamIniFeatureEnabled =
8767 pConfig->isFastRoamIniFeatureEnabled;
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07008768 smeConfig->csrConfig.csr_mawc_config.mawc_enabled =
8769 pConfig->MAWCEnabled;
8770 smeConfig->csrConfig.csr_mawc_config.mawc_roam_enabled =
8771 pConfig->mawc_roam_enabled;
8772 smeConfig->csrConfig.csr_mawc_config.mawc_roam_traffic_threshold =
8773 pConfig->mawc_roam_traffic_threshold;
8774 smeConfig->csrConfig.csr_mawc_config.mawc_roam_ap_rssi_threshold =
8775 pConfig->mawc_roam_ap_rssi_threshold;
8776 smeConfig->csrConfig.csr_mawc_config.mawc_roam_rssi_high_adjust =
8777 pConfig->mawc_roam_rssi_high_adjust;
8778 smeConfig->csrConfig.csr_mawc_config.mawc_roam_rssi_low_adjust =
8779 pConfig->mawc_roam_rssi_low_adjust;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008780#ifdef FEATURE_WLAN_ESE
8781 smeConfig->csrConfig.isEseIniFeatureEnabled =
8782 pConfig->isEseIniFeatureEnabled;
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07008783 if (pConfig->isEseIniFeatureEnabled)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008784 pConfig->isFastTransitionEnabled = true;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008785#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008786 smeConfig->csrConfig.isFastTransitionEnabled =
8787 pConfig->isFastTransitionEnabled;
8788 smeConfig->csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Abhishek Singh34c0e632017-09-28 14:39:29 +05308789 smeConfig->csrConfig.rssi_abs_thresh = pConfig->rssi_abs_thresh;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008790 smeConfig->csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008791 smeConfig->csrConfig.isRoamOffloadScanEnabled =
8792 pConfig->isRoamOffloadScanEnabled;
8793 smeConfig->csrConfig.bFastRoamInConIniFeatureEnabled =
8794 pConfig->bFastRoamInConIniFeatureEnabled;
8795
8796 if (0 == smeConfig->csrConfig.isRoamOffloadScanEnabled) {
Srinivas Girigowdafbe8c7b2017-03-25 16:36:35 -07008797 /* Disable roaming in concurrency if roam scan
8798 * offload is disabled
8799 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008800 smeConfig->csrConfig.bFastRoamInConIniFeatureEnabled = 0;
8801 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008802 smeConfig->csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold =
8803 pConfig->nNeighborLookupRssiThreshold;
Varun Reddy Yeturu168134f2017-06-26 13:46:05 -07008804 smeConfig->csrConfig.neighborRoamConfig.rssi_thresh_offset_5g =
8805 pConfig->rssi_thresh_offset_5g;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008806 smeConfig->csrConfig.neighborRoamConfig.delay_before_vdev_stop =
8807 pConfig->delay_before_vdev_stop;
8808 smeConfig->csrConfig.neighborRoamConfig.nOpportunisticThresholdDiff =
8809 pConfig->nOpportunisticThresholdDiff;
8810 smeConfig->csrConfig.neighborRoamConfig.nRoamRescanRssiDiff =
8811 pConfig->nRoamRescanRssiDiff;
8812 smeConfig->csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime =
8813 pConfig->nNeighborScanMaxChanTime;
8814 smeConfig->csrConfig.neighborRoamConfig.nNeighborScanMinChanTime =
8815 pConfig->nNeighborScanMinChanTime;
8816 smeConfig->csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod =
8817 pConfig->nNeighborScanPeriod;
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +05308818 smeConfig->csrConfig.neighborRoamConfig.
8819 neighbor_scan_min_timer_period =
8820 pConfig->neighbor_scan_min_period;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008821 smeConfig->csrConfig.neighborRoamConfig.nMaxNeighborRetries =
8822 pConfig->nMaxNeighborReqTries;
8823 smeConfig->csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod =
8824 pConfig->nNeighborResultsRefreshPeriod;
8825 smeConfig->csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod =
8826 pConfig->nEmptyScanRefreshPeriod;
8827 hdd_string_to_u8_array(pConfig->neighborScanChanList,
8828 smeConfig->csrConfig.neighborRoamConfig.
8829 neighborScanChanList.channelList,
8830 &smeConfig->csrConfig.neighborRoamConfig.
8831 neighborScanChanList.numChannels,
8832 WNI_CFG_VALID_CHANNEL_LIST_LEN);
8833 smeConfig->csrConfig.neighborRoamConfig.nRoamBmissFirstBcnt =
8834 pConfig->nRoamBmissFirstBcnt;
8835 smeConfig->csrConfig.neighborRoamConfig.nRoamBmissFinalBcnt =
8836 pConfig->nRoamBmissFinalBcnt;
8837 smeConfig->csrConfig.neighborRoamConfig.nRoamBeaconRssiWeight =
8838 pConfig->nRoamBeaconRssiWeight;
8839 smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_max_count =
8840 pConfig->nhi_rssi_scan_max_count;
8841 smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_rssi_delta =
8842 pConfig->nhi_rssi_scan_rssi_delta;
8843 smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_delay =
8844 pConfig->nhi_rssi_scan_delay;
8845 smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_rssi_ub =
8846 pConfig->nhi_rssi_scan_rssi_ub;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008847 smeConfig->csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008848 smeConfig->csrConfig.allowDFSChannelRoam = pConfig->allowDFSChannelRoam;
8849
8850 /* Enable/Disable MCC */
8851 smeConfig->csrConfig.fEnableMCCMode = pConfig->enableMCC;
8852 smeConfig->csrConfig.mcc_rts_cts_prot_enable =
8853 pConfig->mcc_rts_cts_prot_enable;
8854 smeConfig->csrConfig.mcc_bcast_prob_resp_enable =
8855 pConfig->mcc_bcast_prob_resp_enable;
8856 smeConfig->csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
8857
8858 /* Scan Results Aging Time out value */
8859 smeConfig->csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
8860
Krunal Sonia2c0e412017-05-04 14:12:41 +05308861 smeConfig->csrConfig.enable_tx_ldpc = pConfig->enable_tx_ldpc;
8862 smeConfig->csrConfig.enable_rx_ldpc = pConfig->enable_rx_ldpc;
Krunal Soni158bfe62017-08-02 12:33:08 -07008863 smeConfig->csrConfig.disable_high_ht_mcs_2x2 =
8864 pConfig->disable_high_ht_mcs_2x2;
Kiran Kumar Lokere0e255172018-03-30 18:54:25 -07008865 smeConfig->csrConfig.enable_vht20_mcs9 = pConfig->enable_vht20_mcs9;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008866#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
8867 smeConfig->csrConfig.cc_switch_mode = pConfig->WlanMccToSccSwitchMode;
8868#endif
8869
Deepak Dhamdhere612392c2016-08-28 02:56:51 -07008870 smeConfig->csrConfig.max_amsdu_num = pConfig->max_amsdu_num;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008871 smeConfig->csrConfig.nSelect5GHzMargin = pConfig->nSelect5GHzMargin;
8872
8873 smeConfig->csrConfig.isCoalesingInIBSSAllowed =
Jeff Johnson723234b2017-09-03 08:49:15 -07008874 hdd_ctx->config->isCoalesingInIBSSAllowed;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008875 smeConfig->csrConfig.ignore_peer_erp_info =
8876 pConfig->ignore_peer_erp_info;
8877 /* update SSR config */
Jeff Johnson723234b2017-09-03 08:49:15 -07008878 sme_update_enable_ssr((tHalHandle) (hdd_ctx->hHal),
8879 hdd_ctx->config->enableSSR);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008880
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008881 /* Update maximum interfaces information */
Jeff Johnson723234b2017-09-03 08:49:15 -07008882 smeConfig->csrConfig.max_intf_count = hdd_ctx->max_intf_count;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008883
Jeff Johnson723234b2017-09-03 08:49:15 -07008884 smeConfig->csrConfig.fEnableDebugLog = hdd_ctx->config->gEnableDebugLog;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008885
Jeff Johnson723234b2017-09-03 08:49:15 -07008886 smeConfig->csrConfig.enable5gEBT = hdd_ctx->config->enable5gEBT;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008887
Krunal Soni1878d3a2016-01-14 13:00:44 -08008888 smeConfig->csrConfig.enableSelfRecovery =
Jeff Johnson723234b2017-09-03 08:49:15 -07008889 hdd_ctx->config->enableSelfRecovery;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008890#ifdef WLAN_FEATURE_ROAM_OFFLOAD
8891 smeConfig->csrConfig.isRoamOffloadEnabled =
Jeff Johnson723234b2017-09-03 08:49:15 -07008892 hdd_ctx->config->isRoamOffloadEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008893#endif
8894 smeConfig->csrConfig.conc_custom_rule1 =
Jeff Johnson723234b2017-09-03 08:49:15 -07008895 hdd_ctx->config->conc_custom_rule1;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008896 smeConfig->csrConfig.conc_custom_rule2 =
Jeff Johnson723234b2017-09-03 08:49:15 -07008897 hdd_ctx->config->conc_custom_rule2;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008898 smeConfig->csrConfig.is_sta_connection_in_5gz_enabled =
Jeff Johnson723234b2017-09-03 08:49:15 -07008899 hdd_ctx->config->is_sta_connection_in_5gz_enabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008900
Krunal Soni1878d3a2016-01-14 13:00:44 -08008901 smeConfig->csrConfig.f_sta_miracast_mcc_rest_time_val =
Jeff Johnson723234b2017-09-03 08:49:15 -07008902 hdd_ctx->config->sta_miracast_mcc_rest_time_val;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008903
8904#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
Krunal Soni1878d3a2016-01-14 13:00:44 -08008905 smeConfig->csrConfig.sap_channel_avoidance =
Jeff Johnson723234b2017-09-03 08:49:15 -07008906 hdd_ctx->config->sap_channel_avoidance;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008907#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
gaoleze5108942017-03-31 16:56:42 +08008908 smeConfig->csrConfig.acs_with_more_param =
Jeff Johnson723234b2017-09-03 08:49:15 -07008909 hdd_ctx->config->acs_with_more_param;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008910
Krunal Soni1878d3a2016-01-14 13:00:44 -08008911 smeConfig->csrConfig.f_prefer_non_dfs_on_radar =
Jeff Johnson723234b2017-09-03 08:49:15 -07008912 hdd_ctx->config->prefer_non_dfs_on_radar;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008913
Jeff Johnson723234b2017-09-03 08:49:15 -07008914 smeConfig->csrConfig.is_ps_enabled = hdd_ctx->config->is_ps_enabled;
Kiran Kumar Lokere0ac679c2016-11-17 17:43:36 -08008915 smeConfig->csrConfig.auto_bmps_timer_val =
Jeff Johnson723234b2017-09-03 08:49:15 -07008916 hdd_ctx->config->auto_bmps_timer_val;
Naveen Rawatd2657be2017-10-10 14:31:23 -07008917 hdd_set_fine_time_meas_cap(hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008918
Jeff Johnson723234b2017-09-03 08:49:15 -07008919 cds_set_multicast_logging(hdd_ctx->config->multicast_host_fw_msgs);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008920
Jeff Johnson1ad3fbd2017-11-03 08:00:02 -07008921 smeConfig->csrConfig.send_deauth_before_con =
8922 pConfig->send_deauth_before_con;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008923
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008924 smeConfig->csrConfig.max_scan_count =
Jeff Johnson723234b2017-09-03 08:49:15 -07008925 hdd_ctx->config->max_scan_count;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008926
8927 /* Update 802.11p config */
8928 smeConfig->csrConfig.enable_dot11p =
Jeff Johnson723234b2017-09-03 08:49:15 -07008929 (hdd_ctx->config->dot11p_mode != WLAN_HDD_11P_DISABLED);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08008930
Krunal Soni1878d3a2016-01-14 13:00:44 -08008931 smeConfig->csrConfig.early_stop_scan_enable =
Jeff Johnson723234b2017-09-03 08:49:15 -07008932 hdd_ctx->config->early_stop_scan_enable;
Krunal Soni1878d3a2016-01-14 13:00:44 -08008933 smeConfig->csrConfig.early_stop_scan_min_threshold =
Jeff Johnson723234b2017-09-03 08:49:15 -07008934 hdd_ctx->config->early_stop_scan_min_threshold;
Krunal Soni1878d3a2016-01-14 13:00:44 -08008935 smeConfig->csrConfig.early_stop_scan_max_threshold =
Jeff Johnson723234b2017-09-03 08:49:15 -07008936 hdd_ctx->config->early_stop_scan_max_threshold;
Varun Reddy Yeturu044bda22015-11-21 22:03:40 -08008937 smeConfig->csrConfig.first_scan_bucket_threshold =
Jeff Johnson723234b2017-09-03 08:49:15 -07008938 hdd_ctx->config->first_scan_bucket_threshold;
Gupta, Kapilc68ad462016-02-01 19:17:23 +05308939
8940 smeConfig->csrConfig.roam_dense_rssi_thresh_offset =
Jeff Johnson723234b2017-09-03 08:49:15 -07008941 hdd_ctx->config->roam_dense_rssi_thresh_offset;
Gupta, Kapilc68ad462016-02-01 19:17:23 +05308942 smeConfig->csrConfig.roam_dense_min_aps =
Jeff Johnson723234b2017-09-03 08:49:15 -07008943 hdd_ctx->config->roam_dense_min_aps;
Gupta, Kapilc68ad462016-02-01 19:17:23 +05308944 smeConfig->csrConfig.roam_dense_traffic_thresh =
Jeff Johnson723234b2017-09-03 08:49:15 -07008945 hdd_ctx->config->roam_dense_traffic_thresh;
Varun Reddy Yeturufaad37e2017-07-26 10:54:13 -07008946 smeConfig->csrConfig.roam_bg_scan_bad_rssi_thresh =
8947 hdd_ctx->config->roam_bg_scan_bad_rssi_thresh;
8948 smeConfig->csrConfig.roam_bg_scan_client_bitmap =
8949 hdd_ctx->config->roam_bg_scan_client_bitmap;
Vignesh Viswanathanc018e982017-09-07 18:49:19 +05308950 smeConfig->csrConfig.roam_bad_rssi_thresh_offset_2g =
8951 hdd_ctx->config->roam_bad_rssi_thresh_offset_2g;
Abhinav Kumara083f212018-04-05 18:49:45 +05308952 smeConfig->csrConfig.ho_delay_for_rx =
8953 hdd_ctx->config->ho_delay_for_rx;
Abhinav Kumara95af7c2018-04-06 17:08:00 +05308954 smeConfig->csrConfig.min_delay_btw_roam_scans =
8955 hdd_ctx->config->min_delay_btw_roam_scans;
8956 smeConfig->csrConfig.roam_trigger_reason_bitmask =
8957 hdd_ctx->config->roam_trigger_reason_bitmask;
Sandeep Puligilla93a29ec2016-02-12 16:10:56 -08008958 smeConfig->csrConfig.obss_width_interval =
Jeff Johnson723234b2017-09-03 08:49:15 -07008959 hdd_ctx->config->obss_width_trigger_interval;
Sandeep Puligilla93a29ec2016-02-12 16:10:56 -08008960 smeConfig->csrConfig.obss_active_dwelltime =
Jeff Johnson723234b2017-09-03 08:49:15 -07008961 hdd_ctx->config->obss_active_dwelltime;
Sandeep Puligilla93a29ec2016-02-12 16:10:56 -08008962 smeConfig->csrConfig.obss_passive_dwelltime =
Jeff Johnson723234b2017-09-03 08:49:15 -07008963 hdd_ctx->config->obss_passive_dwelltime;
Abhishek Singh165bc602016-03-21 12:43:00 +05308964 smeConfig->csrConfig.ignore_peer_ht_opmode =
8965 pConfig->ignore_peer_ht_opmode;
Abhishek Singh5ea86532016-04-27 14:10:53 +05308966 smeConfig->csrConfig.enable_fatal_event =
8967 pConfig->enable_fatal_event;
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05308968 smeConfig->csrConfig.scan_adaptive_dwell_mode =
Jeff Johnson723234b2017-09-03 08:49:15 -07008969 hdd_ctx->config->scan_adaptive_dwell_mode;
Paul Zhang72697bd2017-12-20 09:24:25 +08008970 smeConfig->csrConfig.scan_adaptive_dwell_mode_nc =
8971 hdd_ctx->config->scan_adaptive_dwell_mode_nc;
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05308972 smeConfig->csrConfig.roamscan_adaptive_dwell_mode =
Jeff Johnson723234b2017-09-03 08:49:15 -07008973 hdd_ctx->config->roamscan_adaptive_dwell_mode;
Abhinav Kumar271f0632018-03-29 16:01:30 +05308974 smeConfig->csrConfig.enable_ftopen =
8975 hdd_ctx->config->enable_ftopen;
Abhinav Kumaredd1d372018-05-11 15:33:35 +05308976 smeConfig->csrConfig.roam_force_rssi_trigger =
8977 hdd_ctx->config->roam_force_rssi_trigger;
Gupta, Kapilc68ad462016-02-01 19:17:23 +05308978
Jeff Johnson723234b2017-09-03 08:49:15 -07008979 hdd_update_per_config_to_sme(hdd_ctx, smeConfig);
Kapil Gupta5cda2252016-12-29 18:44:26 +05308980
Abhishek Singh10ecf582016-05-04 17:48:59 +05308981 smeConfig->csrConfig.enable_edca_params =
8982 pConfig->enable_edca_params;
8983
8984 smeConfig->csrConfig.edca_vo_cwmin =
8985 pConfig->edca_vo_cwmin;
8986 smeConfig->csrConfig.edca_vi_cwmin =
8987 pConfig->edca_vi_cwmin;
8988 smeConfig->csrConfig.edca_bk_cwmin =
8989 pConfig->edca_bk_cwmin;
8990 smeConfig->csrConfig.edca_be_cwmin =
8991 pConfig->edca_be_cwmin;
8992
8993 smeConfig->csrConfig.edca_vo_cwmax =
8994 pConfig->edca_vo_cwmax;
8995 smeConfig->csrConfig.edca_vi_cwmax =
8996 pConfig->edca_vi_cwmax;
8997 smeConfig->csrConfig.edca_bk_cwmax =
8998 pConfig->edca_bk_cwmax;
8999 smeConfig->csrConfig.edca_be_cwmax =
9000 pConfig->edca_be_cwmax;
9001
9002 smeConfig->csrConfig.edca_vo_aifs =
9003 pConfig->edca_vo_aifs;
9004 smeConfig->csrConfig.edca_vi_aifs =
9005 pConfig->edca_vi_aifs;
9006 smeConfig->csrConfig.edca_bk_aifs =
9007 pConfig->edca_bk_aifs;
9008 smeConfig->csrConfig.edca_be_aifs =
9009 pConfig->edca_be_aifs;
Agrawal Ashish21ba2572016-09-03 16:40:10 +05309010 smeConfig->csrConfig.sta_roam_policy_params.dfs_mode =
9011 CSR_STA_ROAM_POLICY_DFS_ENABLED;
9012 smeConfig->csrConfig.sta_roam_policy_params.skip_unsafe_channels = 0;
Abhishek Singh10ecf582016-05-04 17:48:59 +05309013
Jeff Johnson723234b2017-09-03 08:49:15 -07009014 smeConfig->snr_monitor_enabled = hdd_ctx->config->fEnableSNRMonitoring;
Kapil Gupta4f0c0c12017-02-07 15:21:15 +05309015
Padma, Santhosh Kumara7119672016-08-16 16:05:14 +05309016 smeConfig->csrConfig.tx_aggregation_size =
Jeff Johnson723234b2017-09-03 08:49:15 -07009017 hdd_ctx->config->tx_aggregation_size;
Paul Zhangee09f8e2018-04-23 16:11:32 +08009018 smeConfig->csrConfig.tx_aggregation_size_be =
9019 hdd_ctx->config->tx_aggregation_size_be;
9020 smeConfig->csrConfig.tx_aggregation_size_bk =
9021 hdd_ctx->config->tx_aggregation_size_bk;
9022 smeConfig->csrConfig.tx_aggregation_size_vi =
9023 hdd_ctx->config->tx_aggregation_size_vi;
9024 smeConfig->csrConfig.tx_aggregation_size_vo =
9025 hdd_ctx->config->tx_aggregation_size_vo;
Padma, Santhosh Kumara7119672016-08-16 16:05:14 +05309026 smeConfig->csrConfig.rx_aggregation_size =
Jeff Johnson723234b2017-09-03 08:49:15 -07009027 hdd_ctx->config->rx_aggregation_size;
Paul Zhang33fae272018-04-23 16:19:00 +08009028 smeConfig->csrConfig.tx_aggr_sw_retry_threshold_be =
9029 hdd_ctx->config->tx_aggr_sw_retry_threshold_be;
9030 smeConfig->csrConfig.tx_aggr_sw_retry_threshold_bk =
9031 hdd_ctx->config->tx_aggr_sw_retry_threshold_bk;
9032 smeConfig->csrConfig.tx_aggr_sw_retry_threshold_vi =
9033 hdd_ctx->config->tx_aggr_sw_retry_threshold_vi;
9034 smeConfig->csrConfig.tx_aggr_sw_retry_threshold_vo =
9035 hdd_ctx->config->tx_aggr_sw_retry_threshold_vo;
Selvaraj, Sridhar4f684bb2017-01-19 15:59:23 +05309036 smeConfig->csrConfig.enable_bcast_probe_rsp =
Jeff Johnson723234b2017-09-03 08:49:15 -07009037 hdd_ctx->config->enable_bcast_probe_rsp;
Vignesh Viswanathan32761e42017-09-25 17:10:54 +05309038 smeConfig->csrConfig.is_fils_enabled =
9039 hdd_ctx->config->is_fils_enabled;
Selvaraj, Sridhara521aab2017-03-25 16:42:34 +05309040 smeConfig->csrConfig.qcn_ie_support =
Jeff Johnson723234b2017-09-03 08:49:15 -07009041 hdd_ctx->config->qcn_ie_support;
Selvaraj, Sridhar97ce6582017-01-20 17:06:34 +05309042 smeConfig->csrConfig.fils_max_chan_guard_time =
Jeff Johnson723234b2017-09-03 08:49:15 -07009043 hdd_ctx->config->fils_max_chan_guard_time;
Padma, Santhosh Kumara7119672016-08-16 16:05:14 +05309044
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08009045 hdd_he_set_sme_config(smeConfig, pConfig);
9046
Paul Zhang99fe8842017-12-08 14:43:46 +08009047 smeConfig->csrConfig.wlm_latency_enable =
9048 hdd_ctx->config->wlm_latency_enable;
9049 smeConfig->csrConfig.wlm_latency_level =
9050 hdd_ctx->config->wlm_latency_level;
9051 smeConfig->csrConfig.wlm_latency_flags[0] =
9052 hdd_ctx->config->wlm_latency_flags_normal;
9053 smeConfig->csrConfig.wlm_latency_flags[1] =
9054 hdd_ctx->config->wlm_latency_flags_moderate;
9055 smeConfig->csrConfig.wlm_latency_flags[2] =
9056 hdd_ctx->config->wlm_latency_flags_low;
9057 smeConfig->csrConfig.wlm_latency_flags[3] =
9058 hdd_ctx->config->wlm_latency_flags_ultralow;
9059
Naveen Rawat2b6e3c92017-03-20 13:59:07 -07009060 smeConfig->csrConfig.pkt_err_disconn_th =
Jeff Johnson723234b2017-09-03 08:49:15 -07009061 hdd_ctx->config->pkt_err_disconn_th;
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05309062 smeConfig->csrConfig.disallow_duration =
Jeff Johnson723234b2017-09-03 08:49:15 -07009063 hdd_ctx->config->disallow_duration;
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05309064 smeConfig->csrConfig.rssi_channel_penalization =
Jeff Johnson723234b2017-09-03 08:49:15 -07009065 hdd_ctx->config->rssi_channel_penalization;
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05309066 smeConfig->csrConfig.num_disallowed_aps =
Jeff Johnson723234b2017-09-03 08:49:15 -07009067 hdd_ctx->config->num_disallowed_aps;
Selvaraj, Sridhar57ce4df2017-05-29 18:30:49 +05309068
Naveen Rawatb2fc4132017-05-10 20:42:05 -07009069 smeConfig->csrConfig.is_force_1x1 =
Jeff Johnson723234b2017-09-03 08:49:15 -07009070 hdd_ctx->config->is_force_1x1;
Naveen Rawat247a8682017-06-05 15:00:31 -07009071 smeConfig->csrConfig.num_11b_tx_chains =
Jeff Johnson723234b2017-09-03 08:49:15 -07009072 hdd_ctx->config->num_11b_tx_chains;
Naveen Rawat247a8682017-06-05 15:00:31 -07009073 smeConfig->csrConfig.num_11ag_tx_chains =
Jeff Johnson723234b2017-09-03 08:49:15 -07009074 hdd_ctx->config->num_11ag_tx_chains;
Yeshwanth Sriram Guntuka2ba6fe92017-10-04 14:40:45 +05309075 val = (pConfig->oce_probe_req_rate_enabled *
9076 WMI_VDEV_OCE_PROBE_REQUEST_RATE_FEATURE_BITMAP) +
9077 (pConfig->oce_probe_resp_rate_enabled *
9078 WMI_VDEV_OCE_PROBE_RESPONSE_RATE_FEATURE_BITMAP) +
9079 (pConfig->oce_beacon_rate_enabled *
9080 WMI_VDEV_OCE_BEACON_RATE_FEATURE_BITMAP) +
9081 (pConfig->probe_req_deferral_enabled *
9082 WMI_VDEV_OCE_PROBE_REQUEST_DEFERRAL_FEATURE_BITMAP) +
9083 (pConfig->fils_discovery_sap_enabled *
9084 WMI_VDEV_OCE_FILS_DISCOVERY_FRAME_FEATURE_BITMAP) +
9085 (pConfig->esp_for_roam_enabled *
9086 WMI_VDEV_OCE_ESP_FEATURE_BITMAP) +
9087 (pConfig->rssi_assoc_reject_enabled *
9088 WMI_VDEV_OCE_REASSOC_REJECT_FEATURE_BITMAP);
9089 smeConfig->csrConfig.oce_feature_bitmap = val;
Vignesh Viswanathan9dd88d32017-11-22 14:22:03 +05309090 smeConfig->csrConfig.mbo_thresholds.mbo_candidate_rssi_thres =
9091 hdd_ctx->config->mbo_candidate_rssi_thres;
9092 smeConfig->csrConfig.mbo_thresholds.mbo_current_rssi_thres =
9093 hdd_ctx->config->mbo_current_rssi_thres;
9094 smeConfig->csrConfig.mbo_thresholds.mbo_current_rssi_mcc_thres =
9095 hdd_ctx->config->mbo_current_rssi_mcc_thres;
9096 smeConfig->csrConfig.mbo_thresholds.mbo_candidate_rssi_btc_thres =
9097 hdd_ctx->config->mbo_candidate_rssi_btc_thres;
Jiachao Wu84bb2ea2018-01-08 16:17:33 +08009098 smeConfig->csrConfig.btm_offload_config =
9099 hdd_ctx->config->btm_offload_config;
9100 smeConfig->csrConfig.btm_solicited_timeout =
9101 hdd_ctx->config->btm_solicited_timeout;
9102 smeConfig->csrConfig.btm_max_attempt_cnt =
9103 hdd_ctx->config->btm_max_attempt_cnt;
9104 smeConfig->csrConfig.btm_sticky_time =
9105 hdd_ctx->config->btm_sticky_time;
Himanshu Agarwal8bcec572017-09-28 11:54:37 +05309106 hdd_update_bss_score_params(hdd_ctx->config,
9107 &smeConfig->csrConfig.bss_score_params);
9108
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05309109 hdd_update_11k_offload_params(hdd_ctx->config,
9110 &smeConfig->csrConfig);
9111
Jeff Johnson723234b2017-09-03 08:49:15 -07009112 status = sme_update_config(hdd_ctx->hHal, smeConfig);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07009113 if (!QDF_IS_STATUS_SUCCESS(status))
9114 hdd_err("sme_update_config() failure: %d", status);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009115
Anurag Chouhan600c3a02016-03-01 10:33:54 +05309116 qdf_mem_free(smeConfig);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009117 return status;
9118}
9119
9120/**
9121 * hdd_execute_global_config_command() - execute the global config command
Jeff Johnson723234b2017-09-03 08:49:15 -07009122 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009123 * @command: the command to run
9124 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309125 * Return: the QDF_STATUS return from hdd_execute_config_command
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009126 */
Jeff Johnson723234b2017-09-03 08:49:15 -07009127QDF_STATUS hdd_execute_global_config_command(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009128 char *command)
9129{
9130 return hdd_execute_config_command(g_registry_table,
9131 ARRAY_SIZE(g_registry_table),
Jeff Johnson723234b2017-09-03 08:49:15 -07009132 (uint8_t *) hdd_ctx->config,
9133 hdd_ctx, command);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009134}
9135
9136/**
9137 * hdd_cfg_get_global_config() - get the configuration table
Jeff Johnson723234b2017-09-03 08:49:15 -07009138 * @hdd_ctx: pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009139 * @pBuf: buffer to store the configuration
9140 * @buflen: size of the buffer
9141 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309142 * Return: QDF_STATUS_SUCCESS if the configuration and buffer size can carry
9143 * the content, otherwise QDF_STATUS_E_RESOURCES
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009144 */
Jeff Johnson723234b2017-09-03 08:49:15 -07009145QDF_STATUS hdd_cfg_get_global_config(struct hdd_context *hdd_ctx, char *pBuf,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009146 int buflen)
9147{
9148 return hdd_cfg_get_config(g_registry_table,
9149 ARRAY_SIZE(g_registry_table),
Jeff Johnson723234b2017-09-03 08:49:15 -07009150 (uint8_t *) hdd_ctx->config, hdd_ctx, pBuf,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009151 buflen);
9152}
9153
9154/**
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08009155 * hdd_get_pmkid_modes() - returns PMKID mode bits
Jeff Johnson723234b2017-09-03 08:49:15 -07009156 * @hdd_ctx: the pointer to hdd context
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009157 *
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08009158 * Return: value of pmkid_modes
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009159 */
Jeff Johnson723234b2017-09-03 08:49:15 -07009160void hdd_get_pmkid_modes(struct hdd_context *hdd_ctx,
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08009161 struct pmkid_mode_bits *pmkid_modes)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009162{
Jeff Johnson723234b2017-09-03 08:49:15 -07009163 pmkid_modes->fw_okc = (hdd_ctx->config->pmkid_modes &
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08009164 CFG_PMKID_MODES_OKC) ? 1 : 0;
Jeff Johnson723234b2017-09-03 08:49:15 -07009165 pmkid_modes->fw_pmksa_cache = (hdd_ctx->config->pmkid_modes &
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08009166 CFG_PMKID_MODES_PMKSA_CACHING) ? 1 : 0;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009167}
9168
Jeff Johnsonb6909be2017-08-28 12:07:19 -07009169bool hdd_validate_prb_req_ie_bitmap(struct hdd_context *hdd_ctx)
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05309170{
9171 if (!(hdd_ctx->config->probe_req_ie_bitmap_0 ||
9172 hdd_ctx->config->probe_req_ie_bitmap_1 ||
9173 hdd_ctx->config->probe_req_ie_bitmap_2 ||
9174 hdd_ctx->config->probe_req_ie_bitmap_3 ||
9175 hdd_ctx->config->probe_req_ie_bitmap_4 ||
9176 hdd_ctx->config->probe_req_ie_bitmap_5 ||
9177 hdd_ctx->config->probe_req_ie_bitmap_6 ||
9178 hdd_ctx->config->probe_req_ie_bitmap_7))
9179 return false;
9180
9181 /*
9182 * check whether vendor oui IE is set and OUIs are present, each OUI
9183 * is entered in the form of string of 8 characters from ini, therefore,
9184 * for atleast one OUI, minimum length is 8 and hence this string length
9185 * is checked for minimum of 8
9186 */
9187 if ((hdd_ctx->config->probe_req_ie_bitmap_6 &
9188 VENDOR_SPECIFIC_IE_BITMAP) &&
9189 (strlen(hdd_ctx->config->probe_req_ouis) < 8))
9190 return false;
9191
9192 /* check whether vendor oui IE is not set but OUIs are present */
9193 if (!(hdd_ctx->config->probe_req_ie_bitmap_6 &
9194 VENDOR_SPECIFIC_IE_BITMAP) &&
9195 (strlen(hdd_ctx->config->probe_req_ouis) > 0))
9196 return false;
9197
9198 return true;
9199}
9200
Jeff Johnsonb6909be2017-08-28 12:07:19 -07009201int hdd_parse_probe_req_ouis(struct hdd_context *hdd_ctx)
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05309202{
9203 uint32_t *voui = hdd_ctx->config->probe_req_voui;
9204 char *str;
9205 uint8_t *token;
9206 uint32_t oui_indx = 0;
9207 int ret;
9208 uint32_t hex_value;
9209
9210 str = (char *)(hdd_ctx->config->probe_req_ouis);
9211 str[MAX_PRB_REQ_VENDOR_OUI_INI_LEN - 1] = '\0';
9212 hdd_ctx->config->no_of_probe_req_ouis = 0;
9213
9214 if (!strlen(str)) {
9215 hdd_info("NO OUIS to parse");
9216 return 0;
9217 }
9218
9219 token = strsep(&str, " ");
9220 while (token) {
9221 if (strlen(token) != 8)
9222 goto next_token;
9223
9224 ret = kstrtouint(token, 16, &hex_value);
9225 if (ret)
9226 goto next_token;
9227
9228 voui[oui_indx++] = cpu_to_be32(hex_value);
9229 if (oui_indx >= MAX_PROBE_REQ_OUIS)
9230 break;
9231
Jeff Johnson59eb5fd2017-10-05 09:42:39 -07009232next_token:
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05309233 token = strsep(&str, " ");
9234 }
9235
9236 if (!oui_indx)
9237 return -EINVAL;
9238
9239 hdd_ctx->config->no_of_probe_req_ouis = oui_indx;
9240
9241 return 0;
9242}
9243
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009244/**
9245 * hdd_update_nss() - Update the number of spatial streams supported.
9246 * Ensure that nss is either 1 or 2 before calling this.
9247 *
Kiran Kumar Lokere44a29432018-01-24 16:10:30 -08009248 * @adapter: the pointer to adapter
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009249 * @nss: the number of spatial streams to be updated
9250 *
9251 * This function is used to modify the number of spatial streams
9252 * supported when not in connected state.
9253 *
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309254 * Return: QDF_STATUS_SUCCESS if nss is correctly updated,
9255 * otherwise QDF_STATUS_E_FAILURE would be returned
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009256 */
Kiran Kumar Lokere44a29432018-01-24 16:10:30 -08009257QDF_STATUS hdd_update_nss(struct hdd_adapter *adapter, uint8_t nss)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009258{
Kiran Kumar Lokere44a29432018-01-24 16:10:30 -08009259 struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009260 struct hdd_config *hdd_config = hdd_ctx->config;
9261 uint32_t temp = 0;
9262 uint32_t rx_supp_data_rate, tx_supp_data_rate;
9263 bool status = true;
9264 tSirMacHTCapabilityInfo *ht_cap_info;
9265 uint8_t mcs_set[SIZE_OF_SUPPORTED_MCS_SET] = {0};
9266 uint8_t mcs_set_temp[SIZE_OF_SUPPORTED_MCS_SET];
Sandeep Puligilla98917432016-06-10 13:50:28 -07009267 uint32_t val, val32;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009268 uint16_t val16;
9269 uint8_t enable2x2;
9270
9271 if ((nss == 2) && (hdd_ctx->num_rf_chains != 2)) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009272 hdd_err("No support for 2 spatial streams");
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309273 return QDF_STATUS_E_INVAL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009274 }
9275
9276 enable2x2 = (nss == 1) ? 0 : 1;
9277
9278 if (hdd_config->enable2x2 == enable2x2) {
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07009279 hdd_debug("NSS same as requested");
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309280 return QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009281 }
9282
9283 if (true == sme_is_any_session_in_connected_state(hdd_ctx->hHal)) {
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009284 hdd_err("Connected sessions present, Do not change NSS");
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309285 return QDF_STATUS_E_INVAL;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009286 }
9287
9288 hdd_config->enable2x2 = enable2x2;
9289
9290 if (!hdd_config->enable2x2) {
9291 /* 1x1 */
Kiran Kumar Lokere666bf852016-05-02 12:23:02 -07009292 rx_supp_data_rate = VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_1_1;
9293 tx_supp_data_rate = VHT_TX_HIGHEST_SUPPORTED_DATA_RATE_1_1;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009294 } else {
9295 /* 2x2 */
Kiran Kumar Lokere666bf852016-05-02 12:23:02 -07009296 rx_supp_data_rate = VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_2_2;
9297 tx_supp_data_rate = VHT_TX_HIGHEST_SUPPORTED_DATA_RATE_2_2;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009298 }
9299
9300 /* Update Rx Highest Long GI data Rate */
9301 if (sme_cfg_set_int(hdd_ctx->hHal,
9302 WNI_CFG_VHT_RX_HIGHEST_SUPPORTED_DATA_RATE,
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309303 rx_supp_data_rate) == QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009304 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009305 hdd_err("Could not pass on WNI_CFG_VHT_RX_HIGHEST_SUPPORTED_DATA_RATE to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009306 }
9307
9308 /* Update Tx Highest Long GI data Rate */
9309 if (sme_cfg_set_int(hdd_ctx->hHal,
9310 WNI_CFG_VHT_TX_HIGHEST_SUPPORTED_DATA_RATE,
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309311 tx_supp_data_rate) == QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009312 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009313 hdd_err("Could not pass on WNI_CFG_VHT_TX_HIGHEST_SUPPORTED_DATA_RATE to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009314 }
9315
9316 sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_HT_CAP_INFO, &temp);
9317 val16 = (uint16_t)temp;
9318 ht_cap_info = (tSirMacHTCapabilityInfo *)&val16;
Sandeep Puligilla98917432016-06-10 13:50:28 -07009319 if (!(hdd_ctx->ht_tx_stbc_supported && hdd_config->enable2x2)) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009320 ht_cap_info->txSTBC = 0;
Sandeep Puligilla98917432016-06-10 13:50:28 -07009321 } else {
9322 sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_VHT_TXSTBC, &val32);
Srinivas Girigowda5c0ea4f2017-03-19 23:13:15 -07009323 hdd_debug("STBC %d", val32);
Sandeep Puligilla98917432016-06-10 13:50:28 -07009324 ht_cap_info->txSTBC = val32;
9325 }
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009326 temp = val16;
9327 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_HT_CAP_INFO,
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309328 temp) == QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009329 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009330 hdd_err("Could not pass on WNI_CFG_HT_CAP_INFO to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009331 }
9332
9333 sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
9334 temp = (temp & 0xFFFC) | hdd_config->vhtRxMCS;
9335 if (hdd_config->enable2x2)
9336 temp = (temp & 0xFFF3) | (hdd_config->vhtRxMCS2x2 << 2);
9337 else
9338 temp |= 0x000C;
9339
9340 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309341 temp) == QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009342 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009343 hdd_err("Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009344 }
9345
9346 sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
9347 temp = (temp & 0xFFFC) | hdd_config->vhtRxMCS;
9348 if (hdd_config->enable2x2)
9349 temp = (temp & 0xFFF3) | (hdd_config->vhtRxMCS2x2 << 2);
9350 else
9351 temp |= 0x000C;
9352
9353 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309354 temp) == QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009355 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009356 hdd_err("Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009357 }
9358
9359 sme_cfg_get_int(hdd_ctx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
9360 temp = (temp & 0xFFFC) | hdd_config->vhtTxMCS;
9361 if (hdd_config->enable2x2)
9362 temp = (temp & 0xFFF3) | (hdd_config->vhtTxMCS2x2 << 2);
9363 else
9364 temp |= 0x000C;
9365
9366 if (sme_cfg_set_int(hdd_ctx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309367 temp) == QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009368 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009369 hdd_err("Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009370 }
9371
9372#define WLAN_HDD_RX_MCS_ALL_NSTREAM_RATES 0xff
9373 val = SIZE_OF_SUPPORTED_MCS_SET;
9374 sme_cfg_get_str(hdd_ctx->hHal, WNI_CFG_SUPPORTED_MCS_SET,
9375 mcs_set_temp, &val);
9376
9377 mcs_set[0] = mcs_set_temp[0];
9378 if (hdd_config->enable2x2)
9379 for (val = 0; val < nss; val++)
9380 mcs_set[val] = WLAN_HDD_RX_MCS_ALL_NSTREAM_RATES;
9381
9382 if (sme_cfg_set_str(hdd_ctx->hHal, WNI_CFG_SUPPORTED_MCS_SET,
9383 mcs_set,
9384 SIZE_OF_SUPPORTED_MCS_SET) ==
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309385 QDF_STATUS_E_FAILURE) {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009386 status = false;
Jeff Johnson26c3f0a2016-12-05 14:56:02 -08009387 hdd_err("Could not pass on MCS SET to CFG");
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009388 }
Kiran Kumar Lokere44a29432018-01-24 16:10:30 -08009389 sme_update_he_cap_nss(hdd_ctx->hHal, adapter->session_id, nss);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009390#undef WLAN_HDD_RX_MCS_ALL_NSTREAM_RATES
9391
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309392 if (QDF_STATUS_SUCCESS != sme_update_nss(hdd_ctx->hHal, nss))
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009393 status = false;
9394
Tushnim Bhattacharyya7e546692017-03-23 18:30:29 -07009395 hdd_set_policy_mgr_user_cfg(hdd_ctx);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05309396 return (status == false) ? QDF_STATUS_E_FAILURE : QDF_STATUS_SUCCESS;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08009397}