blob: 8bdfe18f81f10e312f062a68d866ba9871fa525f [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#if !defined(HDD_CONFIG_H__)
20#define HDD_CONFIG_H__
21
22/**
23 *
24 * DOC: wlan_hdd_config.h
25 *
26 * WLAN Adapter Configuration functions
27 */
28
29/* $HEADER$ */
30
31/* Include files */
32#include <wlan_hdd_includes.h>
33#include <wlan_hdd_wmm.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 <sap_api.h>
Govind Singh5b486202016-06-09 18:29:42 +053037#include "osapi_linux.h"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080038#include <wmi_unified.h>
Dustin Brown1224e212017-05-12 14:02:12 -070039#include "wlan_pmo_hw_filter_public_struct.h"
Rajeev Kumar Sirasanagandla4725ae42018-05-24 22:33:34 +053040#include "wlan_action_oui_public_struct.h"
Dundi Raviteja8e338282018-09-25 17:16:04 +053041#include "hdd_config.h"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080042
Jeff Johnsonb6909be2017-08-28 12:07:19 -070043struct hdd_context;
44
jitiphil869b9f72018-09-25 17:14:01 +053045#define CFG_DP_RPS_RX_QUEUE_CPU_MAP_LIST_LEN 30
46
Jiachao Wu6e9b9f92018-01-03 13:35:40 +080047#define FW_MODULE_LOG_LEVEL_STRING_LENGTH (512)
gbian62edd7e2017-03-07 13:12:13 +080048#define TX_SCHED_WRR_PARAM_STRING_LENGTH (50)
49#define TX_SCHED_WRR_PARAMS_NUM (5)
Nirav Shahbd36b062016-07-18 11:12:59 +053050
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080051#ifdef DHCP_SERVER_OFFLOAD
52#define IPADDR_NUM_ENTRIES (4)
53#define IPADDR_STRING_LENGTH (16)
54#endif
55
56/* Number of items that can be configured */
Srinivas Girigowdaba3091c2015-11-16 17:18:40 -080057#define MAX_CFG_INI_ITEMS 1024
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080058
Pragaspathi Thilagaraj48d273c2018-08-31 00:53:02 +053059#define CFG_TX_AGGREGATION_SIZE_MIN 0
60#define CFG_TX_AGGREGATION_SIZE_MAX 64
61#define CFG_RX_AGGREGATION_SIZE_MIN 1
62#define CFG_RX_AGGREGATION_SIZE_MAX 64
63
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080064/* Defines for all of the things we read from the configuration (registry). */
Ashish Kumar Dhanotiya470af292017-05-31 20:46:00 +053065/*
66 * <ini>
67 * gEnableConnectedScan - Will enable or disable scan in connected state
68 * @Min: 0
69 * @Max: 1
70 * @Default: 1
71 *
72 * This ini is used to enable or disable the scanning in
73 * Connected state
74 *
75 * Related: None
76 *
77 * Supported Feature: STA
78 *
79 * Usage: External
80 *
81 * <ini>
82 */
83
84#define CFG_ENABLE_CONNECTED_SCAN_NAME "gEnableConnectedScan"
85#define CFG_ENABLE_CONNECTED_SCAN_MIN (0)
86#define CFG_ENABLE_CONNECTED_SCAN_MAX (1)
87#define CFG_ENABLE_CONNECTED_SCAN_DEFAULT (1)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080088
wadesong5cea9122018-11-12 18:05:39 +080089/*
90 * <ini>
Amar Singhal0fcce7d2018-08-01 13:20:58 -070091 * enable_11d_in_world_mode - enable 11d in world mode
92 * @Min: 0
93 * @Max: 1
94 * @Default: 0
95 *
96 * This ini enables 11d in world mode, irrespective of value of
97 * g11dSupportEnabled
98 *
99 * Usage: External
100 *
101 * </ini>
102 */
103 #define CFG_ENABLE_11D_IN_WORLD_MODE_NAME "enable_11d_in_world_mode"
104 #define CFG_ENABLE_11D_IN_WORLD_MODE_MIN (0)
105 #define CFG_ENABLE_11D_IN_WORLD_MODE_MAX (1)
106 #define CFG_ENABLE_11D_IN_WORLD_MODE_DEFAULT (0)
107
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800108#define CFG_REG_CHANGE_DEF_COUNTRY_NAME "gRegulatoryChangeCountry"
109#define CFG_REG_CHANGE_DEF_COUNTRY_DEFAULT (0)
110#define CFG_REG_CHANGE_DEF_COUNTRY_MIN (0)
111#define CFG_REG_CHANGE_DEF_COUNTRY_MAX (1)
112
wadesong5cea9122018-11-12 18:05:39 +0800113/*
114 * <ini>
115 * gAdvertiseConcurrentOperation - Iface combination advertising
116 * @Min: 0
117 * @Max: 1
118 * @Default: 1
119 *
120 * This ini is used to control whether driver should indicate to kernel
121 * wiphy layer the combination of all its interfaces' supportability.
122 *
123 * Related: None
124 *
125 * Supported Feature: STA
126 *
127 * Usage: Internal/External
128 *
129 * </ini>
130 */
131
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800132#define CFG_ADVERTISE_CONCURRENT_OPERATION_NAME "gAdvertiseConcurrentOperation"
133#define CFG_ADVERTISE_CONCURRENT_OPERATION_DEFAULT (1)
134#define CFG_ADVERTISE_CONCURRENT_OPERATION_MIN (0)
135#define CFG_ADVERTISE_CONCURRENT_OPERATION_MAX (1)
136
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -0700137enum hdd_dot11_mode {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800138 eHDD_DOT11_MODE_AUTO = 0, /* covers all things we support */
139 eHDD_DOT11_MODE_abg, /* 11a/b/g only, no HT, no proprietary */
140 eHDD_DOT11_MODE_11b,
141 eHDD_DOT11_MODE_11g,
142 eHDD_DOT11_MODE_11n,
143 eHDD_DOT11_MODE_11g_ONLY,
144 eHDD_DOT11_MODE_11n_ONLY,
145 eHDD_DOT11_MODE_11b_ONLY,
146 eHDD_DOT11_MODE_11ac_ONLY,
147 eHDD_DOT11_MODE_11ac,
148 eHDD_DOT11_MODE_11a,
Krishna Kumaar Natarajan4f1d7722017-03-03 21:12:51 -0800149 eHDD_DOT11_MODE_11ax_ONLY,
150 eHDD_DOT11_MODE_11ax,
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -0700151};
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800152
Sen, Devendra9ca8c432017-02-23 15:10:26 +0530153/*
154 * <ini>
155 * gChannelBondingMode24GHz - Configures Channel Bonding in 24 GHz
156 * @Min: 0
157 * @Max: 10
158 * @Default: 0
159 *
160 * This ini is used to set default channel bonding mode 24GHZ
161 *
162 * Related: None
163 *
164 * Supported Feature: STA
165 *
166 * Usage: Internal/External
167 *
168 * </ini>
169 */
170
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800171#define CFG_CHANNEL_BONDING_MODE_24GHZ_NAME "gChannelBondingMode24GHz"
172#define CFG_CHANNEL_BONDING_MODE_MIN WNI_CFG_CHANNEL_BONDING_MODE_STAMIN
173#define CFG_CHANNEL_BONDING_MODE_MAX WNI_CFG_CHANNEL_BONDING_MODE_STAMAX
174#define CFG_CHANNEL_BONDING_MODE_DEFAULT WNI_CFG_CHANNEL_BONDING_MODE_STADEF
175
Sen, Devendra9ca8c432017-02-23 15:10:26 +0530176/*
177 * <ini>
178 * gChannelBondingMode5GHz - Configures Channel Bonding in 5 GHz
179 * @Min: 0
180 * @Max: 10
181 * @Default: 0
182 *
183 * This ini is used to set default channel bonding mode 5GHZ
184 *
185 * Related: None
186 *
187 * Supported Feature: STA
188 *
189 * Usage: Internal/External
190 *
191 * </ini>
192 */
193
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800194#define CFG_CHANNEL_BONDING_MODE_5GHZ_NAME "gChannelBondingMode5GHz"
195#define CFG_CHANNEL_BONDING_MODE_MIN WNI_CFG_CHANNEL_BONDING_MODE_STAMIN
196#define CFG_CHANNEL_BONDING_MODE_MAX WNI_CFG_CHANNEL_BONDING_MODE_STAMAX
197#define CFG_CHANNEL_BONDING_MODE_DEFAULT WNI_CFG_CHANNEL_BONDING_MODE_STADEF
198
Sen, Devendra9ca8c432017-02-23 15:10:26 +0530199/*
200 * <ini>
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530201 * gScanResultAgeCount - Set scan result age count
202 * @Min: 1
203 * @Max: 100
204 * @Default: 1
205 *
206 * This ini parameter is the number of times a scan
207 * doesn't find it before it is removed from results.
208 *
209 * Related: None
210 *
211 * Supported Feature: Scan
212 *
213 * Usage: External
214 *
215 * </ini>
216 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800217#define CFG_SCAN_RESULT_AGE_COUNT_NAME "gScanResultAgeCount"
218#define CFG_SCAN_RESULT_AGE_COUNT_MIN (1)
219#define CFG_SCAN_RESULT_AGE_COUNT_MAX (100)
Jeff Johnsoncb331d92016-09-22 12:43:49 -0700220#define CFG_SCAN_RESULT_AGE_COUNT_DEFAULT (1)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800221
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530222/*
223 * <ini>
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530224 * gEnableDFSChnlScan - Enable DFS channel scan
225 * @Min: 0
226 * @Max: 1
227 * @Default: 1
228 *
229 * This ini is used to enable or disable DFS channel
230 * scan
Deepak Dhamdhere828f1892017-02-09 11:51:19 -0800231 */
232#define CFG_ENABLE_DFS_CHNL_SCAN_NAME "gEnableDFSChnlScan"
233#define CFG_ENABLE_DFS_CHNL_SCAN_MIN (0)
234#define CFG_ENABLE_DFS_CHNL_SCAN_MAX (1)
235#define CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT (1)
236
237/*
238 * <ini>
Wu Gao94488c22018-03-14 14:37:25 +0800239 * gEnableDFSPnoChnlScan - enable dfs channels in PNO scan
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530240 * @Min: 0
241 * @Max: 1
242 * @Default: 1
243 *
Wu Gao94488c22018-03-14 14:37:25 +0800244 * This ini is used to enable/disable dfs channels in PNO scan request,
245 * enabling this ini enables driver to include dfs channels in its
246 * PNO scan request
247 * Related: NA
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530248 *
Wu Gao94488c22018-03-14 14:37:25 +0800249 * Supported Feature: DFS, PNO
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530250 *
Wu Gao94488c22018-03-14 14:37:25 +0800251 * Usage: Internal/External
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530252 *
253 * </ini>
254 */
255#define CFG_ENABLE_DFS_PNO_CHNL_SCAN_NAME "gEnableDFSPnoChnlScan"
256#define CFG_ENABLE_DFS_PNO_CHNL_SCAN_MIN (0)
257#define CFG_ENABLE_DFS_PNO_CHNL_SCAN_MAX (1)
258#define CFG_ENABLE_DFS_PNO_CHNL_SCAN_DEFAULT (1)
259
260/*
261 * <ini>
262 * gEnableFirstScan2GOnly - Enable first scan 2G only
263 * @Min: 0
264 * @Max: 1
265 * @Default: 0
266 *
267 * This ini is used to scan 2G channels only in first scan.
268 *
269 * Related: None
270 *
271 * Supported Feature: Scan
272 *
273 * Usage: External
274 *
275 * </ini>
276 */
277#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME "gEnableFirstScan2GOnly"
278#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN (0)
279#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX (1)
280#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT (0)
281
282/*
283 * <ini>
284 * gScanAgingTime - Set scan aging time
285 * @Min: 0
286 * @Max: 200
287 * @Default: 30
288 *
289 * This ini is used to set scan aging timeout value
290 * in secs. For example after 30 secs the bss results
291 * greater than 30secs age will be flushed.
292 *
293 * Related: None
294 *
295 * Supported Feature: Scan
296 *
297 * Usage: External
298 *
299 * </ini>
300 */
301#define CFG_SCAN_AGING_PARAM_NAME "gScanAgingTime"
302#define CFG_SCAN_AGING_PARAM_MIN (0)
303#define CFG_SCAN_AGING_PARAM_MAX (200)
Varun Reddy Yeturuc4631fb2017-07-06 15:13:53 -0700304#ifdef QCA_WIFI_NAPIER_EMULATION
305#define CFG_SCAN_AGING_PARAM_DEFAULT (90)
306#else
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530307#define CFG_SCAN_AGING_PARAM_DEFAULT (30)
Varun Reddy Yeturuc4631fb2017-07-06 15:13:53 -0700308#endif
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530309
310#ifdef FEATURE_WLAN_SCAN_PNO
311/*
312 * <ini>
313 * gPNOScanSupport - Enable or Disable PNO scan
314 * @Min: 1
315 * @Max: 0
316 * @Default: 1
317 *
318 * This ini is used to Enable or Disable PNO scan
319 *
320 * Related: None
321 *
322 * Supported Feature: Scan
323 *
324 * Usage: External
325 *
326 * </ini>
327 */
328#define CFG_PNO_SCAN_SUPPORT "gPNOScanSupport"
329#define CFG_PNO_SCAN_SUPPORT_ENABLE (1)
330#define CFG_PNO_SCAN_SUPPORT_DISABLE (0)
331#define CFG_PNO_SCAN_SUPPORT_DEFAULT (1)
332
333/*
334 * <ini>
335 * gPNOScanTimerRepeatValue - Set PNO scan timer repeat value
336 * @Min: 30
337 * @Max: 0
338 * @Default: 0xffffffff
339 *
340 * This ini is used by firmware to set fast scan max cycles
341 * equal to gPNOScanTimerRepeatValue. Taking power consumption
342 * into account firmware after gPNOScanTimerRepeatValue times
343 * fast_scan_period switches to slow_scan_period.
344 *
345 * Related: None
346 *
347 * Supported Feature: Scan
348 *
349 * Usage: External
350 *
351 * </ini>
352 */
353#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE "gPNOScanTimerRepeatValue"
354#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT (30)
355#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN (0)
356#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX (0xffffffff)
357
358/*
359 * <ini>
360 * gPNOSlowScanMultiplier - Set PNO slow scan multiplier
361 * @Min: 6
362 * @Max: 0
363 * @Default: 30
364 *
365 * This ini is used by firmware to set slow scan period
366 * as gPNOSlowScanMultiplier times fast_scan_period.
367 *
368 * Related: None
369 *
370 * Supported Feature: Scan
371 *
372 * Usage: External
373 *
374 * </ini>
375 */
376#define CFG_PNO_SLOW_SCAN_MULTIPLIER "gPNOSlowScanMultiplier"
377#define CFG_PNO_SLOW_SCAN_MULTIPLIER_DEFAULT (6)
378#define CFG_PNO_SLOW_SCAN_MULTIPLIER_MIN (0)
379#define CFG_PNO_SLOW_SCAN_MULTIPLIER_MAX (30)
380#endif
381
382/*
383 * <ini>
384 * max_scan_count - Set maximum number of scans
385 * @Min: 1
386 * @Max: 8
387 * @Default: 4
388 *
389 * This ini is used to set the maximum number of
390 * scans that host can queue at firmware.
391 * Rome firmware support 8 scan queue size and 4
392 * are reserved for internal scan requests like
393 * roaming. So host can send 4 scan requests.
394 * In iHelium, there is no constraint in number of
395 * scan queue size at firmware but the current use
396 * cases needs support of maximum of 4 scan request
397 * from host.
398 *
399 * Related: None
400 *
401 * Supported Feature: Scan
402 *
403 * Usage: External
404 *
405 * </ini>
406 */
407#define CFG_MAX_SCAN_COUNT_NAME "max_scan_count"
408#define CFG_MAX_SCAN_COUNT_MIN (1)
409#define CFG_MAX_SCAN_COUNT_MAX (8)
410#define CFG_MAX_SCAN_COUNT_DEFAULT (4)
411
412/*
413 * <ini>
414 * gPassiveMaxChannelTime - Set max channel time for passive scan
415 * @Min: 0
416 * @Max: 10000
417 * @Default: 110
418 *
419 * This ini is used to set maximum channel time in secs spent in
420 * passive scan
421 *
422 * Related: None
423 *
424 * Supported Feature: Scan
425 *
426 * Usage: External
427 *
428 * </ini>
429 */
430#define CFG_PASSIVE_MAX_CHANNEL_TIME_NAME "gPassiveMaxChannelTime"
431#define CFG_PASSIVE_MAX_CHANNEL_TIME_MIN (0)
432#define CFG_PASSIVE_MAX_CHANNEL_TIME_MAX (10000)
433#define CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT (110)
434
435/*
436 * <ini>
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530437 * gActiveMaxChannelTime - Set max channel time for active scan
438 * @Min: 0
439 * @Max: 10000
440 * @Default: 40
441 *
442 * This ini is used to set maximum channel time in secs spent in
443 * active scan
444 *
445 * Related: None
446 *
447 * Supported Feature: Scan
448 *
449 * Usage: External
450 *
451 * </ini>
452 */
453#define CFG_ACTIVE_MAX_CHANNEL_TIME_NAME "gActiveMaxChannelTime"
454#define CFG_ACTIVE_MAX_CHANNEL_TIME_MIN (0)
455#define CFG_ACTIVE_MAX_CHANNEL_TIME_MAX (10000)
456#define CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT (40)
457
458/*
459 * <ini>
Kiran Kumar Lokerea2dfefe2017-06-29 19:01:24 -0700460 * gScanNumProbes - Set the number of probes on each channel for active scan
461 * @Min: 0
462 * @Max: 20
463 * @Default: 0
464 *
465 * This ini is used to set number of probes on each channel for
466 * active scan
467 *
468 * Related: None
469 *
470 * Supported Feature: Scan
471 *
472 * Usage: External
473 *
474 * </ini>
475 */
476#define CFG_SCAN_NUM_PROBES_NAME "gScanNumProbes"
477#define CFG_SCAN_NUM_PROBES_MIN (0)
478#define CFG_SCAN_NUM_PROBES_MAX (20)
479#define CFG_SCAN_NUM_PROBES_DEFAULT (0)
480
481/*
482 * <ini>
483 * gScanProbeRepeatTime - Set the probe repeat time on each channel for active scan
484 * @Min: 0
485 * @Max: 30
486 * @Default: 0
487 *
488 * This ini is used to set probe repeat time on each channel for
489 * active scan
490 *
491 * Related: None
492 *
493 * Supported Feature: Scan
494 *
495 * Usage: External
496 *
497 * </ini>
498 */
499#define CFG_SCAN_PROBE_REPEAT_TIME_NAME "gScanProbeRepeatTime"
500#define CFG_SCAN_PROBE_REPEAT_TIME_MIN (0)
501#define CFG_SCAN_PROBE_REPEAT_TIME_MAX (30)
502#define CFG_SCAN_PROBE_REPEAT_TIME_DEFAULT (0)
503
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530504/*
505 * <ini>
506 * gChPredictionFullScanMs - Set periodic timer for channel
507 * prediction
508 * @Min: 3000
509 * @Max: 0x7fffffff
510 * @Default: 60000
511 *
512 * This ini is used to set the periodic timer upon which
513 * a full scan needs to be triggered when PNO channel
514 * prediction feature is enabled. This parameter is intended
515 * to tweak the internal algortihm for experiments.
516 *
517 * Related: None
518 *
519 * Supported Feature: Scan
520 *
521 * Usage: Internal
522 *
523 * </ini>
524 */
525#define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_NAME "gChPredictionFullScanMs"
526#define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_MIN (30000)
527#define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_MAX (0x7fffffff)
528#define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_DEFAULT (60000)
529
530/*
531 * <ini>
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530532 * gbug_report_for_scan_results - Enable bug report
533 * @Min: 0
534 * @Max: 1
535 * @Default: 0
536 *
537 * This ini is used to create bug report in
538 * case of nil scan results.
539 *
540 * Related: None
541 *
542 * Supported Feature: Scan
543 *
544 * Usage: External
545 *
546 * </ini>
547 */
548#define CFG_CREATE_BUG_REPORT_FOR_SCAN "gbug_report_for_scan_results"
549#define CFG_CREATE_BUG_REPORT_FOR_SCAN_DISABLE (0)
550#define CFG_CREATE_BUG_REPORT_FOR_SCAN_ENABLE (1)
551#define CFG_CREATE_BUG_REPORT_FOR_SCAN_DEFAULT (0)
552
553/*
554 * <ini>
555 * hostscan_adaptive_dwell_mode - Enable adaptive dwell mode
Paul Zhang72697bd2017-12-20 09:24:25 +0800556 * during host scan with conneciton
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530557 * @Min: 0
558 * @Max: 4
Paul Zhang72697bd2017-12-20 09:24:25 +0800559 * @Default: 2
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530560 *
561 * This ini will set the algo used in dwell time optimization
Paul Zhang72697bd2017-12-20 09:24:25 +0800562 * during host scan with connection.
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -0700563 * See enum scan_dwelltime_adaptive_mode.
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530564 * Acceptable values for this:
565 * 0: Default (Use firmware default mode)
566 * 1: Conservative optimization
567 * 2: Moderate optimization
568 * 3: Aggressive optimization
569 * 4: Static
570 *
571 * Related: None
572 *
573 * Supported Feature: Scan
574 *
575 * Usage: External
576 *
577 * </ini>
578 */
579#define CFG_ADAPTIVE_SCAN_DWELL_MODE_NAME "hostscan_adaptive_dwell_mode"
580#define CFG_ADAPTIVE_SCAN_DWELL_MODE_MIN (0)
581#define CFG_ADAPTIVE_SCAN_DWELL_MODE_MAX (4)
Paul Zhang72697bd2017-12-20 09:24:25 +0800582#define CFG_ADAPTIVE_SCAN_DWELL_MODE_DEFAULT (2)
583
584/*
585 * <ini>
586 * hostscan_adaptive_dwell_mode_no_conn - Enable adaptive dwell mode
587 * during host scan without connection
588 * @Min: 0
589 * @Max: 4
590 * @Default: 1
591 *
592 * This ini will set the algo used in dwell time optimization
593 * during host scan without connection.
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -0700594 * See enum scan_dwelltime_adaptive_mode.
Paul Zhang72697bd2017-12-20 09:24:25 +0800595 * Acceptable values for this:
596 * 0: Default (Use firmware default mode)
597 * 1: Conservative optimization
598 * 2: Moderate optimization
599 * 3: Aggressive optimization
600 * 4: Static
601 *
602 * Related: None
603 *
604 * Supported Feature: Scan
605 *
606 * Usage: External
607 *
608 * </ini>
609 */
610#define CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_NAME "hostscan_adaptive_dwell_mode_no_conn"
611#define CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_MIN (0)
612#define CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_MAX (4)
613#define CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_DEFAULT (1)
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530614
615/*
616 * <ini>
617 * extscan_adaptive_dwell_mode - Enable adaptive dwell mode
618 * during ext scan
619 * @Min: 0
620 * @Max: 4
Arif Hussaindcb9ead2017-03-09 16:41:00 -0800621 * @Default: 1
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530622 *
623 * This ini will set the algo used in dwell time optimization
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -0700624 * during ext scan. see enum scan_dwelltime_adaptive_mode.
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530625 * Acceptable values for this:
626 * 0: Default (Use firmware default mode)
627 * 1: Conservative optimization
628 * 2: Moderate optimization
629 * 3: Aggressive optimization
630 * 4: Static
631 *
632 * Related: None
633 *
634 * Supported Feature: Scan
635 *
636 * Usage: External
637 *
638 * </ini>
639 */
640#define CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_NAME "extscan_adaptive_dwell_mode"
641#define CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_MIN (0)
642#define CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_MAX (4)
Arif Hussaindcb9ead2017-03-09 16:41:00 -0800643#define CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_DEFAULT (1)
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530644
645/*
646 * <ini>
647 * pnoscan_adaptive_dwell_mode - Enable adaptive dwell mode
648 * during pno scan
649 * @Min: 0
650 * @Max: 4
Arif Hussaindcb9ead2017-03-09 16:41:00 -0800651 * @Default: 1
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530652 *
653 * This ini will set the algo used in dwell time optimization
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -0700654 * during pno scan. see enum scan_dwelltime_adaptive_mode.
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530655 * Acceptable values for this:
656 * 0: Default (Use firmware default mode)
657 * 1: Conservative optimization
658 * 2: Moderate optimization
659 * 3: Aggressive optimization
660 * 4: Static
661 *
662 * Related: None
663 *
664 * Supported Feature: Scan
665 *
666 * Usage: External
667 *
668 * </ini>
669 */
670#define CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_NAME "pnoscan_adaptive_dwell_mode"
671#define CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_MIN (0)
672#define CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_MAX (4)
Arif Hussaindcb9ead2017-03-09 16:41:00 -0800673#define CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_DEFAULT (1)
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530674
675/*
676 * <ini>
677 * adaptive_dwell_mode_enabled - Enable adaptive dwell mode
678 * @Min: 0
679 * @Max: 1
680 * @Default: 1
681 *
682 * This parameter will globally disable/enable the adaptive dwell config.
683 * Following parameters will set different values of attributes for dwell
684 * time optimization thus reducing total scan time.
685 * Acceptable values for this:
686 * 0: Config is disabled
687 * 1: Config is enabled
688 *
689 * Related: None
690 *
691 * Supported Feature: Scan
692 *
693 * Usage: External
694 *
695 * </ini>
696 */
697#define CFG_ADAPTIVE_DWELL_MODE_ENABLED_NAME "adaptive_dwell_mode_enabled"
698#define CFG_ADAPTIVE_DWELL_MODE_ENABLED_MIN (0)
699#define CFG_ADAPTIVE_DWELL_MODE_ENABLED_MAX (1)
700#define CFG_ADAPTIVE_DWELL_MODE_ENABLED_DEFAULT (1)
701
702/*
703 * <ini>
704 * global_adapt_dwelltime_mode - Set default adaptive mode
705 * @Min: 0
706 * @Max: 4
Arif Hussaindcb9ead2017-03-09 16:41:00 -0800707 * @Default: 0
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530708 *
709 * This parameter will set default adaptive mode, will be used if any of the
710 * scan dwell mode is set to default.
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -0700711 * For uses : see enum scan_dwelltime_adaptive_mode
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530712 *
713 * Related: None
714 *
715 * Supported Feature: Scan
716 *
717 * Usage: External
718 *
719 * </ini>
720 */
721#define CFG_GLOBAL_ADAPTIVE_DWELL_MODE_NAME "global_adapt_dwelltime_mode"
722#define CFG_GLOBAL_ADAPTIVE_DWELL_MODE_MIN (0)
723#define CFG_GLOBAL_ADAPTIVE_DWELL_MODE_MAX (4)
Arif Hussaindcb9ead2017-03-09 16:41:00 -0800724#define CFG_GLOBAL_ADAPTIVE_DWELL_MODE_DEFAULT (0)
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530725
Sen, Devendra9ca8c432017-02-23 15:10:26 +0530726/*
727 * <ini>
728 * gRssiCatGap - Set Rssi CatGap
729 * @Min: 5
730 * @Max: 100
731 * @Default: 5
732 *
733 * This ini is used to set default RssiCatGap
734 *
735 * Related: None
736 *
737 * Supported Feature: STA
738 *
739 * Usage: Internal/External
740 *
741 * </ini>
742 */
743
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800744#define CFG_RSSI_CATEGORY_GAP_NAME "gRssiCatGap"
745#define CFG_RSSI_CATEGORY_GAP_MIN (5)
746#define CFG_RSSI_CATEGORY_GAP_MAX (100)
747#define CFG_RSSI_CATEGORY_GAP_DEFAULT (5)
748
Selvaraj, Sridharf7939832017-03-25 16:59:50 +0530749/*
750 * <ini>
Selvaraj, Sridharf7939832017-03-25 16:59:50 +0530751 * OkcEnabled - Enable OKC(Oppurtunistic Key Caching)
752 * @Min: 0
753 * @Max: 1
754 * @Default: 1
755 *
756 * This INI is used to enable OKC feature
757 *
758 * Related: None
759 *
760 * Supported Feature: Roaming
761 *
762 * Usage: External
763 *
764 * </ini>
765 */
766#define CFG_OKC_FEATURE_ENABLED_NAME "OkcEnabled"
767#define CFG_OKC_FEATURE_ENABLED_MIN (0)
768#define CFG_OKC_FEATURE_ENABLED_MAX (1)
769#define CFG_OKC_FEATURE_ENABLED_DEFAULT (1)
770
Selvaraj, Sridharf7939832017-03-25 16:59:50 +0530771#ifdef FEATURE_LFR_SUBNET_DETECTION
772/*
773 * <ini>
774 * gLFRSubnetDetectionEnable - Enable LFR3 subnet detection
775 * @Min: 0
776 * @Max: 1
777 * @Default: 1
778 *
779 * Enable IP subnet detection during legacy fast roming version 3. Legacy fast
780 * roaming could roam across IP subnets without host processors' knowledge.
781 * This feature enables firmware to wake up the host processor if it
782 * successfully determines change in the IP subnet. Change in IP subnet could
783 * potentially cause disruption in IP connnectivity if IP address is not
784 * refreshed.
785 *
786 * Related: None
787 *
788 * Supported Feature: Roaming
789 *
790 * Usage: External
791 *
792 * </ini>
793 */
794#define CFG_ENABLE_LFR_SUBNET_DETECTION "gLFRSubnetDetectionEnable"
795#define CFG_ENABLE_LFR_SUBNET_MIN (0)
796#define CFG_ENABLE_LFR_SUBNET_MAX (1)
797#define CFG_ENABLE_LFR_SUBNET_DEFAULT (1)
798#endif /* FEATURE_LFR_SUBNET_DETECTION */
799
800/*
801 * <ini>
Abhinav Kumar271f0632018-03-29 16:01:30 +0530802 * enable_ftopen - enable/disable FT open feature
803 * @Min: 0
804 * @Max: 1
805 * @Default: 1
806 *
807 * This INI is used to enable/disable FT open feature
808*
809* Related: None
810*
811* Supported Feature: Roaming
812*
813* Usage: External
814*
815* </ini>
816*/
817#define CFG_ROAM_FT_OPEN_ENABLE_NAME "enable_ftopen"
818#define CFG_ROAM_FT_OPEN_ENABLE_MIN (0)
819#define CFG_ROAM_FT_OPEN_ENABLE_MAX (1)
820#define CFG_ROAM_FT_OPEN_ENABLE_DEFAULT (1)
821
822/*
823 * <ini>
Abhinav Kumara95af7c2018-04-06 17:08:00 +0530824 * min_delay_btw_roam_scans - Min duration (in sec) allowed btw two
825 * consecutive roam scans
826 * @Min: 0
827 * @Max: 60
828 * @Default: 10
829 *
830 * Roam scan is not allowed if duration between two consecutive
831 * roam scans is less than this time.
832 *
833 * Related: None
834 *
835 * Supported Feature: Roaming
836 *
837 * Usage: External
838 *
839 * </ini>
840 */
841#define CFG_MIN_DELAY_BTW_ROAM_SCAN_NAME "min_delay_btw_roam_scans"
842#define CFG_MIN_DELAY_BTW_ROAM_SCAN_MIN (0)
843#define CFG_MIN_DELAY_BTW_ROAM_SCAN_MAX (60)
844#define CFG_MIN_DELAY_BTW_ROAM_SCAN_DEFAULT (10)
845
846/*
847 * <ini>
848 * roam_trigger_reason_bitmask - Contains roam_trigger_reasons
849 * @Min: 0
850 * @Max: 0xFFFFFFFF
851 * @Default: 0xDA
852 *
853 * Bitmask containing roam_trigger_reasons for which
854 * min_delay_btw_roam_scans constraint should be applied.
855 * Currently supported bit positions are as follows:
856 * Bit 0 is reserved in the firmware.
857 * WMI_ROAM_TRIGGER_REASON_PER - 1
858 * WMI_ROAM_TRIGGER_REASON_BMISS - 2
859 * WMI_ROAM_TRIGGER_REASON_LOW_RSSI - 3
860 * WMI_ROAM_TRIGGER_REASON_HIGH_RSSI - 4
861 * WMI_ROAM_TRIGGER_REASON_PERIODIC - 5
862 * WMI_ROAM_TRIGGER_REASON_MAWC - 6
863 * WMI_ROAM_TRIGGER_REASON_DENSE - 7
864 * WMI_ROAM_TRIGGER_REASON_BACKGROUND - 8
865 * WMI_ROAM_TRIGGER_REASON_FORCED - 9
866 * WMI_ROAM_TRIGGER_REASON_BTM - 10
867 * WMI_ROAM_TRIGGER_REASON_UNIT_TEST - 11
868 * WMI_ROAM_TRIGGER_REASON_MAX - 12
869 *
870 * For Ex: 0xDA (PER, LOW_RSSI, HIGH_RSSI, MAWC, DENSE)
871 *
872 * Related: None
873 *
874 * Supported Feature: Roaming
875 *
876 * Usage: External
877 *
878 * </ini>
879 */
880#define CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_NAME "roam_trigger_reason_bitmask"
881#define CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_MIN (0)
882#define CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_MAX (0xFFFFFFFF)
883#define CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_DEFAULT (0xDA)
884
885/*
886 * <ini>
Vignesh Viswanathanc018e982017-09-07 18:49:19 +0530887 * roam_bad_rssi_thresh_offset_2g - RSSI threshold offset for 2G to 5G roam
888 * @Min: 0
889 * @Max: 86
890 * @Default: 40
891 *
892 * If the DUT is connected to an AP with weak signal in 2G band, then the
893 * bad RSSI offset for 2g would be used as offset from the bad RSSI
894 * threshold configured and then use the resulting rssi for an opportunity
895 * to use the scan results from other scan clients and try to roam to
896 * 5G Band ONLY if there is a better AP available in the environment.
897 *
898 * For example if the roam_bg_scan_bad_rssi_thresh is -76 and
899 * roam_bad_rssi_thresh_offset_2g is 40 then the difference of -36 would be
900 * used as a trigger to roam to a 5G AP if DUT initially connected to a 2G AP
901 *
902 * Related: roam_bg_scan_bad_rssi_thresh
903 *
904 * Supported Feature: Roaming
905 *
906 * Usage: External
907 *
908 * </ini>
909 */
910#define CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_NAME "roam_bad_rssi_thresh_offset_2g"
911#define CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_MIN (0)
912#define CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_MAX (86)
913#define CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_DEFAULT (40)
914
915/*
916 * <ini>
Abhinav Kumara083f212018-04-05 18:49:45 +0530917 * ho_delay_for_rx - Delay Hand-off (In msec) by this duration to receive
918 * pending rx frames from current BSS
919 * @Min: 0
920 * @Max: 200
921 * @Default: 0
922 *
923 * For LFR 3.0 roaming scenario, once roam candidate is found, firmware
924 * waits for minimum this much duration to receive pending rx frames from
925 * current BSS before switching to new channel for handoff to new AP.
926 *
927 * Related: None
928 *
929 * Supported Feature: Roaming
930 *
931 * Usage: External
932 *
933 * </ini>
934 */
935#define CFG_ROAM_HO_DELAY_FOR_RX_NAME "ho_delay_for_rx"
936#define CFG_ROAM_HO_DELAY_FOR_RX_MIN (0)
937#define CFG_ROAM_HO_DELAY_FOR_RX_MAX (200)
938#define CFG_ROAM_HO_DELAY_FOR_RX_DEFAULT (0)
939
940/*
941 * <ini>
Abhinav Kumaredd1d372018-05-11 15:33:35 +0530942 * roam_force_rssi_trigger - To force RSSI trigger
943 * irrespective of channel list type
944 * @Min: 0
945 * @Max: 1
946 * @Default: 1
947 *
948 * This ini is used to set roam scan mode
949 * WMI_ROAM_SCAN_MODE_RSSI_CHANGE, irrespective of whether
950 * channel list type is CHANNEL_LIST_STATIC or not
951 *
952 * Related: None
953 *
954 * Supported Feature: Roaming
955 *
956 * Usage: External
957 *
958 * </ini>
959 */
960#define CFG_ROAM_FORCE_RSSI_TRIGGER_NAME "roam_force_rssi_trigger"
961#define CFG_ROAM_FORCE_RSSI_TRIGGER_MIN (0)
962#define CFG_ROAM_FORCE_RSSI_TRIGGER_MAX (1)
963#define CFG_ROAM_FORCE_RSSI_TRIGGER_DEFAULT (1)
964
965/*
Sen, Devendra9ca8c432017-02-23 15:10:26 +0530966 * <ini>
Abhishek Singh49b654e2016-12-01 16:11:17 +0530967 * gIbssBssid - Default IBSS BSSID if BSSID is not provided by supplicant
968 * @Min: "000000000000"
969 * @Max: "ffffffffffff"
970 * @Default: "000AF5040506"
971 *
972 * This ini is used to set Default IBSS BSSID if BSSID
973 * is not provided by supplicant and Coalesing is disabled
974 *
975 * Related: Only applicable if gCoalesingInIBSS is 0
976 *
977 * Supported Feature: IBSS
978 *
979 * Usage: Internal/External
980 *
981 * </ini>
982 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800983#define CFG_IBSS_BSSID_NAME "gIbssBssid"
984#define CFG_IBSS_BSSID_MIN "000000000000"
985#define CFG_IBSS_BSSID_MAX "ffffffffffff"
986#define CFG_IBSS_BSSID_DEFAULT "000AF5040506"
987
Abhishek Singh49b654e2016-12-01 16:11:17 +0530988/*
989 * <ini>
990 * gAdHocChannel5G - Default 5Ghz IBSS channel if channel is not
991 * provided by supplicant.
992 * @Min: 36
993 * @Max: 165
994 * @Default: 44
995 *
996 * This ini is used to set default 5Ghz IBSS channel
997 * if channel is not provided by supplicant and band is 5Ghz
998 *
999 * Related: None
1000 *
1001 * Supported Feature: IBSS
1002 *
1003 * Usage: Internal/External
1004 *
1005 * </ini>
1006 */
1007#define CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME "gAdHocChannel5G"
1008#define CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN (36)
1009#define CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX (165)
1010#define CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT (44)
1011
1012/*
1013 * <ini>
1014 * gAdHocChannel24G - Default 2.4Ghz IBSS channel if channel is not
1015 * provided by supplicant.
1016 * @Min: 1
1017 * @Max: 14
1018 * @Default: 6
1019 *
1020 * This ini is used to set default 2.4Ghz IBSS channel
1021 * if channel is not provided by supplicant and band is 2.4Ghz
1022 *
1023 * Related: None
1024 *
1025 * Supported Feature: IBSS
1026 *
1027 * Usage: Internal/External
1028 *
1029 * </ini>
1030 */
1031#define CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME "gAdHocChannel24G"
1032#define CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN (1)
1033#define CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX (14)
1034#define CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT (6)
1035
1036/*
1037 * <ini>
1038 * gCoalesingInIBSS - If IBSS coalesing is enabled.
1039 * @Min: 0
1040 * @Max: 1
1041 * @Default: 0
1042 *
1043 * This ini is used to set IBSS coalesing
1044 *
1045 * Related: None
1046 *
1047 * Supported Feature: IBSS
1048 *
1049 * Usage: Internal/External
1050 *
1051 * </ini>
1052 */
1053#define CFG_COALESING_IN_IBSS_NAME "gCoalesingInIBSS"
1054#define CFG_COALESING_IN_IBSS_MIN (0)
1055#define CFG_COALESING_IN_IBSS_MAX (1)
1056#define CFG_COALESING_IN_IBSS_DEFAULT (0) /* disabled */
1057
1058/*
1059 * <ini>
1060 * gIbssATIMWinSize - Set IBSS ATIM window size
1061 * @Min: 0
1062 * @Max: 50
1063 * @Default: 0
1064 *
1065 * This ini is used to set IBSS ATIM window size
1066 *
1067 * Related: None
1068 *
1069 * Supported Feature: IBSS
1070 *
1071 * Usage: Internal/External
1072 *
1073 * </ini>
1074 */
1075#define CFG_IBSS_ATIM_WIN_SIZE_NAME "gIbssATIMWinSize"
1076#define CFG_IBSS_ATIM_WIN_SIZE_MIN (0)
1077#define CFG_IBSS_ATIM_WIN_SIZE_MAX (50)
1078#define CFG_IBSS_ATIM_WIN_SIZE_DEFAULT (0)
1079
1080
1081/*
1082 * <ini>
1083 * gIbssIsPowerSaveAllowed - Indicates if IBSS Power Save is
1084 * supported or not
1085 * @Min: 0
1086 * @Max: 1
1087 * @Default: 1
1088 *
1089 * This ini is used to Indicates if IBSS Power Save is
1090 * supported or not. When not allowed,IBSS station has
1091 * to stay awake all the time and should never set PM=1
1092 * in its transmitted frames.
1093 *
1094 * Related: valid only when gIbssATIMWinSize is non-zero
1095 *
1096 * Supported Feature: IBSS
1097 *
1098 * Usage: Internal/External
1099 *
1100 * </ini>
1101 */
1102#define CFG_IBSS_IS_POWER_SAVE_ALLOWED_NAME "gIbssIsPowerSaveAllowed"
1103#define CFG_IBSS_IS_POWER_SAVE_ALLOWED_MIN (0)
1104#define CFG_IBSS_IS_POWER_SAVE_ALLOWED_MAX (1)
1105#define CFG_IBSS_IS_POWER_SAVE_ALLOWED_DEFAULT (1)
1106
1107/*
1108 * <ini>
1109 * gIbssIsPowerCollapseAllowed - Indicates if IBSS Power Collapse
1110 * is allowed
1111 * @Min: 0
1112 * @Max: 1
1113 * @Default: 1
1114 *
1115 * This ini is used to indicates if IBSS Power Collapse
1116 * is allowed
1117 *
1118 * Related: None
1119 *
1120 * Supported Feature: IBSS
1121 *
1122 * Usage: Internal/External
1123 *
1124 * </ini>
1125 */
1126#define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_NAME "gIbssIsPowerCollapseAllowed"
1127#define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_MIN (0)
1128#define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_MAX (1)
1129#define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_DEFAULT (1)
1130
1131/*
1132 * <ini>
1133 * gIbssAwakeOnTxRx - Indicates whether IBSS station
1134 * can exit power save mode and enter power active
1135 * state whenever there is a TX/RX activity.
1136 *
1137 * @Min: 0
1138 * @Max: 1
1139 * @Default: 0
1140 *
1141 * This ini is used to ndicates whether IBSS station
1142 * can exit power save mode and enter power active
1143 * state whenever there is a TX/RX activity.
1144 *
1145 * Related: None
1146 *
1147 * Supported Feature: IBSS
1148 *
1149 * Usage: Internal/External
1150 *
1151 * </ini>
1152 */
1153#define CFG_IBSS_AWAKE_ON_TX_RX_NAME "gIbssAwakeOnTxRx"
1154#define CFG_IBSS_AWAKE_ON_TX_RX_MIN (0)
1155#define CFG_IBSS_AWAKE_ON_TX_RX_MAX (1)
1156#define CFG_IBSS_AWAKE_ON_TX_RX_DEFAULT (0)
1157
1158/*
1159 * <ini>
1160 * gIbssInactivityTime - Indicates the data
1161 * inactivity time in number of beacon intervals
1162 * after which IBSS station re-inters power save
1163 *
1164 * @Min: 1
1165 * @Max: 10
1166 * @Default: 1
1167 *
1168 * In IBSS mode if Awake on TX/RX activity is enabled
1169 * Ibss Inactivity parameter indicates the data
1170 * inactivity time in number of beacon intervals
1171 * after which IBSS station re-inters power save
1172 * by sending Null frame with PM=1
1173 *
1174 * Related: Aplicable if gIbssAwakeOnTxRx is enabled
1175 *
1176 * Supported Feature: IBSS
1177 *
1178 * Usage: Internal/External
1179 *
1180 * </ini>
1181 */
1182#define CFG_IBSS_INACTIVITY_TIME_NAME "gIbssInactivityTime"
1183#define CFG_IBSS_INACTIVITY_TIME_MIN (1)
1184#define CFG_IBSS_INACTIVITY_TIME_MAX (10)
1185#define CFG_IBSS_INACTIVITY_TIME_DEFAULT (1)
1186
1187/*
1188 * <ini>
1189 * gIbssTxSpEndInactivityTime - Indicates the time after
1190 * which TX Service Period is terminated by
1191 * sending a Qos Null frame with EOSP.
1192 *
1193 * @Min: 0
1194 * @Max: 100
1195 * @Default: 0
1196 *
1197 * In IBSS mode Tx Service Period Inactivity
1198 * time in msecs indicates the time after
1199 * which TX Service Period is terminated by
1200 * sending a Qos Null frame with EOSP.
1201 * If value is 0, TX SP is terminated with the
1202 * last buffered packet itself instead of waiting
1203 * for the inactivity.
1204 *
1205 * Related: None
1206 *
1207 * Supported Feature: IBSS
1208 *
1209 * Usage: Internal/External
1210 *
1211 * </ini>
1212 */
1213#define CFG_IBSS_TXSP_END_INACTIVITY_NAME "gIbssTxSpEndInactivityTime"
1214#define CFG_IBSS_TXSP_END_INACTIVITY_MIN (0)
1215#define CFG_IBSS_TXSP_END_INACTIVITY_MAX (100)
1216#define CFG_IBSS_TXSP_END_INACTIVITY_DEFAULT (0)
1217
1218/*
1219 * <ini>
1220 * gIbssPsWarmupTime - PS-supporting device
1221 * does not enter protocol sleep state during first
1222 * gIbssPsWarmupTime seconds.
1223 *
1224 * @Min: 0
1225 * @Max: 65535
1226 * @Default: 0
1227 *
1228 * When IBSS network is initialized, PS-supporting device
1229 * does not enter protocol sleep state during first
1230 * gIbssPsWarmupTime seconds.
1231 *
1232 * Related: valid if gIbssIsPowerSaveAllowed is set
1233 *
1234 * Supported Feature: IBSS
1235 *
1236 * Usage: Internal/External
1237 *
1238 * </ini>
1239 */
1240#define CFG_IBSS_PS_WARMUP_TIME_NAME "gIbssPsWarmupTime"
1241#define CFG_IBSS_PS_WARMUP_TIME_MIN (0)
1242/* Allow unsigned Int Max for now */
1243#define CFG_IBSS_PS_WARMUP_TIME_MAX (65535)
1244#define CFG_IBSS_PS_WARMUP_TIME_DEFAULT (0)
1245
1246/*
1247 * <ini>
Sen, Devendrac441b212017-02-23 15:40:42 +05301248 * gIbssPs1RxChainInAtim - IBSS Power Save Enable/Disable 1 RX
Abhishek Singh49b654e2016-12-01 16:11:17 +05301249 * chain usage during the ATIM window
1250 *
1251 * @Min: 0
1252 * @Max: 1
1253 * @Default: 0
1254 *
1255 * IBSS Power Save Enable/Disable 1 RX
1256 * chain usage during the ATIM window
1257 *
1258 * Related: Depend on gIbssIsPowerSaveAllowed
1259 *
1260 * Supported Feature: IBSS
1261 *
1262 * Usage: Internal/External
1263 *
1264 * </ini>
1265 */
1266#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_NAME "gIbssPs1RxChainInAtim"
1267#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MIN (0)
1268#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MAX (1)
1269#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_DEFAULT (0)
1270
Paul Zhang99fe8842017-12-08 14:43:46 +08001271/*
1272 * <ini>
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05301273 * gDot11Mode - SAP phy mode
1274 * @Min: 0
Krishna Kumaar Natarajan4f1d7722017-03-03 21:12:51 -08001275 * @Max: 12 (11ax)
1276 * @Default: 12 (11ax)
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05301277 *
1278 * This ini is used to set Phy Mode (auto, b, g, n, etc/) Valid values are
Krishna Kumaar Natarajan4f1d7722017-03-03 21:12:51 -08001279 * 0-12, with 0 = Auto, 12 = 11ax.
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05301280 *
1281 * Related: None.
1282 *
1283 * Supported Feature: SAP
1284 *
1285 * Usage: Internal/External
1286 *
1287 * </ini>
1288 */
1289#define CFG_DOT11_MODE_NAME "gDot11Mode"
1290#define CFG_DOT11_MODE_MIN eHDD_DOT11_MODE_AUTO
Krishna Kumaar Natarajan4f1d7722017-03-03 21:12:51 -08001291#define CFG_DOT11_MODE_DEFAULT eHDD_DOT11_MODE_11ax
1292#define CFG_DOT11_MODE_MAX eHDD_DOT11_MODE_11ax
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05301293
1294/*
1295 * <ini>
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05301296 * gEnableApProt - Enable/Disable AP protection
1297 * @Min: 0
1298 * @Max: 1
1299 * @Default: 1
1300 *
1301 * This ini is used to enable/disable AP protection
1302 *
1303 * Related: None.
1304 *
1305 * Supported Feature: SAP
1306 *
1307 * Usage: Internal/External
1308 *
1309 * </ini>
1310 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001311#define CFG_AP_ENABLE_PROTECTION_MODE_NAME "gEnableApProt"
1312#define CFG_AP_ENABLE_PROTECTION_MODE_MIN (0)
1313#define CFG_AP_ENABLE_PROTECTION_MODE_MAX (1)
1314#define CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT (1)
1315
Dustin Brown7bd76332018-02-23 12:10:55 -08001316#define CFG_DISABLE_PACKET_FILTER "gDisablePacketFilter"
1317#define CFG_DISABLE_PACKET_FILTER_MIN (0)
1318#define CFG_DISABLE_PACKET_FILTER_MAX (1)
1319#define CFG_DISABLE_PACKET_FILTER_DEFAULT (1)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001320
Nitesh Shah03161d12016-12-06 18:30:12 +05301321/*
1322 * <ini>
1323 * gPassiveMaxChannelTimeConc - Maximum passive scan time in milliseconds.
1324 * @Min: 0
1325 * @Max: 10000
1326 * @Default: 110
1327 *
1328 * This ini is used to set maximum passive scan time in STA+SAP concurrent
1329 * mode.
1330 *
1331 * Related: None.
1332 *
1333 * Supported Feature: Concurrency
1334 *
1335 * Usage: Internal/External
1336 *
1337 * </ini>
1338 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001339#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME "gPassiveMaxChannelTimeConc"
1340#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN (0)
1341#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX (10000)
1342#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT (110)
1343
Nitesh Shah03161d12016-12-06 18:30:12 +05301344/*
1345 * <ini>
1346 * gPassiveMinChannelTimeConc - Minimum passive scan time in milliseconds.
1347 * @Min: 0
1348 * @Max: 10000
1349 * @Default: 60
1350 *
1351 * This ini is used to set minimum passive scan time in STA+SAP concurrent
1352 * mode.
1353 *
1354 * Related: None.
1355 *
1356 * Supported Feature: Concurrency
1357 *
1358 * Usage: Internal/External
1359 *
1360 * </ini>
1361 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001362#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME "gPassiveMinChannelTimeConc"
1363#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN (0)
1364#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX (10000)
1365#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT (60)
1366
Nitesh Shah03161d12016-12-06 18:30:12 +05301367/*
1368 * <ini>
1369 * gActiveMaxChannelTimeConc - Maximum active scan time in milliseconds.
1370 * @Min: 0
1371 * @Max: 10000
1372 * @Default: 40
1373 *
1374 * This ini is used to set maximum active scan time in STA+SAP concurrent
1375 * mode.
1376 *
1377 * Related: None.
1378 *
1379 * Supported Feature: Concurrency
1380 *
1381 * Usage: Internal/External
1382 *
1383 * </ini>
1384 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001385#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME "gActiveMaxChannelTimeConc"
1386#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN (0)
1387#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX (10000)
1388#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT (40)
1389
Nitesh Shah03161d12016-12-06 18:30:12 +05301390/*
1391 * <ini>
1392 * gActiveMinChannelTimeConc - Minimum active scan time in milliseconds..
1393 * @Min: 0
1394 * @Max: 10000
1395 * @Default: 20
1396 *
1397 * This ini is used to set minimum active scan time in STA+SAP concurrent
1398 * mode.
1399 *
1400 * Related: None.
1401 *
1402 * Supported Feature: Concurrency
1403 *
1404 * Usage: Internal/External
1405 *
1406 * </ini>
1407 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001408#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME "gActiveMinChannelTimeConc"
1409#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN (0)
1410#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX (10000)
1411#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT (20)
1412
Nitesh Shah03161d12016-12-06 18:30:12 +05301413/*
1414 * <ini>
1415 * gRestTimeConc - Rest time before moving to a new channel to scan.
1416 * @Min: 0
1417 * @Max: 10000
1418 * @Default: 100
1419 *
1420 * This ini is used to configure rest time.
1421 *
1422 * Related: None.
1423 *
1424 * Supported Feature: Concurrency
1425 *
1426 * Usage: Internal/External
1427 *
1428 * </ini>
1429 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001430#define CFG_REST_TIME_CONC_NAME "gRestTimeConc"
1431#define CFG_REST_TIME_CONC_MIN (0)
1432#define CFG_REST_TIME_CONC_MAX (10000)
1433#define CFG_REST_TIME_CONC_DEFAULT (100)
1434
Nitesh Shah03161d12016-12-06 18:30:12 +05301435/*
1436 * <ini>
1437 * gMinRestTimeConc - Mininum time spent on home channel before moving to a
1438 * new channel to scan.
1439 * @Min: 0
1440 * @Max: 50
1441 * @Default: 50
1442 *
1443 * This ini is used to configure minimum time spent on home channel before
1444 * moving to a new channel to scan.
1445 *
1446 * Related: None.
1447 *
1448 * Supported Feature: Concurrency
1449 *
1450 * Usage: Internal/External
1451 *
1452 * </ini>
1453 */
Agrawal Ashish17bb3902016-05-05 13:29:40 +05301454#define CFG_MIN_REST_TIME_NAME "gMinRestTimeConc"
1455#define CFG_MIN_REST_TIME_MIN (0)
1456#define CFG_MIN_REST_TIME_MAX (50)
1457#define CFG_MIN_REST_TIME_DEFAULT (50)
1458
Nitesh Shah03161d12016-12-06 18:30:12 +05301459/*
1460 * <ini>
1461 * gIdleTimeConc - Data inactivity time in msec.
1462 * @Min: 0
1463 * @Max: 25
1464 * @Default: 25
1465 *
1466 * This ini is used to configure data inactivity time in msec on bss channel
1467 * that will be used by scan engine in firmware.
1468 * For example if this value is 25ms then firmware will check for data
1469 * inactivity every 25ms till gRestTimeConc is reached.
1470 * If inactive then scan engine will move from home channel to scan the next
1471 * frequency.
1472 *
1473 * Related: None.
1474 *
1475 * Supported Feature: Concurrency
1476 *
1477 * Usage: Internal/External
1478 *
1479 * </ini>
Agrawal Ashish17bb3902016-05-05 13:29:40 +05301480 */
1481#define CFG_IDLE_TIME_NAME "gIdleTimeConc"
1482#define CFG_IDLE_TIME_MIN (0)
1483#define CFG_IDLE_TIME_MAX (25)
1484#define CFG_IDLE_TIME_DEFAULT (25)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001485
wadesong37779152018-11-15 13:08:15 +08001486/*
1487 * <ini>
1488 * gTxPowerCap - WLAN max tx power
1489 * @Min: 0
1490 * @Max: 128
1491 * @Default: 128
1492 *
1493 * This ini is used to configure the device max tx power.
1494 *
1495 * Related: None.
1496 *
1497 * Supported Feature: Concurrency
1498 *
1499 * Usage: Internal/External
1500 *
1501 * </ini>
1502 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001503
1504#define CFG_MAX_TX_POWER_NAME "gTxPowerCap"
1505#define CFG_MAX_TX_POWER_MIN WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMIN
1506#define CFG_MAX_TX_POWER_MAX WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMAX
1507/* Not to use CFG default because if no registry setting, this is ignored by SME. */
1508#define CFG_MAX_TX_POWER_DEFAULT WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMAX
1509
wadesong37779152018-11-15 13:08:15 +08001510/*
1511 * <ini>
Mukul Sharmaed92f2f2017-04-20 00:06:28 +05301512 * g_wow_data_inactivity_timeout - Data activity timeout in wow mode.
1513 * @Min: 1
1514 * @Max: 255
1515 * @Default: 50
1516 *
1517 * This ini is used to set data inactivity timeout in wow mode.
1518 *
1519 * Supported Feature: inactivity timeout in wow mode
1520 *
1521 * Usage: External
1522 *
1523 * </ini>
1524 */
1525#define CFG_WOW_DATA_INACTIVITY_TIMEOUT_NAME "g_wow_data_inactivity_timeout"
1526#define CFG_WOW_DATA_INACTIVITY_TIMEOUT_MIN (1)
1527#define CFG_WOW_DATA_INACTIVITY_TIMEOUT_MAX (255)
1528#define CFG_WOW_DATA_INACTIVITY_TIMEOUT_DEFAULT (50)
1529
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001530/* WMM configuration */
Sreelakshmi Konamki9be8d412017-03-01 10:29:08 +05301531/*
1532 * <ini>
Sreelakshmi Konamki9be8d412017-03-01 10:29:08 +05301533 * ImplicitQosIsEnabled - Enableimplicit QOS
1534 * @Min: 0
1535 * @Max: 1
1536 * @Default: 0
1537 *
1538 * This ini is used to enable/disable implicit QOS.
1539 *
1540 * Related: None.
1541 *
1542 * Supported Feature: WMM
1543 *
1544 * Usage: Internal/External
1545 *
1546 * </ini>
1547 */
1548#define CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME "ImplicitQosIsEnabled"
1549#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN (0)
1550#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX (1)
1551#define CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001552
Sreelakshmi Konamki9be8d412017-03-01 10:29:08 +05301553/*
1554 * <ini>
Sreelakshmi Konamki9be8d412017-03-01 10:29:08 +05301555 * gAddTSWhenACMIsOff - Set ACM value for AC
1556 * @Min: 0
1557 * @Max: 1
1558 * @Default: 0
1559 *
1560 * This ini is used to set ACM value for AC
1561 *
1562 * Related: None.
1563 *
1564 * Supported Feature: WMM
1565 *
1566 * Usage: Internal/External
1567 *
1568 * </ini>
1569 */
1570#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME "gAddTSWhenACMIsOff"
1571#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN (0)
1572/* Send AddTs even when ACM is not set for the AC */
1573#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX (1)
1574#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001575
wadesong37779152018-11-15 13:08:15 +08001576/*
1577 * <ini>
1578 * DelayedTriggerFrmInt - UAPSD delay interval
1579 * @Min: 1
1580 * @Max: 4294967295
1581 * @Default: 3000
1582 *
1583 * This parameter controls the delay interval(in ms) of UAPSD auto trigger.
1584 *
1585 * Supported Feature: WMM
1586 *
1587 * Usage: Internal/External
1588 *
1589 * </ini>
1590 */
1591
1592#define CFG_TL_DELAYED_TRGR_FRM_INT_NAME "DelayedTriggerFrmInt"
1593#define CFG_TL_DELAYED_TRGR_FRM_INT_MIN 1
1594#define CFG_TL_DELAYED_TRGR_FRM_INT_MAX (4294967295UL)
1595#define CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT 3000
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001596
Sreelakshmi Konamkided64d72017-02-23 10:39:26 +05301597/*
1598 * <ini>
Dustin Brown1224e212017-05-12 14:02:12 -07001599 * gHwFilterMode - configure hardware filter for DTIM mode
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05301600 * @Min: 0
Dustin Brown1224e212017-05-12 14:02:12 -07001601 * @Max: 3
Dustin Brown2078edd2017-05-18 11:37:33 -07001602 * @Default: 1
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05301603 *
Dustin Brown1224e212017-05-12 14:02:12 -07001604 * The hardware filter is only effective in DTIM mode. Use this configuration
1605 * to blanket drop broadcast/multicast packets at the hardware level, without
1606 * waking up the firmware
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05301607 *
Dustin Brown1224e212017-05-12 14:02:12 -07001608 * Takes a bitmap of frame types to drop
1609 * @E.g.
Dustin Brown2078edd2017-05-18 11:37:33 -07001610 * # disable feature
Dustin Brown1224e212017-05-12 14:02:12 -07001611 * gHwFilterMode=0
Dustin Brown2078edd2017-05-18 11:37:33 -07001612 * # drop all broadcast frames, except ARP (default)
Dustin Brown1224e212017-05-12 14:02:12 -07001613 * gHwFilterMode=1
1614 * # drop all multicast frames, except ICMPv6
1615 * gHwFilterMode=2
1616 * # drop all broadcast and multicast frames, except ARP and ICMPv6
1617 * gHwFilterMode=3
1618 *
1619 * Related: N/A
1620 *
1621 * Usage: Internal/External
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05301622 *
1623 * </ini>
1624 */
Nachiket Kukadef0804072018-02-27 18:20:07 +05301625#define CFG_HW_FILTER_MODE_BITMAP_NAME "gHwFilterMode"
1626#define CFG_HW_FILTER_MODE_BITMAP_MIN (0)
1627#define CFG_HW_FILTER_MODE_BITMAP_MAX (3)
1628#define CFG_HW_FILTER_MODE_BITMAP_DEFAULT (1)
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05301629
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301630/*
Kapil Gupta825f1ba2017-01-03 12:24:01 +05301631 * gEnableDFSChnlScan - enable dfs channel scan.
1632 * @Min: 0
1633 * @Max: 1
1634 * @Default: 1
1635 *
1636 * This ini is used to enable/disable dfs channels in scan, enabling this
1637 * will enable driver to include dfs channels in its scan list.
1638 * Related: NA
1639 *
1640 * Supported Feature: DFS, Scan
1641 *
1642 * Usage: Internal/External
1643 *
1644 * </ini>
1645 */
1646#define CFG_ENABLE_DFS_CHNL_SCAN_NAME "gEnableDFSChnlScan"
1647#define CFG_ENABLE_DFS_CHNL_SCAN_MIN (0)
1648#define CFG_ENABLE_DFS_CHNL_SCAN_MAX (1)
1649#define CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT (1)
1650
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07001651enum hdd_link_speed_rpt_type {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001652 eHDD_LINK_SPEED_REPORT_ACTUAL = 0,
1653 eHDD_LINK_SPEED_REPORT_MAX = 1,
1654 eHDD_LINK_SPEED_REPORT_MAX_SCALED = 2,
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07001655};
Agrawal Ashishe2219bb2017-01-10 20:18:33 +05301656
1657/*
1658 * <ini>
wadesong37779152018-11-15 13:08:15 +08001659 * gReportMaxLinkSpeed - Reporting of max link speed
1660 * @Min: 0
1661 * @Max: 2
1662 * @Default: 0
1663 *
1664 * This ini is used to control how max link speed is reported to OS when
1665 * driver is handling NL80211_CMD_GET_STATION request.
1666 * 0: report actual link speed;
1667 * 1: report max possible link speed;
1668 * 2: report max possible link speed with RSSI scaling.
1669 *
1670 * Related: NA.
1671 *
1672 * Supported Feature SAP
1673 *
1674 * Usage: Internal/External
1675 *
1676 * </ini>
1677 */
1678#define CFG_REPORT_MAX_LINK_SPEED "gReportMaxLinkSpeed"
1679#define CFG_REPORT_MAX_LINK_SPEED_MIN (eHDD_LINK_SPEED_REPORT_ACTUAL)
1680#define CFG_REPORT_MAX_LINK_SPEED_MAX (eHDD_LINK_SPEED_REPORT_MAX_SCALED)
1681#define CFG_REPORT_MAX_LINK_SPEED_DEFAULT (eHDD_LINK_SPEED_REPORT_ACTUAL)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001682
1683/*
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301684 * <ini>
1685 * gLinkSpeedRssiHigh - Report the max possible speed with RSSI scaling
1686 * @Min: 0
1687 * @Max: 1
1688 * @Default: 0
1689 *
1690 * This ini is used to set default eHDD_LINK_SPEED_REPORT
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001691 * Used when eHDD_LINK_SPEED_REPORT_SCALED is selected
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301692 *
1693 * Related: None
1694 *
1695 * Supported Feature: STA
1696 *
1697 * Usage: Internal/External
1698 *
1699 * </ini>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001700 */
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301701
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001702#define CFG_LINK_SPEED_RSSI_HIGH "gLinkSpeedRssiHigh"
1703#define CFG_LINK_SPEED_RSSI_HIGH_MIN (-127)
1704#define CFG_LINK_SPEED_RSSI_HIGH_MAX (0)
1705#define CFG_LINK_SPEED_RSSI_HIGH_DEFAULT (-55)
1706
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301707/*
1708 * <ini>
1709 * gLinkSpeedRssiMed - Used when eHDD_LINK_SPEED_REPORT_SCALED is selected
1710 * @Min: -127
1711 * @Max: 0
1712 * @Default: -65
1713 *
1714 * This ini is used to set medium rssi link speed
1715 *
1716 * Related: None
1717 *
1718 * Supported Feature: STA
1719 *
1720 * Usage: Internal/External
1721 *
1722 * </ini>
1723 */
1724
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001725#define CFG_LINK_SPEED_RSSI_MID "gLinkSpeedRssiMed"
1726#define CFG_LINK_SPEED_RSSI_MID_MIN (-127)
1727#define CFG_LINK_SPEED_RSSI_MID_MAX (0)
1728#define CFG_LINK_SPEED_RSSI_MID_DEFAULT (-65)
1729
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301730/*
1731 * <ini>
1732 * gLinkSpeedRssiLow - Used when eHDD_LINK_SPEED_REPORT_SCALED is selected
1733 * @Min: -127
1734 * @Max: 0
1735 * @Default: -80
1736 *
1737 * This ini is used to set low rssi link speed
1738 *
1739 * Related: None
1740 *
1741 * Supported Feature: STA
1742 *
1743 * Usage: Internal/External
1744 *
1745 * </ini>
1746 */
1747
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001748#define CFG_LINK_SPEED_RSSI_LOW "gLinkSpeedRssiLow"
1749#define CFG_LINK_SPEED_RSSI_LOW_MIN (-127)
1750#define CFG_LINK_SPEED_RSSI_LOW_MAX (0)
1751#define CFG_LINK_SPEED_RSSI_LOW_DEFAULT (-80)
1752
Ashish Kumar Dhanotiya12f68212018-09-04 22:00:14 +05301753#ifdef ENABLE_MTRACE_LOG
1754/*
1755 * Enable MTRACE for all modules
1756 */
1757#define CFG_ENABLE_MTRACE "enable_mtrace"
1758#define CFG_ENABLE_MTRACE_MIN (0)
1759#define CFG_ENABLE_MTRACE_MAX (1)
1760#define CFG_ENABLE_MTRACE_DEFAULT (0)
1761#endif
1762
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001763#define HDD_MCASTBCASTFILTER_FILTER_NONE 0x00
1764#define HDD_MCASTBCASTFILTER_FILTER_ALL_MULTICAST 0x01
1765#define HDD_MCASTBCASTFILTER_FILTER_ALL_BROADCAST 0x02
1766#define HDD_MCASTBCASTFILTER_FILTER_ALL_MULTICAST_BROADCAST 0x03
1767#define HDD_MULTICAST_FILTER_LIST 0x04
1768#define HDD_MULTICAST_FILTER_LIST_CLEAR 0x05
1769
Poddar, Siddarthb61cf642016-04-28 16:02:39 +05301770#if defined(CONFIG_HL_SUPPORT) && defined(QCA_BAD_PEER_TX_FLOW_CL)
1771/*
1772 * Enable/Disable Bad Peer TX CTL feature
1773 * Default: Enable
1774 */
1775#define CFG_BAD_PEER_TX_CTL_ENABLE_NAME "gBadPeerTxCtlEnable"
1776#define CFG_BAD_PEER_TX_CTL_ENABLE_MIN (0)
1777#define CFG_BAD_PEER_TX_CTL_ENABLE_MAX (1)
1778#define CFG_BAD_PEER_TX_CTL_ENABLE_DEFAULT (1)
1779
1780#define CFG_BAD_PEER_TX_CTL_PERIOD_NAME "gBadPeerTxCtlPeriod"
1781#define CFG_BAD_PEER_TX_CTL_PERIOD_MIN (10)
1782#define CFG_BAD_PEER_TX_CTL_PERIOD_MAX (10000)
1783#define CFG_BAD_PEER_TX_CTL_PERIOD_DEFAULT (50)
1784
1785#define CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_NAME "gBadPeerTxCtlTxqLimit"
1786#define CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_MIN (1)
1787#define CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_MAX (5000)
1788#define CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_DEFAULT (100)
1789
1790#define CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_NAME "gBadPeerTxCtlTgtBackoffTime"
1791#define CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_MIN (1)
1792#define CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_MAX (5000)
1793#define CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_DEFAULT (20)
1794
1795#define CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_NAME "gBadPeerTxCtlTgtReportPeriod"
1796#define CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_MIN (1)
1797#define CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_MAX (5000)
1798#define CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_DEFAULT (500)
1799
1800#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_NAME "gBadPeerTxCtlCondLevelIeeeB"
1801#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_MIN (1)
1802#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_MAX (2)
1803#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_DEFAULT (2)
1804
1805#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_NAME "gBadPeerTxCtlDeltaLevelIeeeB"
1806#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_MIN (1)
1807#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_MAX (11)
1808#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_DEFAULT (2)
1809
1810#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_NAME "gBadPeerTxCtlPctLevelIeeeB"
1811#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_MIN (1)
1812#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_MAX (8)
1813#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_DEFAULT (1)
1814
1815#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_NAME "gBadPeerTxCtlTputLevelIeeeB"
1816#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_MIN (1)
1817#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_MAX (11)
1818#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_DEFAULT (2)
1819
1820#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_NAME "gBadPeerTxCtlTxLimitLevelIeeeB"
1821#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_MIN (0)
1822#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_MAX (50)
1823#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_DEFAULT (3)
1824
1825#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_NAME "gBadPeerTxCtlCondLevelIeeeAG"
1826#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_MIN (1)
1827#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_MAX (2)
1828#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_DEFAULT (2)
1829
1830#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_NAME "gBadPeerTxCtlDeltaLevelIeeeAG"
1831#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_MIN (6)
1832#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_MAX (54)
1833#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_DEFAULT (6)
1834
1835#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_NAME "gBadPeerTxCtlPctLevelIeeeAG"
1836#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_MIN (1)
1837#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_MAX (8)
1838#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_DEFAULT (1)
1839
1840#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_NAME "gBadPeerTxCtlTputLevelIeeeAG"
1841#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_MIN (6)
1842#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_MAX (54)
1843#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_DEFAULT (6)
1844
1845#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_NAME "gBadPeerTxCtlTxLimitLevelIeeeAG"
1846#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_MIN (0)
1847#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_MAX (50)
1848#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_DEFAULT (3)
1849
1850#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_NAME "gBadPeerTxCtlCondLevelIeeeN"
1851#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_MIN (1)
1852#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_MAX (2)
1853#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_DEFAULT (2)
1854
1855#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_NAME "gBadPeerTxCtlDeltaLevelIeeeN"
1856#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_MIN (6)
1857#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_MAX (72)
1858#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_DEFAULT (6)
1859
1860#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_NAME "gBadPeerTxCtlPctLevelIeeeN"
1861#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_MIN (1)
1862#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_MAX (8)
1863#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_DEFAULT (1)
1864
1865#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_NAME "gBadPeerTxCtlTputLevelIeeeN"
1866#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_MIN (6)
1867#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_MAX (72)
1868#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_DEFAULT (15)
1869
1870#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_NAME "gBadPeerTxCtlTxLimitLevelIeeeN"
1871#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_MIN (0)
1872#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_MAX (50)
1873#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_DEFAULT (3)
1874
1875#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_NAME "gBadPeerTxCtlCondLevelIeeeAC"
1876#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_MIN (1)
1877#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_MAX (2)
1878#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_DEFAULT (2)
1879
1880#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_NAME "gBadPeerTxCtlDeltaLevelIeeeAC"
1881#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_MIN (6)
1882#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_MAX (433)
1883#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_DEFAULT (6)
1884
1885#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_NAME "gBadPeerTxCtlPctLevelIeeeAC"
1886#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_MIN (1)
1887#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_MAX (8)
1888#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_DEFAULT (1)
1889
1890#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_NAME "gBadPeerTxCtlTputLevelIeeeAC"
1891#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_MIN (6)
1892#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_MAX (433)
1893#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_DEFAULT (15)
1894
1895#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_NAME "gBadPeerTxCtlTxLimitLevelIeeeAC"
1896#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_MIN (0)
1897#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_MAX (50)
1898#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_DEFAULT (3)
1899#endif
1900
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001901/*
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301902 * <ini>
1903 * gMCAddrListEnable - Enable/Disable Multicast MAC Address List feature
1904 * @Min: 0
1905 * @Max: 1
1906 * @Default: 1
1907 *
1908 * This ini is used to set default MAC Address
Dustin Brownd03bf592016-09-08 14:40:51 -07001909 * Default: Enable
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301910 *
1911 * Related: None
1912 *
1913 * Supported Feature: STA
1914 *
1915 * Usage: Internal/External
1916 *
1917 * </ini>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001918 */
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301919
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001920#define CFG_MC_ADDR_LIST_ENABLE_NAME "gMCAddrListEnable"
1921#define CFG_MC_ADDR_LIST_ENABLE_MIN (0)
1922#define CFG_MC_ADDR_LIST_ENABLE_MAX (1)
Dustin Brownd03bf592016-09-08 14:40:51 -07001923#define CFG_MC_ADDR_LIST_ENABLE_DEFAULT (1)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001924
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301925/*
1926 * <ini>
1927 * gEnableRXSTBC - Enables/disables Rx STBC capability in STA mode
1928 * @Min: 0
1929 * @Max: 1
1930 * @Default: 1
1931 *
1932 * This ini is used to set default Rx STBC capability
1933 *
1934 * Related: None
1935 *
1936 * Supported Feature: STA
1937 *
1938 * Usage: Internal/External
1939 *
1940 * </ini>
1941 */
1942
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001943#define CFG_ENABLE_RX_STBC "gEnableRXSTBC"
1944#define CFG_ENABLE_RX_STBC_MIN (0)
1945#define CFG_ENABLE_RX_STBC_MAX (1)
1946#define CFG_ENABLE_RX_STBC_DEFAULT (1)
1947
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301948/*
1949 * <ini>
1950 * gEnableTXSTBC - Enables/disables Tx STBC capability in STA mode
1951 * @Min: 0
1952 * @Max: 1
1953 * @Default: 0
1954 *
1955 * This ini is used to set default Tx STBC capability
1956 *
1957 * Related: None
1958 *
1959 * Supported Feature: STA
1960 *
1961 * Usage: Internal/External
1962 *
1963 * </ini>
1964 */
1965
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001966#define CFG_ENABLE_TX_STBC "gEnableTXSTBC"
1967#define CFG_ENABLE_TX_STBC_MIN (0)
1968#define CFG_ENABLE_TX_STBC_MAX (1)
1969#define CFG_ENABLE_TX_STBC_DEFAULT (0)
1970
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301971/*
1972 * <ini>
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301973 * gEnableSNRMonitoring - Enables SNR Monitoring
1974 * @Min: 0
1975 * @Max: 1
1976 * @Default: 0
1977 *
1978 * This ini is used to set default snr monitor
1979 *
1980 * Related: None
1981 *
1982 * Supported Feature: STA
1983 *
1984 * Usage: Internal/External
1985 *
1986 * </ini>
1987 */
1988
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001989#define CFG_ENABLE_SNR_MONITORING_NAME "gEnableSNRMonitoring"
1990#define CFG_ENABLE_SNR_MONITORING_MIN (0)
1991#define CFG_ENABLE_SNR_MONITORING_MAX (1)
1992#define CFG_ENABLE_SNR_MONITORING_DEFAULT (0)
1993
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001994#ifdef FEATURE_WLAN_RA_FILTERING
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001995#define CFG_RA_RATE_LIMIT_INTERVAL_NAME "gRArateLimitInterval"
1996#define CFG_RA_RATE_LIMIT_INTERVAL_MIN (60)
1997#define CFG_RA_RATE_LIMIT_INTERVAL_MAX (3600)
1998#define CFG_RA_RATE_LIMIT_INTERVAL_DEFAULT (60) /*60 SEC */
1999#endif
2000
Sen, Devendra9ca8c432017-02-23 15:10:26 +05302001/*
2002 * <ini>
Sen, Devendra9ca8c432017-02-23 15:10:26 +05302003 * gEnableMemoryDebug - Enables the memory debug
2004 * @Min: 0
2005 * @Max: 1
2006 * @Default: 1
2007 *
2008 * This ini is used to enable default memory debug
2009 *
2010 * Related: None
2011 *
2012 * Supported Feature: STA
2013 *
2014 * Usage: Internal/External
2015 *
2016 * </ini>
2017 */
2018
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002019#ifdef MEMORY_DEBUG
2020#define CFG_ENABLE_MEMORY_DEBUG_NAME "gEnableMemoryDebug"
2021#define CFG_ENABLE_MEMORY_DEBUG_MIN (0)
2022#define CFG_ENABLE_MEMORY_DEBUG_MAX (1)
2023#define CFG_ENABLE_MEMORY_DEBUG_DEFAULT (1)
2024#endif
2025
Ravi Kumar Bokka05c14e52017-03-27 14:48:23 +05302026/*
2027 * <ini>
Sen, Devendra9ca8c432017-02-23 15:10:26 +05302028 * gInitialDwellTime - Used to set initial dwell time
2029 * @Min: 0
2030 * @Max: 0
2031 * @Default: 100
2032 *
2033 * This ini is used to set default initial dwell time
2034 *
2035 * Related: None
2036 *
2037 * Supported Feature: STA
2038 *
2039 * Usage: Internal/External
2040 *
2041 * </ini>
2042 */
2043
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002044#define CFG_INITIAL_DWELL_TIME_NAME "gInitialDwellTime"
2045#define CFG_INITIAL_DWELL_TIME_DEFAULT (0)
2046#define CFG_INITIAL_DWELL_TIME_MIN (0)
2047#define CFG_INITIAL_DWELL_TIME_MAX (100)
2048
Sen, Devendra9ca8c432017-02-23 15:10:26 +05302049/*
2050 * <ini>
2051 * gInitialScanNoDFSChnl - WLAN skips scanning the DFS channels
2052 * @Min: 0
2053 * @Max: 0
2054 * @Default: 1
2055 *
2056 * This ini is used to set for the first scan after driver
2057 *
2058 * Related: None
2059 *
2060 * Supported Feature: STA
2061 *
2062 * Usage: Internal/External
2063 *
2064 * </ini>
2065 */
2066
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002067#define CFG_INITIAL_SCAN_NO_DFS_CHNL_NAME "gInitialScanNoDFSChnl"
2068#define CFG_INITIAL_SCAN_NO_DFS_CHNL_DEFAULT (0)
2069#define CFG_INITIAL_SCAN_NO_DFS_CHNL_MIN (0)
2070#define CFG_INITIAL_SCAN_NO_DFS_CHNL_MAX (1)
2071
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002072#ifdef MSM_PLATFORM
Mohit Khannaca4173b2017-09-12 21:52:19 -07002073/*
2074 * <ini>
2075 * periodic_stats_display_time - time(seconds) after which stats will be printed
2076 * @Min: 0
2077 * @Max: 256
2078 * @Default: 10
2079 *
2080 * This values specifies the recurring time period after which stats will be
2081 * printed in wlan driver logs.
2082 *
2083 * Usage: Internal / External
2084 *
2085 * </ini>
2086 */
2087#define CFG_PERIODIC_STATS_DISPLAY_TIME_NAME "periodic_stats_display_time"
2088#define CFG_PERIODIC_STATS_DISPLAY_TIME_DEFAULT (10)
2089#define CFG_PERIODIC_STATS_DISPLAY_TIME_MIN (0)
2090#define CFG_PERIODIC_STATS_DISPLAY_TIME_MAX (256)
2091
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002092#endif /* MSM_PLATFORM */
2093
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002094#ifdef DHCP_SERVER_OFFLOAD
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002095#define CFG_DHCP_SERVER_IP_NAME "gDHCPServerIP"
2096#define CFG_DHCP_SERVER_IP_DEFAULT ""
2097#endif /* DHCP_SERVER_OFFLOAD */
2098
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002099#define CFG_ENABLE_MAC_ADDR_SPOOFING "gEnableMacAddrSpoof"
2100#define CFG_ENABLE_MAC_ADDR_SPOOFING_MIN (0)
2101#define CFG_ENABLE_MAC_ADDR_SPOOFING_MAX (1)
2102#define CFG_ENABLE_MAC_ADDR_SPOOFING_DEFAULT (1)
2103
Agrawal Ashishe030f782017-01-27 17:52:05 +05302104/*
2105 * <ini>
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05302106 * gSAP11ACOverride - Override bw to 11ac for SAP in driver even if supplicant
2107 * or hostapd configures HT.
Agrawal Ashishe030f782017-01-27 17:52:05 +05302108 * @Min: 0
2109 * @Max: 1
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05302110 * @Default: 0
Agrawal Ashishe030f782017-01-27 17:52:05 +05302111 *
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05302112 * This ini is used to enable/disable 11AC override for SAP.
2113 * Android UI does not provide advanced configuration options
2114 * for SoftAP for Android O and below.
2115 * Default override disabled for android. Can be enabled from
2116 * ini for Android O and below.
Agrawal Ashishe030f782017-01-27 17:52:05 +05302117 *
2118 *
2119 * Supported Feature: SAP
2120 *
2121 *
2122 * Usage: Internal/External
2123 *
2124 * </ini>
2125 */
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05302126#define CFG_SAP_11AC_OVERRIDE_NAME "gSAP11ACOverride"
2127#define CFG_SAP_11AC_OVERRIDE_MIN (0)
2128#define CFG_SAP_11AC_OVERRIDE_MAX (1)
2129#define CFG_SAP_11AC_OVERRIDE_DEFAULT (0)
Agrawal Ashishe030f782017-01-27 17:52:05 +05302130
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05302131/*
2132 * <ini>
2133 * gGO11ACOverride - Override bw to 11ac for P2P GO
2134 * @Min: 0
2135 * @Max: 1
2136 * @Default: 1
2137 *
2138 * This ini is used to enable/disable 11AC override for GO.
2139 * P2P GO also follows start_bss and since P2P GO could not be
2140 * configured to setup VHT channel width in wpa_supplicant, driver
2141 * can override 11AC.
2142 *
2143 *
2144 * Supported Feature: P2P
2145 *
2146 *
2147 * Usage: Internal/External
2148 *
2149 * </ini>
2150 */
2151#define CFG_GO_11AC_OVERRIDE_NAME "gGO11ACOverride"
2152#define CFG_GO_11AC_OVERRIDE_MIN (0)
2153#define CFG_GO_11AC_OVERRIDE_MAX (1)
2154#define CFG_GO_11AC_OVERRIDE_DEFAULT (1)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002155
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002156/*
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002157 * set the self gen power value from
2158 * 0 to 0xffff
2159 */
2160#define CFG_SELF_GEN_FRM_PWR "gSelfGenFrmPwr"
2161#define CFG_SELF_GEN_FRM_PWR_MIN (0)
2162#define CFG_SELF_GEN_FRM_PWR_MAX (0xffff)
2163#define CFG_SELF_GEN_FRM_PWR_DEFAULT (0)
2164
2165/*
Agrawal Ashishe030f782017-01-27 17:52:05 +05302166 * <ini>
Kiran Kumar Lokere1a43bcf2018-05-15 15:51:58 -07002167 * etsi13_srd_chan_in_master_mode - Enable/disable ETSI SRD channels in
2168 * master mode PCL and ACS functionality
2169 * @Min: 0
2170 * @Max: 1
2171 * @Default: 0
2172 *
2173 * etsi13_srd_chan_in_master_mode is to enable/disable ETSI SRD channels in
2174 * master mode PCL and ACS functionality
2175 *
2176 * Related: None
2177 *
2178 * Supported Feature: SAP/P2P-GO
2179 *
2180 * Usage: Internal/External
2181 *
2182 * </ini>
2183 */
2184#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE "etsi13_srd_chan_in_master_mode"
2185#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_DEF (0)
2186#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MIN (0)
2187#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MAX (1)
2188
Nitesh Shah5651b1e2017-02-02 17:59:52 +05302189/*
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07002190 * gPNOChannelPrediction will allow user to enable/disable the
2191 * PNO channel prediction feature.
2192 * In current PNO implementation, scan is always done until all configured
2193 * channels are scanned. If we can determine DUT is stationary based on
2194 * scanning a subset of channels, we may cancel the remaining channels.
2195 * Hence, we can save additional power consumption.
2196 */
2197#define CFG_PNO_CHANNEL_PREDICTION_NAME "gPNOChannelPrediction"
2198#define CFG_PNO_CHANNEL_PREDICTION_MIN (0)
2199#define CFG_PNO_CHANNEL_PREDICTION_MAX (1)
2200#define CFG_PNO_CHANNEL_PREDICTION_DEFAULT (0)
2201/*
2202 * The top K number of channels are used for tanimoto distance
2203 * calculation. These are the top channels on which the probability
2204 * of finding the AP's is extremely high. This number is intended
2205 * for tweaking the internal algorithm for experiments. This should
2206 * not be changed externally.
2207 */
2208#define CFG_TOP_K_NUM_OF_CHANNELS_NAME "gTopKNumOfChannels"
2209#define CFG_TOP_K_NUM_OF_CHANNELS_MIN (1)
2210#define CFG_TOP_K_NUM_OF_CHANNELS_MAX (5)
2211#define CFG_TOP_K_NUM_OF_CHANNELS_DEFAULT (3)
2212/*
2213 * This is the threshold value to determine that the STA is
2214 * stationary. If the tanimoto distance is less than this
2215 * value, then the device is considered to be stationary.
2216 * This parameter is intended to tweak the internal algorithm
2217 * for experiments. This should not be changed externally.
2218 */
2219#define CFG_STATIONARY_THRESHOLD_NAME "gStationaryThreshold"
2220#define CFG_STATIONARY_THRESHOLD_MIN (0)
2221#define CFG_STATIONARY_THRESHOLD_MAX (100)
2222#define CFG_STATIONARY_THRESHOLD_DEFAULT (10)
Varun Reddy Yeturu044bda22015-11-21 22:03:40 -08002223
Yu Wang66a250b2017-07-19 11:46:40 +08002224#ifdef WLAN_FEATURE_TSF_PLUS
2225/* PTP options */
2226#define CFG_SET_TSF_PTP_OPT_NAME "gtsf_ptp_options"
2227#define CFG_SET_TSF_PTP_OPT_MIN (0)
2228#define CFG_SET_TSF_PTP_OPT_MAX (0xff)
2229#define CFG_SET_TSF_PTP_OPT_RX (0x1)
2230#define CFG_SET_TSF_PTP_OPT_TX (0x2)
2231#define CFG_SET_TSF_PTP_OPT_RAW (0x4)
2232#define CFG_SET_TSF_DBG_FS (0x8)
2233#define CFG_SET_TSF_PTP_OPT_DEFAULT (0xf)
2234#endif
2235
Nirav Shahd21a2e32018-04-20 16:34:43 +05302236#ifdef CONFIG_DP_TRACE
gbian62edd7e2017-03-07 13:12:13 +08002237/*
Nirav Shahcc1f1ae2016-04-26 11:41:29 +05302238 * Enable/disable DPTRACE
2239 * Enabling this might have performace impact.
2240 */
2241#define CFG_ENABLE_DP_TRACE "enable_dp_trace"
2242#define CFG_ENABLE_DP_TRACE_MIN (0)
Mohit Khannaf8f96822017-05-17 17:11:59 -07002243#define CFG_ENABLE_DP_TRACE_MAX (1)
Nirav Shah1da77682016-05-03 20:16:39 +05302244#define CFG_ENABLE_DP_TRACE_DEFAULT (1)
Nirav Shahcc1f1ae2016-04-26 11:41:29 +05302245
Mohit Khannaf8f96822017-05-17 17:11:59 -07002246/* Max length of gDptraceConfig string. e.g.- "1, 6, 1, 62" */
2247#define DP_TRACE_CONFIG_STRING_LENGTH (20)
2248
2249/* At max 4 DP Trace config parameters are allowed. Refer - gDptraceConfig */
2250#define DP_TRACE_CONFIG_NUM_PARAMS (4)
2251
2252/*
2253 * Default value of live mode in case it cannot be determined from cfg string
2254 * gDptraceConfig
2255 */
2256#define DP_TRACE_CONFIG_DEFAULT_LIVE_MODE (1)
2257
2258/*
2259 * Default value of thresh (packets/second) beyond which DP Trace is disabled.
2260 * Use this default in case the value cannot be determined from cfg string
2261 * gDptraceConfig
2262 */
Mohit Khannaf7562c32018-07-05 17:42:36 -07002263#define DP_TRACE_CONFIG_DEFAULT_THRESH (6)
Mohit Khannaf8f96822017-05-17 17:11:59 -07002264
2265/*
2266 * Number of intervals of BW timer to wait before enabling/disabling DP Trace.
2267 * Since throughput threshold to disable live logging for DP Trace is very low,
2268 * we calculate throughput based on # packets received in a second.
Mohit Khannaf7562c32018-07-05 17:42:36 -07002269 * For example assuming bandwidth timer interval is 100ms, and if more than 6
2270 * prints are received in 10 * 100 ms interval, we want to disable DP Trace
Mohit Khannaf8f96822017-05-17 17:11:59 -07002271 * live logging. DP_TRACE_CONFIG_DEFAULT_THRESH_TIME_LIMIT is the default
2272 * value, to be used in case the real value cannot be derived from
2273 * bw timer interval
2274 */
2275#define DP_TRACE_CONFIG_DEFAULT_THRESH_TIME_LIMIT (10)
2276
2277/* Default proto bitmap in case its missing in gDptraceConfig string */
2278#define DP_TRACE_CONFIG_DEFAULT_BITMAP \
2279 (QDF_NBUF_PKT_TRAC_TYPE_EAPOL |\
2280 QDF_NBUF_PKT_TRAC_TYPE_DHCP |\
2281 QDF_NBUF_PKT_TRAC_TYPE_MGMT_ACTION |\
2282 QDF_NBUF_PKT_TRAC_TYPE_ARP |\
Poddar, Siddarth44aa5aa2017-07-10 17:30:22 +05302283 QDF_NBUF_PKT_TRAC_TYPE_ICMP |\
2284 QDF_NBUF_PKT_TRAC_TYPE_ICMPv6)\
Mohit Khannaf8f96822017-05-17 17:11:59 -07002285
2286/* Default verbosity, in case its missing in gDptraceConfig string*/
2287#define DP_TRACE_CONFIG_DEFAULT_VERBOSTY QDF_DP_TRACE_VERBOSITY_LOW
jitiphilb03ae082018-11-09 17:41:59 +05302288
Mohit Khannaf8f96822017-05-17 17:11:59 -07002289#define CFG_ENABLE_DP_TRACE_CONFIG "gDptraceConfig"
Mohit Khannaf7562c32018-07-05 17:42:36 -07002290#define CFG_ENABLE_DP_TRACE_CONFIG_DEFAULT "1, 6, 2, 126"
Nirav Shahd21a2e32018-04-20 16:34:43 +05302291#endif
Mohit Khannaf8f96822017-05-17 17:11:59 -07002292
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05302293/*
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05302294 * This parameter will set the weight to calculate the average low pass
2295 * filter for channel congestion.
2296 * Acceptable values for this: 0-100 (In %)
2297 */
2298#define CFG_ADAPT_DWELL_LPF_WEIGHT_NAME "adapt_dwell_lpf_weight"
2299#define CFG_ADAPT_DWELL_LPF_WEIGHT_MIN (0)
2300#define CFG_ADAPT_DWELL_LPF_WEIGHT_MAX (100)
2301#define CFG_ADAPT_DWELL_LPF_WEIGHT_DEFAULT (80)
2302
2303/*
2304 * This parameter will set interval to monitor wifi activity
2305 * in passive scan in msec.
2306 * Acceptable values for this: 0-25
2307 */
2308#define CFG_ADAPT_DWELL_PASMON_INTVAL_NAME "adapt_dwell_passive_mon_intval"
2309#define CFG_ADAPT_DWELL_PASMON_INTVAL_MIN (0)
Kapil Gupta6eb83c02017-03-03 11:07:52 +05302310#define CFG_ADAPT_DWELL_PASMON_INTVAL_MAX (25)
2311#define CFG_ADAPT_DWELL_PASMON_INTVAL_DEFAULT (10)
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05302312
2313/*
2314 * This parameter will set % of wifi activity used in passive scan 0-100.
2315 * Acceptable values for this: 0-100 (in %)
2316 */
2317#define CFG_ADAPT_DWELL_WIFI_THRESH_NAME "adapt_dwell_wifi_act_threshold"
2318#define CFG_ADAPT_DWELL_WIFI_THRESH_MIN (0)
2319#define CFG_ADAPT_DWELL_WIFI_THRESH_MAX (100)
2320#define CFG_ADAPT_DWELL_WIFI_THRESH_DEFAULT (10)
2321
2322/*
Manjeet Singha5acc162017-01-06 17:38:16 +05302323 * <ini>
Hanumanth Reddy Pothulaffc2d482017-07-04 11:32:44 +05302324 * restart_beaconing_on_chan_avoid_event - control the beaconing entity to move
2325 * away from active LTE channels
Hanumanth Reddy Pothula9c161dd2017-03-23 19:03:08 +05302326 * @Min: 0
Tushnim Bhattacharyya3efa49a2017-07-18 15:43:09 -07002327 * @Max: 2
Hanumanth Reddy Pothula9c161dd2017-03-23 19:03:08 +05302328 * @Default: 1
2329 *
Hanumanth Reddy Pothulaffc2d482017-07-04 11:32:44 +05302330 * This ini is used to control the beaconing entity (SAP/GO) to move away from
2331 * active LTE channels when channel avoidance event is received
2332 * restart_beaconing_on_chan_avoid_event=0: Don't allow beaconing entity move
2333 * from active LTE channels
2334 * restart_beaconing_on_chan_avoid_event=1: Allow beaconing entity move from
2335 * active LTE channels
Tushnim Bhattacharyya3efa49a2017-07-18 15:43:09 -07002336 * restart_beaconing_on_chan_avoid_event=2: Allow beaconing entity move from
2337 * 2.4G active LTE channels only
Hanumanth Reddy Pothula9c161dd2017-03-23 19:03:08 +05302338 *
2339 * Related: None
2340 *
2341 * Supported Feature: channel avoidance
2342 *
2343 * Usage: Internal/External
2344 *
2345 * </ini>
2346 */
Hanumanth Reddy Pothulaffc2d482017-07-04 11:32:44 +05302347#define CFG_RESTART_BEACONING_ON_CH_AVOID_NAME "restart_beaconing_on_chan_avoid_event"
Tushnim Bhattacharyya3efa49a2017-07-18 15:43:09 -07002348#define CFG_RESTART_BEACONING_ON_CH_AVOID_MIN (CH_AVOID_RULE_DO_NOT_RESTART)
2349#define CFG_RESTART_BEACONING_ON_CH_AVOID_MAX (CH_AVOID_RULE_RESTART_24G_ONLY)
2350#define CFG_RESTART_BEACONING_ON_CH_AVOID_DEFAULT (CH_AVOID_RULE_RESTART)
Agrawal, Ashish4e5fa1c2016-09-21 19:03:43 +05302351
2352/*
Amar Singhal18517882016-08-08 12:26:20 -07002353 * Support to start sap in indoor channel
2354 * Customer can config this item to enable/disable sap in indoor channel
2355 * Default: Disable
2356 */
2357#define CFG_INDOOR_CHANNEL_SUPPORT_NAME "gindoor_channel_support"
2358#define CFG_INDOOR_CHANNEL_SUPPORT_MIN (0)
2359#define CFG_INDOOR_CHANNEL_SUPPORT_MAX (1)
2360#define CFG_INDOOR_CHANNEL_SUPPORT_DEFAULT (0)
Nirav Shahbd36b062016-07-18 11:12:59 +05302361
Mukul Sharmaecf8e092017-12-19 22:36:31 +05302362
2363/*
Anurag Chouhan7c01cc42016-12-16 21:33:43 +05302364 * <ini>
Manjeet Singha9cae432017-02-28 11:58:22 +05302365 * enable_5g_band_pref - Enable preference for 5G from INI.
2366 * @Min: 0
2367 * @Max: 1
2368 * @Default: 0
2369 * This ini is used to enable 5G preference parameters.
2370 *
2371 * Related: 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
2372 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
2373 *
2374 * Supported Feature: 5G band preference
2375 *
2376 * Usage: External
2377 *
2378 * </ini>
2379 */
2380
2381#define CFG_ENABLE_5G_BAND_PREF_NAME "enable_5g_band_pref"
2382#define CFG_ENABLE_5G_BAND_PREF_MIN (0)
2383#define CFG_ENABLE_5G_BAND_PREF_MAX (1)
2384#define CFG_ENABLE_5G_BAND_PREF_DEFAULT (0)
2385
2386/*
2387 * <ini>
2388 * 5g_rssi_boost_threshold - A_band_boost_threshold above which 5 GHz is favored.
2389 * @Min: -55
2390 * @Max: -70
2391 * @Default: -60
2392 * This ini is used to set threshold for 5GHz band preference.
2393 *
2394 * Related: 5g_rssi_boost_factor, 5g_max_rssi_boost
2395 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
2396 *
2397 * Supported Feature: 5G band preference
2398 *
2399 * Usage: External
2400 *
2401 * </ini>
2402 */
2403#define CFG_5G_RSSI_BOOST_THRESHOLD_NAME "5g_rssi_boost_threshold"
2404#define CFG_5G_RSSI_BOOST_THRESHOLD_MIN (-55)
2405#define CFG_5G_RSSI_BOOST_THRESHOLD_MAX (-70)
2406#define CFG_5G_RSSI_BOOST_THRESHOLD_DEFAULT (-60)
2407
2408/*
2409 * <ini>
2410 * 5g_rssi_boost_factor - Factor by which 5GHz RSSI is boosted.
2411 * @Min: 0
2412 * @Max: 2
2413 * @Default: 1
2414 * This ini is used to set the 5Ghz boost factor.
2415 *
2416 * Related: 5g_rssi_boost_threshold, 5g_max_rssi_boost
2417 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
2418 *
2419 * Supported Feature: 5G band preference
2420 *
2421 * Usage: External
2422 *
2423 * </ini>
2424 */
2425#define CFG_5G_RSSI_BOOST_FACTOR_NAME "5g_rssi_boost_factor"
2426#define CFG_5G_RSSI_BOOST_FACTOR_MIN (0)
2427#define CFG_5G_RSSI_BOOST_FACTOR_MAX (2)
2428#define CFG_5G_RSSI_BOOST_FACTOR_DEFAULT (1)
2429
2430/*
2431 * <ini>
2432 * 5g_max_rssi_boost - Maximum boost that can be applied to 5GHz RSSI.
2433 * @Min: 0
2434 * @Max: 20
2435 * @Default: 10
2436 * This ini is used to set maximum boost which can be given to a 5Ghz network.
2437 *
2438 * Related: 5g_rssi_boost_threshold, 5g_rssi_boost_factor
2439 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
2440 *
2441 * Supported Feature: 5G band preference
2442 *
2443 * Usage: External
2444 *
2445 * </ini>
2446 */
2447#define CFG_5G_MAX_RSSI_BOOST_NAME "5g_max_rssi_boost"
2448#define CFG_5G_MAX_RSSI_BOOST_MIN (0)
2449#define CFG_5G_MAX_RSSI_BOOST_MAX (20)
2450#define CFG_5G_MAX_RSSI_BOOST_DEFAULT (10)
2451
2452/*
2453 * <ini>
2454 * 5g_rssi_penalize_threshold - A_band_penalize_threshold above which
2455 * 5 GHz is not favored.
2456 * @Min: -65
2457 * @Max: -80
2458 * @Default: -70
2459 * This ini is used to set threshold for 5GHz band preference.
2460 *
2461 * Related: 5g_rssi_penalize_factor, 5g_max_rssi_penalize
2462 * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
2463 *
2464 * Supported Feature: 5G band preference
2465 *
2466 * Usage: External
2467 *
2468 * </ini>
2469 */
2470#define CFG_5G_RSSI_PENALIZE_THRESHOLD_NAME "5g_rssi_penalize_threshold"
2471#define CFG_5G_RSSI_PENALIZE_THRESHOLD_MIN (-65)
2472#define CFG_5G_RSSI_PENALIZE_THRESHOLD_MAX (-80)
2473#define CFG_5G_RSSI_PENALIZE_THRESHOLD_DEFAULT (-70)
2474
2475/*
2476 * <ini>
2477 * 5g_rssi_penalize_factor - Factor by which 5GHz RSSI is penalizeed.
2478 * @Min: 0
2479 * @Max: 2
2480 * @Default: 1
2481 * This ini is used to set the 5Ghz penalize factor.
2482 *
2483 * Related: 5g_rssi_penalize_threshold, 5g_max_rssi_penalize
2484 * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
2485 *
2486 * Supported Feature: 5G band preference
2487 *
2488 * Usage: External
2489 *
2490 * </ini>
2491 */
2492#define CFG_5G_RSSI_PENALIZE_FACTOR_NAME "5g_rssi_penalize_factor"
2493#define CFG_5G_RSSI_PENALIZE_FACTOR_MIN (0)
2494#define CFG_5G_RSSI_PENALIZE_FACTOR_MAX (2)
2495#define CFG_5G_RSSI_PENALIZE_FACTOR_DEFAULT (1)
2496
2497/*
2498 * <ini>
2499 * 5g_max_rssi_penalize - Maximum penalty that can be applied to 5GHz RSSI.
2500 * @Min: 0
2501 * @Max: 20
2502 * @Default: 10
2503 * This ini is used to set maximum penalty which can be given to a 5Ghz network.
2504 *
2505 * Related: 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor
2506 * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
2507 *
2508 * Supported Feature: 5G band preference
2509 *
2510 * Usage: External
2511 *
2512 * </ini>
2513 */
2514#define CFG_5G_MAX_RSSI_PENALIZE_NAME "5g_max_rssi_penalize"
2515#define CFG_5G_MAX_RSSI_PENALIZE_MIN (0)
2516#define CFG_5G_MAX_RSSI_PENALIZE_MAX (20)
2517#define CFG_5G_MAX_RSSI_PENALIZE_DEFAULT (10)
2518
2519/*
2520 * <ini>
Selvaraj, Sridhar0a71e542017-01-10 10:21:06 +05302521 * gEnableImps - Enable/Disable IMPS
2522 * @Min: 0
2523 * @Max: 1
2524 * @Default: 1
2525 *
2526 * This ini is used to enable/Disable IMPS(IdleModePowerSave) Mode
2527 *
2528 * Related: None
2529 *
2530 * Supported Feature: Power Save
2531 *
2532 * Usage: External
2533 *
2534 * </ini>
2535 */
2536#define CFG_ENABLE_IMPS_NAME "gEnableImps"
2537#define CFG_ENABLE_IMPS_MIN (0)
2538#define CFG_ENABLE_IMPS_MAX (1)
2539#define CFG_ENABLE_IMPS_DEFAULT (1)
2540
2541/*
2542 * <ini>
2543 * gEnableBmps - Enable/Disable BMPS
2544 * @Min: 0
2545 * @Max: 1
2546 * @Default: 1
2547 *
2548 * This ini is used to enable/Disable BMPS(BeaconModePowerSave) Mode
2549 *
2550 * Related: None
2551 *
2552 * Supported Feature: Power Save
2553 *
2554 * Usage: External
2555 *
2556 * </ini>
2557 */
2558#define CFG_ENABLE_PS_NAME "gEnableBmps"
2559#define CFG_ENABLE_PS_MIN (0)
2560#define CFG_ENABLE_PS_MAX (1)
2561#define CFG_ENABLE_PS_DEFAULT (1)
2562
2563/*
2564 * <ini>
2565 * gAutoBmpsTimerValue - Set Auto BMPS Timer value
2566 * @Min: 0
2567 * @Max: 120
Pragaspathi Thilagaraja19068f2018-10-01 15:44:06 +05302568 * @Default: 90
Selvaraj, Sridhar0a71e542017-01-10 10:21:06 +05302569 *
2570 * This ini is used to set Auto BMPS Timer value in seconds
2571 *
2572 * Related: gEnableBmps
2573 *
2574 * Supported Feature: Power Save
2575 *
2576 * Usage: External
2577 *
2578 * </ini>
2579 */
2580#define CFG_AUTO_PS_ENABLE_TIMER_NAME "gAutoBmpsTimerValue"
2581#define CFG_AUTO_PS_ENABLE_TIMER_MIN (0)
2582#define CFG_AUTO_PS_ENABLE_TIMER_MAX (120)
Pragaspathi Thilagaraja19068f2018-10-01 15:44:06 +05302583#define CFG_AUTO_PS_ENABLE_TIMER_DEFAULT (90)
Selvaraj, Sridhar0a71e542017-01-10 10:21:06 +05302584
Zhu Jianmin04392c42017-05-12 16:34:53 +08002585#ifdef WLAN_ICMP_DISABLE_PS
2586/*
2587 * <ini>
2588 * gIcmpDisablePsValue - Set ICMP packet disable power save value
2589 * @Min: 0
2590 * @Max: 10000
2591 * @Default: 5000
2592 *
2593 * This ini is used to set ICMP packet disable power save value in
2594 * millisecond.
2595 *
2596 * Related: gEnableBmps
2597 *
2598 * Supported Feature: Power Save
2599 *
2600 * Usage: External
2601 *
2602 * </ini>
2603 */
2604#define CFG_ICMP_DISABLE_PS_NAME "gIcmpDisablePsValue"
2605#define CFG_ICMP_DISABLE_PS_MIN (0)
2606#define CFG_ICMP_DISABLE_PS_MAX (10000)
2607#define CFG_ICMP_DISABLE_PS_DEFAULT (5000)
2608#endif
2609
Selvaraj, Sridhar0a71e542017-01-10 10:21:06 +05302610/*
2611 * <ini>
2612 * gBmpsMinListenInterval - Set BMPS Minimum Listen Interval
2613 * @Min: 1
2614 * @Max: 65535
2615 * @Default: 1
2616 *
2617 * This ini is used to set BMPS Minimum Listen Interval. If gPowerUsage
2618 * is set "Min", this INI need to be set.
2619 *
2620 * Related: gEnableBmps, gPowerUsage
2621 *
2622 * Supported Feature: Power Save
2623 *
2624 * Usage: External
2625 *
2626 * </ini>
2627 */
2628#define CFG_BMPS_MINIMUM_LI_NAME "gBmpsMinListenInterval"
2629#define CFG_BMPS_MINIMUM_LI_MIN (1)
2630#define CFG_BMPS_MINIMUM_LI_MAX (65535)
2631#define CFG_BMPS_MINIMUM_LI_DEFAULT (1)
2632
2633/*
2634 * <ini>
Selvaraj, Sridhar0a71e542017-01-10 10:21:06 +05302635 * gBmpsMaxListenInterval - Set BMPS Maximum Listen Interval
2636 * @Min: 1
2637 * @Max: 65535
2638 * @Default: 1
2639 *
2640 * This ini is used to set BMPS Maximum Listen Interval. If gPowerUsage
2641 * is set "Max", this INI need to be set.
2642 *
2643 * Related: gEnableBmps, gPowerUsage
2644 *
2645 * Supported Feature: Power Save
2646 *
2647 * Usage: External
2648 *
2649 * </ini>
2650 */
2651#define CFG_BMPS_MAXIMUM_LI_NAME "gBmpsMaxListenInterval"
2652#define CFG_BMPS_MAXIMUM_LI_MIN (1)
2653#define CFG_BMPS_MAXIMUM_LI_MAX (65535)
2654#define CFG_BMPS_MAXIMUM_LI_DEFAULT (1)
2655
Selvaraj, Sridhar4f684bb2017-01-19 15:59:23 +05302656/*
Dustin Brown13995f02017-01-12 15:38:42 -08002657 * <ini>
Nachiket Kukadee547a482018-05-22 16:43:30 +05302658 * gActiveUcBpfMode - Control UC active APF mode
Dustin Brown13995f02017-01-12 15:38:42 -08002659 * @Min: 0 (disabled)
2660 * @Max: 2 (adaptive)
2661 * @Default: 0 (disabled)
2662 *
Nachiket Kukadee547a482018-05-22 16:43:30 +05302663 * This config item controls UC APF in active mode. There are 3 modes:
2664 * 0) disabled - APF is disabled in active mode
2665 * 1) enabled - APF is enabled for all packets in active mode
2666 * 2) adaptive - APF is enabled for packets up to some throughput threshold
Dustin Brown13995f02017-01-12 15:38:42 -08002667 *
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05302668 * Related: gActiveMcBcBpfMode
Dustin Brown13995f02017-01-12 15:38:42 -08002669 *
Nachiket Kukadee547a482018-05-22 16:43:30 +05302670 * Supported Feature: Active Mode APF
Dustin Brown13995f02017-01-12 15:38:42 -08002671 *
2672 * Usage: Internal/External
2673 * </ini>
2674 */
Nachiket Kukadee547a482018-05-22 16:43:30 +05302675#define CFG_ACTIVE_UC_APF_MODE_NAME "gActiveUcBpfMode"
2676#define CFG_ACTIVE_UC_APF_MODE_MIN (ACTIVE_APF_DISABLED)
2677#define CFG_ACTIVE_UC_APF_MODE_MAX (ACTIVE_APF_MODE_COUNT - 1)
2678#define CFG_ACTIVE_UC_APF_MODE_DEFAULT (ACTIVE_APF_DISABLED)
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05302679
2680/*
2681 * <ini>
Nachiket Kukadee547a482018-05-22 16:43:30 +05302682 * gActiveMcBcBpfMode - Control MC/BC active APF mode
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05302683 * @Min: 0 (disabled)
Ravi Kumar Bokka7a4034e2017-08-17 11:51:32 +05302684 * @Max: 1 (enabled)
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05302685 * @Default: 0 (disabled)
2686 *
Nachiket Kukadee547a482018-05-22 16:43:30 +05302687 * This config item controls MC/BC APF in active mode. There are 3 modes:
2688 * 0) disabled - APF is disabled in active mode
2689 * 1) enabled - APF is enabled for all packets in active mode
2690 * 2) adaptive - APF is enabled for packets up to some throughput threshold
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05302691 *
2692 * Related: gActiveUcBpfMode
2693 *
Nachiket Kukadee547a482018-05-22 16:43:30 +05302694 * Supported Feature: Active Mode APF
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05302695 *
2696 * Usage: Internal/External
2697 * </ini>
2698 */
Nachiket Kukadee547a482018-05-22 16:43:30 +05302699#define CFG_ACTIVE_MC_BC_APF_MODE_NAME "gActiveMcBcBpfMode"
2700#define CFG_ACTIVE_MC_BC_APF_MODE_MIN (ACTIVE_APF_DISABLED)
2701#define CFG_ACTIVE_MC_BC_APF_MODE_MAX (ACTIVE_APF_ENABLED)
2702#define CFG_ACTIVE_MC_BC_APF_MODE_DEFAULT (ACTIVE_APF_DISABLED)
Dustin Brown13995f02017-01-12 15:38:42 -08002703
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08002704#ifdef WLAN_FEATURE_11AX
2705/* 11AX related INI configuration */
2706/*
2707 * <ini>
Kiran Kumar Lokere4aa08a52017-12-15 19:00:39 -08002708 * he_dynamic_frag_support - configure dynamic fragmentation
2709 * @Min: 0
2710 * @Max: 3
2711 * @Default: 1
2712 *
2713 * This ini is used to configure dynamic fragmentation.
2714 *
2715 * Related: NA
2716 *
2717 * Supported Feature: 11AX
2718 *
2719 * Usage: Internal/External
2720 *
2721 * </ini>
2722 */
2723
2724#define CFG_HE_DYNAMIC_FRAGMENTATION_NAME "he_dynamic_frag_support"
2725#define CFG_HE_DYNAMIC_FRAGMENTATION_MIN (0)
2726#define CFG_HE_DYNAMIC_FRAGMENTATION_MAX (3)
Kiran Kumar Lokerea0c1faa2018-01-05 14:47:06 -08002727#define CFG_HE_DYNAMIC_FRAGMENTATION_DEFAULT (0)
Kiran Kumar Lokere4aa08a52017-12-15 19:00:39 -08002728
2729/*
2730 * <ini>
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08002731 * enable_ul_mimo- Enable UL MIMO.
2732 * @Min: 0
2733 * @Max: 1
2734 * @Default: 0
2735 *
2736 * This ini is used to enable or disable UL MIMO.
2737 *
2738 * Related: NA
2739 *
2740 * Supported Feature: 11AX
2741 *
2742 * Usage: External
2743 *
2744 * </ini>
2745 */
2746
2747#define CFG_ENABLE_UL_MIMO_NAME "enable_ul_mimo"
2748#define CFG_ENABLE_UL_MIMO_MIN (0)
2749#define CFG_ENABLE_UL_MIMO_MAX (1)
2750#define CFG_ENABLE_UL_MIMO_DEFAULT (0)
2751
2752/*
2753 * <ini>
2754 * enable_ul_ofdma- Enable UL OFDMA.
2755 * @Min: 0
2756 * @Max: 1
2757 * @Default: 0
2758 *
2759 * This ini is used to enable or disable UL OFDMA.
2760 *
2761 * Related: NA
2762 *
2763 * Supported Feature: 11AX
2764 *
2765 * Usage: External
2766 *
2767 * </ini>
2768 */
2769#define CFG_ENABLE_UL_OFDMA_NAME "enable_ul_ofdma"
2770#define CFG_ENABLE_UL_OFDMA_MIN (0)
2771#define CFG_ENABLE_UL_OFDMA_MAX (1)
2772#define CFG_ENABLE_UL_OFDMA_DEFAULT (0)
2773
Manikandan Mohan39accff2017-05-02 16:09:00 -07002774/*
2775 * <ini>
2776 * he_sta_obsspd- 11AX HE OBSS PD bit field
2777 * @Min: 0
2778 * @Max: uin32_t max
2779 * @Default: 0x15b8c2ae
2780 *
2781 * 4 Byte value with each byte representing a signed value for following params:
2782 * Param Bit position Default
2783 * OBSS_PD min (primary) 7:0 -82 (0xae)
2784 * OBSS_PD max (primary) 15:8 -62 (0xc2)
2785 * Secondary channel Ed 23:16 -72 (0xb8)
2786 * TX_PWR(ref) 31:24 21 (0x15)
2787 * This bit field value is directly applied to FW
2788 *
2789 * Related: NA
2790 *
2791 * Supported Feature: 11AX
2792 *
2793 * Usage: External
2794 *
2795 * </ini>
2796 */
2797#define CFG_HE_STA_OBSSPD_NAME "he_sta_obsspd"
2798#define CFG_HE_STA_OBSSPD_MIN (0)
2799#define CFG_HE_STA_OBSSPD_MAX (0xffffffff)
2800#define CFG_HE_STA_OBSSPD_DEFAULT (0x15b8c2ae)
2801
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08002802#endif /* WLAN_FEATURE_11AX */
Varun Reddy Yeturud33033f2018-06-11 10:58:30 -07002803#ifdef WLAN_SUPPORT_TWT
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -07002804/*
2805 * <ini>
2806 * enable_twt - Enable Target Wake Time support.
2807 * @Min: 0
2808 * @Max: 1
2809 * @Default: 1
2810 *
2811 * This ini is used to enable or disable TWT support.
2812 *
2813 * Related: NA
2814 *
2815 * Supported Feature: 11AX
2816 *
2817 * Usage: External
2818 *
2819 * </ini>
2820 */
2821#define CFG_ENABLE_TWT_NAME "enable_twt"
2822#define CFG_ENABLE_TWT_MIN (0)
2823#define CFG_ENABLE_TWT_MAX (1)
2824#define CFG_ENABLE_TWT_DEFAULT (1)
2825
2826/*
2827 * <ini>
2828 * twt_congestion_timeout - Target wake time congestion timeout.
Varun Reddy Yeturuadc00902018-07-05 07:55:24 -07002829 * @Min: 0
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -07002830 * @Max: 10000
2831 * @Default: 100
2832 *
2833 * STA uses this timer to continuously monitor channel congestion levels to
2834 * decide whether to start or stop TWT. This ini is used to configure the
2835 * target wake time congestion timeout value in the units of milliseconds.
Varun Reddy Yeturuadc00902018-07-05 07:55:24 -07002836 * A value of Zero indicates that this is a host triggered TWT and all the
2837 * necessary configuration for TWT will be directed from the host.
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -07002838 *
2839 * Related: NA
2840 *
2841 * Supported Feature: 11AX
2842 *
2843 * Usage: External
2844 *
2845 * </ini>
2846 */
2847#define CFG_TWT_CONGESTION_TIMEOUT_NAME "twt_congestion_timeout"
Varun Reddy Yeturuadc00902018-07-05 07:55:24 -07002848#define CFG_TWT_CONGESTION_TIMEOUT_MIN (0)
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -07002849#define CFG_TWT_CONGESTION_TIMEOUT_MAX (10000)
2850#define CFG_TWT_CONGESTION_TIMEOUT_DEFAULT (100)
2851
Varun Reddy Yeturud33033f2018-06-11 10:58:30 -07002852#endif /* WLAN_SUPPORT_TWT */
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08002853
2854/*
Dustin Brown20b6fcf2017-05-17 15:35:17 -07002855 * <ini>
2856 * gScanBackoffMultiplier - For NLO/PNO, multiply fast scan period by this every
2857 * max cycles
2858 * @Min: 0
2859 * @Max: 255
2860 * @Default: 0
2861 *
2862 * For Network Listen Offload and Perfered Network Offload, multiply the fast
2863 * scan period by this value after max cycles have occurred. Setting this to 0
2864 * disables the feature.
2865 *
2866 * @E.g.
2867 * # Disable scan backoff multiplier
2868 * gScanBackoffMultiplier=0
2869 * # Effectively the same
2870 * gScanBackoffMultiplier=1
2871 * # Double the scan period after each max cycles have occurred
2872 * gScanBackoffMultiplier=2
2873 *
2874 * Related: NLO, PNO
2875 *
2876 * Usage: Internal/External
2877 *
2878 * </ini>
2879 */
2880#define CFG_SCAN_BACKOFF_MULTIPLIER_NAME "gScanBackoffMultiplier"
2881#define CFG_SCAN_BACKOFF_MULTIPLIER_MIN (0)
2882#define CFG_SCAN_BACKOFF_MULTIPLIER_MAX (255)
2883#define CFG_SCAN_BACKOFF_MULTIPLIER_DEFAULT (0)
2884
2885/*
Varun Reddy Yeturubba32e92017-09-06 13:31:40 -07002886 * <ini>
2887 * mawc_nlo_enabled - For NLO/PNO, enable MAWC based scan
2888 * @Min: 0
2889 * @Max: 1
2890 * @Default: 1
2891 *
2892 * Enable/Disable the Motion Aided Wireless Connectivity
2893 * based NLO using this parameter
2894 *
2895 * Related: NLO, PNO
2896 *
2897 * Usage: Internal/External
2898 *
2899 * </ini>
2900 */
2901#define CFG_MAWC_NLO_ENABLED_NAME "mawc_nlo_enabled"
2902#define CFG_MAWC_NLO_ENABLED_MIN (0)
2903#define CFG_MAWC_NLO_ENABLED_MAX (1)
2904#define CFG_MAWC_NLO_ENABLED_DEFAULT (1)
2905
2906/*
2907 * <ini>
2908 * mawc_nlo_exp_backoff_ratio - Exponential back off ratio
2909 * @Min: 0
2910 * @Max: 300
2911 * @Default: 3
2912 *
2913 * Configure the exponential back off ratio using this
2914 * parameter for MAWC based NLO
2915 * ratio of exponential backoff, next = current + current*ratio/100
2916 *
2917 * Related: NLO, PNO
2918 *
2919 * Usage: Internal/External
2920 *
2921 * </ini>
2922 */
2923#define CFG_MAWC_NLO_EXP_BACKOFF_RATIO_NAME "mawc_nlo_exp_backoff_ratio"
2924#define CFG_MAWC_NLO_EXP_BACKOFF_RATIO_MIN (0)
2925#define CFG_MAWC_NLO_EXP_BACKOFF_RATIO_MAX (300)
2926#define CFG_MAWC_NLO_EXP_BACKOFF_RATIO_DEFAULT (3)
2927
2928/*
2929 * <ini>
2930 * mawc_nlo_init_scan_interval - Initial Scan Interval
2931 * @Min: 1000
2932 * @Max: 0xFFFFFFFF
2933 * @Default: 10000
2934 *
2935 * Configure the initial scan interval using this
2936 * parameter for MAWC based NLO (Units in Milliseconds)
2937 *
2938 * Related: NLO, PNO
2939 *
2940 * Usage: Internal/External
2941 *
2942 * </ini>
2943 */
2944#define CFG_MAWC_NLO_INIT_SCAN_INTERVAL_NAME "mawc_nlo_init_scan_interval"
2945#define CFG_MAWC_NLO_INIT_SCAN_INTERVAL_MIN (1000)
2946#define CFG_MAWC_NLO_INIT_SCAN_INTERVAL_MAX (0xFFFFFFFF)
2947#define CFG_MAWC_NLO_INIT_SCAN_INTERVAL_DEFAULT (10000)
2948
2949/*
2950 * <ini>
2951 * mawc_nlo_max_scan_interval - Maximum Scan Interval
2952 * @Min: 1000
2953 * @Max: 0xFFFFFFFF
2954 * @Default: 60000
2955 *
2956 * Configure the maximum scan interval using this
2957 * parameter for MAWC based NLO (Units in Milliseconds)
2958 *
2959 * Related: NLO, PNO
2960 *
2961 * Usage: Internal/External
2962 *
2963 * </ini>
2964 */
2965#define CFG_MAWC_NLO_MAX_SCAN_INTERVAL_NAME "mawc_nlo_max_scan_interval"
2966#define CFG_MAWC_NLO_MAX_SCAN_INTERVAL_MIN (1000)
2967#define CFG_MAWC_NLO_MAX_SCAN_INTERVAL_MAX (0xFFFFFFFF)
2968#define CFG_MAWC_NLO_MAX_SCAN_INTERVAL_DEFAULT (60000)
2969
Jayachandran Sreekumaran68c952c2017-04-24 12:42:03 +05302970/*
Manjunathappa Prakashdab74fa2017-06-19 12:11:03 -07002971 * <ini>
Ashish Kumar Dhanotiyab8630ab2017-07-21 14:18:14 +05302972 * gEnableLPRx - Enable/Disable LPRx
2973 * @Min: 0
2974 * @Max: 1
2975 * @Default: 1
2976 *
2977 * This ini Enables or disables the LPRx in FW
2978 *
2979 * Usage: External
2980 *
2981 * </ini>
2982 */
2983
2984#define CFG_LPRx_NAME "gEnableLPRx"
2985#define CFG_LPRx_MIN (0)
2986#define CFG_LPRx_MAX (1)
2987#define CFG_LPRx_DEFAULT (1)
2988
2989/*
Ashish Kumar Dhanotiyab28338c2017-07-21 20:12:34 +05302990 * <ini>
Amar Singhale4a2dd52017-08-07 13:59:05 -07002991 * scan_11d_interval - 11d scan interval in ms
2992 * @Min: 1 sec
2993 * @Max: 10 hr
2994 * @Default: 1 hr
2995 *
2996 * This ini sets the 11d scan interval in FW
2997 *
2998 *
2999 *
3000 * Supported Feature: STA
3001 *
3002 * Usage: External
3003 *
3004 * </ini>
3005 */
3006
3007#define CFG_SCAN_11D_INTERVAL_NAME "scan_11d_interval"
3008#define CFG_SCAN_11D_INTERVAL_DEFAULT (3600000)
3009#define CFG_SCAN_11D_INTERVAL_MIN (1000)
3010#define CFG_SCAN_11D_INTERVAL_MAX (36000000)
Abhishek Singhb58164a2017-07-19 18:47:23 +05303011/*
3012 * <ini>
3013 * is_bssid_hint_priority - Set priority for connection with bssid_hint
3014 * BSSID.
3015 * @Min: 0
3016 * @Max: 1
3017 * @Default: 1
3018 *
3019 * This ini is used to give priority to BSS for connection which comes
3020 * as part of bssid_hint
3021 *
3022 * Related: None
3023 *
3024 * Supported Feature: STA
3025 *
3026 * Usage: External
3027 *
3028 * </ini>
3029 */
3030
3031#define CFG_IS_BSSID_HINT_PRIORITY_NAME "is_bssid_hint_priority"
gaurank kathpalia0efbb562017-12-19 18:05:00 +05303032#define CFG_IS_BSSID_HINT_PRIORITY_DEFAULT (0)
Abhishek Singhb58164a2017-07-19 18:47:23 +05303033#define CFG_IS_BSSID_HINT_PRIORITY_MIN (0)
3034#define CFG_IS_BSSID_HINT_PRIORITY_MAX (1)
Amar Singhale4a2dd52017-08-07 13:59:05 -07003035
3036/*
Padma, Santhosh Kumar3e47c632017-09-01 20:15:27 +05303037 * <ini>
3038 * sae_enabled - Enable/Disable SAE support in driver
3039 * @Min: 0
3040 * @Max: 1
3041 * @Default: 0
3042 *
3043 * This ini is used to enable/disable SAE support in driver
3044 * Driver will update config to supplicant based on this config.
3045 *
3046 * Related: None
3047 *
3048 * Supported Feature: SAE
3049 * Usage: External
3050 *
3051 * </ini>
3052 */
3053
3054#define CFG_IS_SAE_ENABLED_NAME "sae_enabled"
Padma, Santhosh Kumara5eaeb82018-04-09 18:45:26 +05303055#define CFG_IS_SAE_ENABLED_DEFAULT (1)
Padma, Santhosh Kumar3e47c632017-09-01 20:15:27 +05303056#define CFG_IS_SAE_ENABLED_MIN (0)
3057#define CFG_IS_SAE_ENABLED_MAX (1)
3058
Qiwei Cai4505fc62018-05-17 18:35:19 +08003059#ifdef WLAN_FEATURE_PACKET_FILTERING
Ashwini Patilf2bf05e2017-03-10 03:41:03 +05303060/*
Hanumanth Reddy Pothula3def8942017-10-05 16:19:36 +05303061 * <ini>
3062 * g_enable_packet_filter_bitmap - Enable Packet filters before going into
3063 * suspend mode
3064 * @Min: 0
3065 * @Max: 63
3066 * @Default: 0
3067 * Below is the Detailed bit map of the Filters
3068 * bit-0 : IPv6 multicast
3069 * bit-1 : IPv4 multicast
3070 * bit-2 : IPv4 broadcast
3071 * bit-3 : XID - Exchange station Identification packet, solicits the
3072 * identification of the receiving station
3073 * bit-4 : STP - Spanning Tree Protocol, builds logical loop free topology
3074 * bit-5 : DTP/LLC/CDP
3075 * DTP - Dynamic Trunking Protocol is used by Ciscoswitches to negotiate
3076 * whether an interconnection between two switches should be put into access or
3077 * trunk mode
3078 * LLC - Logical link control, used for multiplexing, flow & error control
3079 * CDP - Cisco Discovery Protocol packet contains information about the cisco
3080 * devices in the network
3081 *
3082 * This ini support to enable above mentioned packet filters
3083 * when target goes to suspend mode, clear those when resume
3084 *
3085 * Related: None
3086 *
3087 * Supported Feature: PACKET FILTERING
3088 *
3089 * Usage: Internal/External
3090 *
3091 * </ini>
3092 */
3093#define CFG_ENABLE_PACKET_FILTERS_NAME "g_enable_packet_filter_bitmap"
3094#define CFG_ENABLE_PACKET_FILTERS_DEFAULT (0)
3095#define CFG_ENABLE_PACKET_FILTERS_MIN (0)
3096#define CFG_ENABLE_PACKET_FILTERS_MAX (63)
Qiwei Cai4505fc62018-05-17 18:35:19 +08003097#endif /* WLAN_FEATURE_PACKET_FILTERING */
lifeng1c16b6b2017-09-25 13:59:55 +08003098
3099/*
3100 * <ini>
Ashish Kumar Dhanotiyacb14b112018-01-19 19:26:44 +05303101 * gcmp_enabled - ini to enable/disable GCMP
3102 * @Min: 0
3103 * @Max: 1
3104 * @Default: 0
3105 *
3106 * Currently Firmware update the sequence number for each TID with 2^3
3107 * because of security issues. But with this PN mechanism, throughput drop
3108 * is observed. With this ini FW takes the decision to trade off between
3109 * security and throughput
3110 *
3111 * Supported Feature: STA/SAP/P2P
3112 *
3113 * Usage: External
3114 *
3115 * </ini>
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08003116 */
Ashish Kumar Dhanotiya9335d812017-06-30 16:57:20 +05303117
Ashish Kumar Dhanotiyacb14b112018-01-19 19:26:44 +05303118#define CFG_ENABLE_GCMP_NAME "gcmp_enabled"
3119#define CFG_ENABLE_GCMP_MIN (0)
3120#define CFG_ENABLE_GCMP_MAX (1)
Padma, Santhosh Kumara5eaeb82018-04-09 18:45:26 +05303121#define CFG_ENABLE_GCMP_DEFAULT (1)
Ashish Kumar Dhanotiyacb14b112018-01-19 19:26:44 +05303122
3123/*
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05303124 * <ini>
3125 * 11k_offload_enable_bitmask - Bitmask to enable 11k offload to FW
3126 * @Min: 0
3127 * @Max: 1
3128 * @Default: 1
3129 *
3130 * This ini is used to set which of the 11k features is offloaded to FW
3131 * Currently Neighbor Report Request is supported for offload and is enabled
3132 * by default
3133 * B0: Offload 11k neighbor report requests
3134 * B1-B31: Reserved
3135 *
3136 * Related : None
3137 *
3138 * Usage: External
3139 *
3140 * </ini>
3141 */
3142
3143#define CFG_OFFLOAD_11K_ENABLE_BITMASK_NAME "11k_offload_enable_bitmask"
3144#define CFG_OFFLOAD_11K_ENABLE_BITMASK_MIN (0)
3145#define CFG_OFFLOAD_11K_ENABLE_BITMASK_MAX (1)
3146#define CFG_OFFLOAD_11K_ENABLE_BITMASK_DEFAULT (1)
3147
3148#define OFFLOAD_11K_BITMASK_NEIGHBOR_REPORT_REQUEST 0x1
3149/*
3150 * <ini>
3151 * nr_offload_params_bitmask - bitmask to specify which of the
3152 * neighbor report offload params are valid in the ini
3153 * frame
3154 * @Min: 0
3155 * @Max: 63
3156 * @Default: 63
3157 *
3158 * This ini specifies which of the neighbor report offload params are valid
3159 * and should be considered by the FW. The bitmask is as follows
3160 * B0: nr_offload_time_offset
3161 * B1: nr_offload_low_rssi_offset
3162 * B2: nr_offload_bmiss_count_trigger
3163 * B3: nr_offload_per_threshold_offset
3164 * B4: nr_offload_cache_timeout
3165 * B5: nr_offload_max_req_cap
3166 * B6-B7: Reserved
3167 *
3168 * Related : 11k_offload_enable_bitmask
3169 *
3170 * Usage: External
3171 *
3172 * </ini>
3173 */
3174
3175#define CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_NAME \
3176 "nr_offload_params_bitmask"
3177#define CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_MIN (0)
3178#define CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_MAX (63)
3179#define CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_DEFAULT (63)
3180
3181/*
3182 * <ini>
3183 * nr_offload_time_offset - time interval in seconds after the
3184 * neighbor report offload command to send the first neighbor report request
3185 * frame
Vignesh Viswanathan0fcb4d32018-02-13 14:29:46 +05303186 * @Min: 0
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05303187 * @Max: 3600
3188 * @Default: 30
3189 *
3190 * Related : nr_offload_params_bitmask
3191 *
3192 * Usage: External
3193 *
3194 * </ini>
3195 */
3196#define CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_NAME \
3197 "nr_offload_time_offset"
3198#define CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_MIN (0)
3199#define CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_MAX (3600)
3200#define CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_DEFAULT (30)
3201
3202/*
3203 * <ini>
3204 * nr_offload_low_rssi_offset - offset from the roam RSSI threshold
3205 * to trigger the neighbor report request frame (in dBm)
3206 * @Min: 4
3207 * @Max: 10
3208 * @Default: 4
3209 *
3210 * Related : nr_offload_params_bitmask
3211 *
3212 * Usage: External
3213 *
3214 * </ini>
3215 */
3216#define CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_NAME \
3217 "nr_offload_low_rssi_offset"
3218#define CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_MIN (4)
3219#define CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_MAX (10)
3220#define CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_DEFAULT (4)
3221
3222/*
3223 * <ini>
3224 * nr_offload_bmiss_count_trigger - Number of beacon miss events to
3225 * trigger a neighbor report request frame
3226 * @Min: 1
3227 * @Max: 5
3228 * @Default: 1
3229 *
3230 * Related : nr_offload_params_bitmask
3231 *
3232 * Usage: External
3233 *
3234 * </ini>
3235 */
3236#define CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_NAME \
3237 "nr_offload_bmiss_count_trigger"
3238#define CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_MIN (1)
3239#define CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_MAX (5)
3240#define CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_DEFAULT (1)
3241
3242/*
3243 * <ini>
3244 * nr_offload_per_threshold_offset - offset from PER threshold to
3245 * trigger a neighbor report request frame (in %)
3246 * @Min: 5
3247 * @Max: 20
3248 * @Default: 5
3249 *
3250 * This ini is used to set the neighbor report offload parameter:
3251 *
3252 * Related : nr_offload_params_bitmask
3253 *
3254 * Usage: External
3255 *
3256 * </ini>
3257 */
3258#define CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_NAME \
3259 "nr_offload_per_threshold_offset"
3260#define CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_MIN (5)
3261#define CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_MAX (20)
3262#define CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_DEFAULT (5)
3263
3264/*
3265 * <ini>
3266 * nr_offload_cache_timeout - time in seconds after which the
3267 * neighbor report cache is marked as timed out and any of the triggers would
3268 * cause a neighbor report request frame to be sent.
Vignesh Viswanathan0fcb4d32018-02-13 14:29:46 +05303269 * @Min: 5
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05303270 * @Max: 86400
3271 * @Default: 1200
3272 *
3273 * Related : nr_offload_params_bitmask
3274 *
3275 * Usage: External
3276 *
3277 * </ini>
3278 */
3279#define CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_NAME \
3280 "nr_offload_cache_timeout"
Vignesh Viswanathan0fcb4d32018-02-13 14:29:46 +05303281#define CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_MIN (5)
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05303282#define CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_MAX (86400)
3283#define CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_DEFAULT (1200)
3284
3285/*
3286 * <ini>
3287 * nr_offload_max_req_cap - Max number of neighbor
3288 * report requests that can be sent to a connected peer in the current session.
3289 * This counter is reset once a successful roam happens or at cache timeout
3290 * @Min: 3
Vignesh Viswanathan0fcb4d32018-02-13 14:29:46 +05303291 * @Max: 300
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05303292 * @Default: 3
3293 *
3294 * Related : nr_offload_params_bitmask
3295 *
3296 * Usage: External
3297 *
3298 * </ini>
3299 */
3300#define CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_NAME \
3301 "nr_offload_max_req_cap"
3302#define CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_MIN (3)
3303#define CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_MAX (300)
3304#define CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_DEFAULT (3)
3305
3306/*
Surabhi Vishnoi7f085d22018-01-30 12:11:14 +05303307 * <ini>
Ashish Kumar Dhanotiya191d1642018-02-08 17:43:09 +05303308 * gEnableDTIMSelectionDiversity - Enable/Disable chain
3309 * selection optimization for one chain dtim
3310 * @Min: 0
3311 * @Max: 30
3312 * @Default: 5
3313 *
3314 * Usage: External
3315 *
3316 * </ini>
3317 */
3318#define CFG_DTIM_SELECTION_DIVERSITY_NAME "gEnableDTIMSelectionDiversity"
3319#define CFG_DTIM_SELECTION_DIVERSITY_MIN (0)
3320#define CFG_DTIM_SELECTION_DIVERSITY_MAX (30)
3321#define CFG_DTIM_SELECTION_DIVERSITY_DEFAULT (5)
3322
Surabhi Vishnoi7f085d22018-01-30 12:11:14 +05303323/*
Yeshwanth Sriram Guntukadb7995d2018-01-22 16:46:59 +05303324 * <ini>
Ashish Kumar Dhanotiya48dac7d2018-03-28 14:59:50 +05303325 * gTxSchDelay - Enable/Disable Tx sch delay
3326 * @Min: 0
Ashish Kumar Dhanotiya04f09dd2018-04-02 16:25:16 +05303327 * @Max: 5
Ashish Kumar Dhanotiya214e1422018-04-19 12:44:43 +05303328 * @Default: 0
Ashish Kumar Dhanotiya48dac7d2018-03-28 14:59:50 +05303329 *
3330 * Usage: Internal/External
3331 *
3332 * </ini>
3333 */
3334
3335#define CFG_TX_SCH_DELAY_NAME "gTxSchDelay"
3336#define CFG_TX_SCH_DELAY_MIN (0)
Ashish Kumar Dhanotiya04f09dd2018-04-02 16:25:16 +05303337#define CFG_TX_SCH_DELAY_MAX (5)
Ashish Kumar Dhanotiya214e1422018-04-19 12:44:43 +05303338#define CFG_TX_SCH_DELAY_DEFAULT (0)
Ashish Kumar Dhanotiya48dac7d2018-03-28 14:59:50 +05303339
3340/*
Rajeev Kumar15b40a22018-04-12 11:45:24 -07003341 * <ini>
3342 * gEnableUnitTestFramework - Enable/Disable unit test framework
3343 * @Min: 0
3344 * @Max: 1
3345 * @Default: 0
3346 *
3347 * Usage: Internal (only for dev and test team)
3348 *
3349 * </ini>
3350 */
3351#define CFG_ENABLE_UNIT_TEST_FRAMEWORK_NAME "gEnableUnitTestFramework"
3352#define CFG_ENABLE_UNIT_TEST_FRAMEWORK_MIN (0)
3353#define CFG_ENABLE_UNIT_TEST_FRAMEWORK_MAX (1)
3354#define CFG_ENABLE_UINT_TEST_FRAMEWORK_DEFAULT (0)
3355
3356/*
Naveen Rawat2b430892018-03-13 13:58:18 -07003357 * <ini>
Ashish Kumar Dhanotiya959b38c2018-04-06 21:07:57 +05303358 * gEnableSecondaryRate - Enable/Disable Secondary Retry Rate feature subset
3359 *
3360 * @Min: 0x0
3361 * @Max: 0x3F
Ashish Kumar Dhanotiyacc1d6fd2018-05-02 15:49:42 +05303362 * @Default: 0x17
Ashish Kumar Dhanotiya959b38c2018-04-06 21:07:57 +05303363 *
3364 * It is a 32 bit value such that the various bits represent as below -
3365 * Bit-0 : is Enable/Disable Control for "PPDU Secondary Retry Support"
3366 * Bit-1 : is Enable/Disable Control for "RTS Black/White-listing Support"
3367 * Bit-2 : is Enable/Disable Control for "Higher MCS retry restriction
3368 * on XRETRY failures"
3369 * Bit 3-5 : is "Xretry threshold" to use
3370 * Bit 3~31 : reserved for future use.
3371 *
3372 * Usage: External
3373 *
3374 * </ini>
3375 */
3376#define CFG_ENABLE_SECONDARY_RATE_NAME "gEnableSecondaryRate"
3377#define CFG_ENABLE_SECONDARY_RATE_MIN (0)
3378#define CFG_ENABLE_SECONDARY_RATE_MAX (0x3F)
Ashish Kumar Dhanotiyacc1d6fd2018-05-02 15:49:42 +05303379#define CFG_ENABLE_SECONDARY_RATE_DEFAULT (0x17)
Ashish Kumar Dhanotiya959b38c2018-04-06 21:07:57 +05303380
Dundi Ravitejaeab3b8d2018-07-17 18:10:41 +05303381#ifdef MWS_COEX
3382/*
3383 * <ini>
3384 * gMwsCoex4gQuickTdm - Bitmap to control MWS-COEX 4G quick FTDM policy
3385 * @Min: 0x00000000
3386 * @Max: 0xFFFFFFFF
3387 * @Default: 0x00000000
3388 *
3389 * It is a 32 bit value such that the various bits represent as below:
3390 * Bit-0 : 0 - Don't allow quick FTDM policy (Default)
3391 * 1 - Allow quick FTDM policy
3392 * Bit 1-31 : reserved for future use
3393 *
3394 * It is used to enable or disable MWS-COEX 4G (LTE) Quick FTDM
3395 *
3396 * Usage: Internal
3397 *
3398 * </ini>
3399 */
3400
3401#define CFG_MWS_COEX_4G_QUICK_FTDM_NAME "gMwsCoex4gQuickTdm"
3402#define CFG_MWS_COEX_4G_QUICK_FTDM_MIN (0x00000000)
3403#define CFG_MWS_COEX_4G_QUICK_FTDM_MAX (0xFFFFFFFF)
3404#define CFG_MWS_COEX_4G_QUICK_FTDM_DEFAULT (0x00000000)
3405
3406/*
3407 * <ini>
3408 * gMwsCoex5gnrPwrLimit - Bitmap to set MWS-COEX 5G-NR power limit
3409 * @Min: 0x00000000
3410 * @Max: 0xFFFFFFFF
3411 * @Default: 0x00000000
3412 *
3413 * It is a 32 bit value such that the various bits represent as below:
3414 * Bit-0 : Don't apply user specific power limit,
3415 * use internal power limit (Default)
3416 * Bit 1-2 : Invalid value (Ignored)
3417 * Bit 3-21 : Apply the specified value as the external power limit, in dBm
3418 * Bit 22-31 : Invalid value (Ignored)
3419 *
3420 * It is used to set MWS-COEX 5G-NR power limit
3421 *
3422 * Usage: Internal
3423 *
3424 * </ini>
3425 */
3426
3427#define CFG_MWS_COEX_5G_NR_PWR_LIMIT_NAME "gMwsCoex5gnrPwrLimit"
3428#define CFG_MWS_COEX_5G_NR_PWR_LIMIT_MIN (0x00000000)
3429#define CFG_MWS_COEX_5G_NR_PWR_LIMIT_MAX (0xFFFFFFFF)
3430#define CFG_MWS_COEX_5G_NR_PWR_LIMIT_DEFAULT (0x00000000)
3431#endif
3432
Rachit Kankane0106e382018-05-16 18:59:28 +05303433/*
Chaoli Zhou75b062f2018-06-11 12:36:54 +08003434 * <ini>
3435 * gEnableChangeChannelBandWidth - Enable/Disable change
3436 * channel&bandwidth in the mission mode
3437 * @Min: 0
3438 * @Max: 1
3439 * @Default: 0
3440 *
3441 * 0 - not allow change channel&bandwidth by setMonChan
3442 * 1 - allow change channel&bandwidth by setMonChan
3443 *
3444 * Related: None
3445 *
3446 * Supported Feature: STA
3447 *
3448 * Usage: External
3449 *
3450 * </ini>
3451 */
3452#define CFG_CHANGE_CHANNEL_BANDWIDTH_NAME "gEnableChangeChannelBandWidth"
3453#define CFG_CHANGE_CHANNEL_BANDWIDTH_MIN (0)
3454#define CFG_CHANGE_CHANNEL_BANDWIDTH_MAX (1)
3455#define CFG_CHANGE_CHANNEL_BANDWIDTH_DEFAULT (0)
3456
3457/*
Ke Huangae49ad02018-11-27 10:53:11 +08003458 * <ini>
3459 * gRemoveTimeStampSyncCmd - Enable/Disable to remove time stamp sync cmd
3460 * @Min: 0
3461 * @Max: 1
3462 * @Default: 0
3463 *
3464 * This ini is used to enable/disable the removal of time stamp sync cmd
3465 *
3466 * Usage: External
3467 *
3468 * </ini>
3469 */
3470#define CFG_REMOVE_TIME_STAMP_SYNC_CMD_NAME "gRemoveTimeStampSyncCmd"
3471#define CFG_REMOVE_TIME_STAMP_SYNC_CMD_MIN (0)
3472#define CFG_REMOVE_TIME_STAMP_SYNC_CMD_MAX (1)
3473#define CFG_REMOVE_TIME_STAMP_SYNC_CMD_DEFAULT (0)
3474
3475/*
Ashish Kumar Dhanotiyacb14b112018-01-19 19:26:44 +05303476 * Type declarations
3477 */
Naveen Rawat2b430892018-03-13 13:58:18 -07003478
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003479struct hdd_config {
3480 /* Bitmap to track what is explicitly configured */
3481 DECLARE_BITMAP(bExplicitCfg, MAX_CFG_INI_ITEMS);
3482
3483 /* Config parameters */
Ashish Kumar Dhanotiya470af292017-05-31 20:46:00 +05303484 bool enable_connected_scan;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003485 char PowerUsageControl[4];
gaurank kathpalia3d2e3852018-10-03 22:03:23 +05303486 bool fSupplicantCountryCodeHasPriority;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003487 bool fIsImpsEnabled;
3488 bool is_ps_enabled;
Kiran Kumar Lokere0ac679c2016-11-17 17:43:36 -08003489 uint32_t auto_bmps_timer_val;
Zhu Jianmin04392c42017-05-12 16:34:53 +08003490 uint32_t icmp_disable_ps_val;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003491 uint32_t nBmpsMaxListenInterval;
3492 uint32_t nBmpsMinListenInterval;
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07003493 enum hdd_dot11_mode dot11Mode;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003494 uint32_t nChannelBondingMode24GHz;
3495 uint32_t nChannelBondingMode5GHz;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003496 uint32_t ScanResultAgeCount;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003497 uint8_t nRssiCatGap;
Anurag Chouhan6d760662016-02-20 16:05:43 +05303498 struct qdf_mac_addr IbssBssid;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003499 uint32_t AdHocChannel5G;
3500 uint32_t AdHocChannel24G;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003501
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003502 bool apProtEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003503 uint8_t nTxPowerCap; /* In dBm */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003504 uint8_t disablePacketFilter;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003505
Rachit Kankanef6834c42018-08-02 18:47:50 +05303506#ifdef FEATURE_WLAN_DYNAMIC_CVM
Nachiket Kukade8983cf62017-10-12 18:14:48 +05303507 /* Bitmap for operating voltage corner mode */
3508 uint32_t vc_mode_cfg_bitmap;
Rachit Kankanef6834c42018-08-02 18:47:50 +05303509#endif
Nachiket Kukade8983cf62017-10-12 18:14:48 +05303510
Dundi Ravitejaeab3b8d2018-07-17 18:10:41 +05303511#ifdef MWS_COEX
3512 /* Bitmap for MWS-COEX 4G Quick FTDM */
3513 uint32_t mws_coex_4g_quick_tdm;
3514
3515 /* Bitmap for MWS-COEX 5G-NR power limit */
3516 uint32_t mws_coex_5g_nr_pwr_limit;
3517#endif
3518
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003519 /* Additional Handoff params */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003520 uint32_t nPassiveMaxChnTime; /* in units of milliseconds */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003521 uint32_t nActiveMaxChnTime; /* in units of milliseconds */
Kiran Kumar Lokerea2dfefe2017-06-29 19:01:24 -07003522 uint32_t scan_probe_repeat_time;
3523 uint32_t scan_num_probes;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003524
3525 uint32_t nInitialDwellTime; /* in units of milliseconds */
3526 bool initial_scan_no_dfs_chnl;
3527
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003528 uint8_t nRssiFilterPeriod;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003529
Mukul Sharmaed92f2f2017-04-20 00:06:28 +05303530 uint8_t wow_data_inactivity_timeout;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003531
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003532 uint32_t DelayedTriggerFrmInt;
3533
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003534#ifdef FEATURE_WLAN_RA_FILTERING
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003535 uint16_t RArateLimitInterval;
3536#endif
3537#ifdef FEATURE_WLAN_SCAN_PNO
3538 bool PnoOffload;
3539#endif
Ashish Kumar Dhanotiya12f68212018-09-04 22:00:14 +05303540#ifdef ENABLE_MTRACE_LOG
3541 bool enable_mtrace;
3542#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003543 uint8_t enableDFSChnlScan;
3544 uint8_t enable_dfs_pno_chnl_scan;
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07003545 enum hdd_link_speed_rpt_type reportMaxLinkSpeed;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003546 int32_t linkSpeedRssiHigh;
3547 int32_t linkSpeedRssiMid;
3548 int32_t linkSpeedRssiLow;
Poddar, Siddarthb61cf642016-04-28 16:02:39 +05303549#if defined(CONFIG_HL_SUPPORT) && defined(QCA_BAD_PEER_TX_FLOW_CL)
3550 bool bad_peer_txctl_enable;
3551 uint32_t bad_peer_txctl_prd;
3552 uint32_t bad_peer_txctl_txq_lmt;
3553 uint32_t bad_peer_tgt_backoff;
3554 uint32_t bad_peer_tgt_report_prd;
3555 uint32_t bad_peer_cond_ieee80211b;
3556 uint32_t bad_peer_delta_ieee80211b;
3557 uint32_t bad_peer_pct_ieee80211b;
3558 uint32_t bad_peer_tput_ieee80211b;
3559 uint32_t bad_peer_limit_ieee80211b;
3560 uint32_t bad_peer_cond_ieee80211ag;
3561 uint32_t bad_peer_delta_ieee80211ag;
3562 uint32_t bad_peer_pct_ieee80211ag;
3563 uint32_t bad_peer_tput_ieee80211ag;
3564 uint32_t bad_peer_limit_ieee80211ag;
3565 uint32_t bad_peer_cond_ieee80211n;
3566 uint32_t bad_peer_delta_ieee80211n;
3567 uint32_t bad_peer_pct_ieee80211n;
3568 uint32_t bad_peer_tput_ieee80211n;
3569 uint32_t bad_peer_limit_ieee80211n;
3570 uint32_t bad_peer_cond_ieee80211ac;
3571 uint32_t bad_peer_delta_ieee80211ac;
3572 uint32_t bad_peer_pct_ieee80211ac;
3573 uint32_t bad_peer_tput_ieee80211ac;
3574 uint32_t bad_peer_limit_ieee80211ac;
3575#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003576 bool enableFirstScan2GOnly;
Dustin Brownfe7aa872017-06-26 10:52:08 -07003577 bool prevent_link_down;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003578 uint8_t scanAgingTimeout;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003579 bool fEnableSNRMonitoring;
3580 /*PNO related parameters */
3581#ifdef FEATURE_WLAN_SCAN_PNO
3582 bool configPNOScanSupport;
3583 uint32_t configPNOScanTimerRepeatValue;
Srinivas Girigowdabdc98162015-09-17 11:06:07 -07003584 uint32_t pno_slow_scan_multiplier;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003585#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003586 uint8_t isCoalesingInIBSSAllowed;
3587
3588 /* IBSS Power Save related parameters */
3589 uint32_t ibssATIMWinSize;
3590 uint8_t isIbssPowerSaveAllowed;
3591 uint8_t isIbssPowerCollapseAllowed;
3592 uint8_t isIbssAwakeOnTxRx;
3593 uint32_t ibssInactivityCount;
3594 uint32_t ibssTxSpEndInactivityTime;
3595 uint32_t ibssPsWarmupTime;
3596 uint32_t ibssPs1RxChainInAtimEnable;
Abhinav Kumarb074f2f2018-09-15 15:32:11 +05303597 uint32_t IpaConfig;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003598 bool IpaClkScalingEnable;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003599 bool fRegChangeDefCountry;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003600 bool advertiseConcurrentOperation;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003601
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003602#ifdef FEATURE_WLAN_FORCE_SAP_SCC
3603 uint8_t SapSccChanAvoidance;
3604#endif /* FEATURE_WLAN_FORCE_SAP_SCC */
3605
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003606#ifdef DHCP_SERVER_OFFLOAD
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003607 uint8_t dhcpServerIP[IPADDR_STRING_LENGTH];
3608#endif /* DHCP_SERVER_OFFLOAD */
3609 bool enable_mac_spoofing;
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05303610 uint8_t sap_11ac_override;
3611 uint8_t go_11ac_override;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003612 uint8_t max_scan_count;
Kiran Kumar Lokere1a43bcf2018-05-15 15:51:58 -07003613 bool etsi13_srd_chan_in_master_mode;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003614 uint16_t self_gen_frm_pwr;
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07003615#ifdef FEATURE_WLAN_SCAN_PNO
3616 bool pno_channel_prediction;
3617 uint8_t top_k_num_of_channels;
3618 uint8_t stationary_thresh;
3619 uint32_t channel_prediction_full_scan;
3620#endif
Varun Reddy Yeturu05186292015-09-28 17:12:33 -07003621 bool early_stop_scan_enable;
3622 int8_t early_stop_scan_min_threshold;
3623 int8_t early_stop_scan_max_threshold;
Varun Reddy Yeturu044bda22015-11-21 22:03:40 -08003624 int8_t first_scan_bucket_threshold;
Ravi Joshi742495d2015-11-09 18:56:53 -08003625#ifdef FEATURE_LFR_SUBNET_DETECTION
3626 bool enable_lfr_subnet_detection;
3627#endif
Jeff Johnson89c66ff2016-04-22 15:21:37 -07003628#ifdef WLAN_FEATURE_TSF
Yu Wang66a250b2017-07-19 11:46:40 +08003629#ifdef WLAN_FEATURE_TSF_PLUS
3630 uint8_t tsf_ptp_options;
3631#endif /* WLAN_FEATURE_TSF_PLUS */
Jeff Johnson89c66ff2016-04-22 15:21:37 -07003632#endif
Abhinav Kumara083f212018-04-05 18:49:45 +05303633 uint32_t ho_delay_for_rx;
Abhinav Kumara95af7c2018-04-06 17:08:00 +05303634 uint32_t min_delay_btw_roam_scans;
3635 uint32_t roam_trigger_reason_bitmask;
Varun Reddy Yeturufaad37e2017-07-26 10:54:13 -07003636 uint32_t roam_bg_scan_client_bitmap;
gbian62edd7e2017-03-07 13:12:13 +08003637
Nachiket Kukadee547a482018-05-22 16:43:30 +05303638 bool apf_enabled;
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05303639 bool adaptive_dwell_mode_enabled;
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -07003640 enum scan_dwelltime_adaptive_mode scan_adaptive_dwell_mode;
3641 enum scan_dwelltime_adaptive_mode scan_adaptive_dwell_mode_nc;
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -07003642 enum scan_dwelltime_adaptive_mode extscan_adaptive_dwell_mode;
3643 enum scan_dwelltime_adaptive_mode pnoscan_adaptive_dwell_mode;
3644 enum scan_dwelltime_adaptive_mode global_adapt_dwelltime_mode;
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05303645 uint8_t adapt_dwell_lpf_weight;
3646 uint8_t adapt_dwell_passive_mon_intval;
3647 uint8_t adapt_dwell_wifi_act_threshold;
Kapil Gupta0ed58dc2016-04-22 15:35:26 +05303648 bool bug_report_for_no_scan_results;
Amar Singhal18517882016-08-08 12:26:20 -07003649 bool indoor_channel_support;
Yingying Tangb4832f72016-10-20 13:44:55 +08003650 uint16_t sap_tx_leakage_threshold;
Arun Khandavallicc544b32017-01-30 19:52:16 +05303651 bool sap_internal_restart;
Tushnim Bhattacharyya3efa49a2017-07-18 15:43:09 -07003652 enum restart_beaconing_on_ch_avoid_rule
3653 restart_beaconing_on_chan_avoid_event;
Nachiket Kukadee547a482018-05-22 16:43:30 +05303654 enum active_apf_mode active_uc_apf_mode;
3655 enum active_apf_mode active_mc_bc_apf_mode;
Kiran Kumar Lokere5cc2f0d2018-02-08 17:10:05 -08003656 uint8_t he_dynamic_frag_support;
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08003657#ifdef WLAN_FEATURE_11AX
3658 bool enable_ul_mimo;
3659 bool enable_ul_ofdma;
Manikandan Mohan39accff2017-05-02 16:09:00 -07003660 uint32_t he_sta_obsspd;
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08003661#endif
Varun Reddy Yeturud33033f2018-06-11 10:58:30 -07003662#ifdef WLAN_SUPPORT_TWT
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -07003663 bool enable_twt;
3664 uint32_t twt_congestion_timeout;
3665#endif
Manjunathappa Prakashdab74fa2017-06-19 12:11:03 -07003666 bool tx_orphan_enable;
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05303667
Dustin Brown20b6fcf2017-05-17 15:35:17 -07003668 uint8_t scan_backoff_multiplier;
Varun Reddy Yeturubba32e92017-09-06 13:31:40 -07003669 bool mawc_nlo_enabled;
3670 uint32_t mawc_nlo_exp_backoff_ratio;
3671 uint32_t mawc_nlo_init_scan_interval;
3672 uint32_t mawc_nlo_max_scan_interval;
Sourav Mohapatrad9387d82018-09-07 12:28:52 +05303673 enum pmo_auto_pwr_detect_failure_mode auto_pwr_save_fail_mode;
Amar Singhal0fcce7d2018-08-01 13:20:58 -07003674 bool enable_11d_in_world_mode;
Manjeet Singha9cae432017-02-28 11:58:22 +05303675 /* 5G preference parameters for boosting RSSI */
3676 bool enable_5g_band_pref;
3677 int8_t rssi_boost_threshold_5g;
3678 uint8_t rssi_boost_factor_5g;
3679 uint8_t max_rssi_boost_5g;
3680 /* 5G preference parameters for dropping RSSI*/
3681 int8_t rssi_penalize_threshold_5g;
3682 uint8_t rssi_penalize_factor_5g;
3683 uint8_t max_rssi_penalize_5g;
Ashish Kumar Dhanotiyab8630ab2017-07-21 14:18:14 +05303684 bool enable_lprx;
Amar Singhale4a2dd52017-08-07 13:59:05 -07003685 uint32_t scan_11d_interval;
Abhishek Singhb58164a2017-07-19 18:47:23 +05303686 bool is_bssid_hint_priority;
Sourav Mohapatrad9387d82018-09-07 12:28:52 +05303687#ifdef WLAN_FEATURE_PACKET_FILTERING
3688 uint8_t packet_filters_bitmap;
3689#endif
Padma, Santhosh Kumar3e47c632017-09-01 20:15:27 +05303690#ifdef WLAN_FEATURE_SAE
3691 bool is_sae_enabled;
3692#endif
Rachit Kankane0106e382018-05-16 18:59:28 +05303693 bool enable_dtim_selection_diversity;
3694 bool gcmp_enabled;
3695 bool is_11k_offload_supported;
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05303696 uint32_t offload_11k_enable_bitmask;
3697 uint32_t neighbor_report_offload_params_bitmask;
3698 uint32_t neighbor_report_offload_time_offset;
3699 uint32_t neighbor_report_offload_low_rssi_offset;
3700 uint32_t neighbor_report_offload_bmiss_count_trigger;
3701 uint32_t neighbor_report_offload_per_threshold_offset;
3702 uint32_t neighbor_report_offload_cache_timeout;
3703 uint32_t neighbor_report_offload_max_req_cap;
Rajeev Kumar Sirasanagandla4725ae42018-05-24 22:33:34 +05303704 bool action_oui_enable;
3705 uint8_t action_oui_str[ACTION_OUI_MAXIMUM_ID][ACTION_OUI_MAX_STR_LEN];
Ashish Kumar Dhanotiya04f09dd2018-04-02 16:25:16 +05303706 uint8_t enable_tx_sch_delay;
Ashish Kumar Dhanotiya959b38c2018-04-06 21:07:57 +05303707 uint32_t enable_secondary_rate;
Rajeev Kumar15b40a22018-04-12 11:45:24 -07003708 bool is_unit_test_framework_enabled;
Abhinav Kumar271f0632018-03-29 16:01:30 +05303709 bool enable_ftopen;
Abhinav Kumaredd1d372018-05-11 15:33:35 +05303710 bool roam_force_rssi_trigger;
Chaoli Zhou75b062f2018-06-11 12:36:54 +08003711 bool enable_change_channel_bandwidth;
Dundi Raviteja8e338282018-09-25 17:16:04 +05303712
3713 /* HDD converged ini items are listed below this*/
3714 bool bug_on_reinit_failure;
3715 bool is_ramdump_enabled;
3716 uint32_t iface_change_wait_time;
3717 uint8_t multicast_host_fw_msgs;
3718 enum hdd_wext_control private_wext_control;
3719 uint32_t timer_multiplier;
3720 bool enablefwprint;
3721 uint8_t enable_fw_log;
3722
3723#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
3724 /* WLAN Logging */
3725 bool wlan_logging_enable;
3726 bool wlan_logging_to_console;
3727#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
3728
3729#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
3730 uint32_t wlan_auto_shutdown;
3731#endif
3732
3733#ifndef REMOVE_PKT_LOG
3734 bool enable_packet_log;
3735#endif
jitiphil869b9f72018-09-25 17:14:01 +05303736 uint32_t rx_mode;
3737#ifdef MSM_PLATFORM
3738 uint32_t bus_bw_high_threshold;
3739 uint32_t bus_bw_medium_threshold;
3740 uint32_t bus_bw_low_threshold;
3741 uint32_t bus_bw_compute_interval;
3742 uint32_t enable_tcp_delack;
3743 bool enable_tcp_limit_output;
3744 uint32_t enable_tcp_adv_win_scale;
3745 uint32_t tcp_delack_thres_high;
3746 uint32_t tcp_delack_thres_low;
3747 uint32_t tcp_tx_high_tput_thres;
3748 uint32_t tcp_delack_timer_count;
Alok Kumar2fad6442018-11-08 19:19:28 +05303749 bool enable_tcp_param_update;
jitiphil869b9f72018-09-25 17:14:01 +05303750 u8 periodic_stats_disp_time;
3751#endif /* MSM_PLATFORM */
3752#ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL
3753 uint32_t tx_flow_low_watermark;
3754 uint32_t tx_flow_hi_watermark_offset;
3755 uint32_t tx_flow_max_queue_depth;
3756 uint32_t tx_lbw_flow_low_watermark;
3757 uint32_t tx_lbw_flow_hi_watermark_offset;
3758 uint32_t tx_lbw_flow_max_queue_depth;
3759 uint32_t tx_hbw_flow_low_watermark;
3760 uint32_t tx_hbw_flow_hi_watermark_offset;
3761 uint32_t tx_hbw_flow_max_queue_depth;
3762#endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */
3763 uint32_t napi_cpu_affinity_mask;
3764 /* CPU affinity mask for rx_thread */
3765 uint32_t rx_thread_affinity_mask;
3766 uint8_t cpu_map_list[CFG_DP_RPS_RX_QUEUE_CPU_MAP_LIST_LEN];
jitiphil296c23e2018-11-15 16:26:14 +05303767 bool multicast_replay_filter;
3768 uint32_t rx_wakelock_timeout;
3769 uint8_t num_dp_rx_threads;
jitiphilb03ae082018-11-09 17:41:59 +05303770#ifdef CONFIG_DP_TRACE
3771 bool enable_dp_trace;
3772 uint8_t dp_trace_config[DP_TRACE_CONFIG_STRING_LENGTH];
3773#endif
3774#ifdef WLAN_NUD_TRACKING
3775 bool enable_nud_tracking;
3776#endif
Vignesh Viswanathana0358ff2018-11-27 09:53:07 +05303777 uint8_t operating_channel;
3778 uint8_t num_vdevs;
3779 uint8_t enable_concurrent_sta[CFG_CONCURRENT_IFACE_MAX_LEN];
3780 uint8_t dbs_scan_selection[CFG_DBS_SCAN_PARAM_LENGTH];
Ke Huangae49ad02018-11-27 10:53:11 +08003781 uint8_t remove_time_stamp_sync_cmd;
Sourav Mohapatra0dfe5552018-11-16 11:29:54 +05303782#ifdef FEATURE_RUNTIME_PM
3783 bool runtime_pm;
3784#endif
Sourav Mohapatra0dfe5552018-11-16 11:29:54 +05303785 uint8_t inform_bss_rssi_raw;
Ashish Kumar Dhanotiya7a11e272018-11-28 13:16:55 +05303786
3787 bool mac_provision;
3788 uint32_t provisioned_intf_pool;
3789 uint32_t derived_intf_pool;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003790};
3791
3792#define VAR_OFFSET(_Struct, _Var) (offsetof(_Struct, _Var))
3793#define VAR_SIZE(_Struct, _Var) (sizeof(((_Struct *)0)->_Var))
3794
3795#define VAR_FLAGS_NONE (0)
3796
3797/* bit 0 is Required or Optional */
3798#define VAR_FLAGS_REQUIRED (1 << 0)
3799#define VAR_FLAGS_OPTIONAL (0 << 0)
3800
3801/*
3802 * bit 1 tells if range checking is required.
3803 * If less than MIN, assume MIN.
3804 * If greater than MAX, assume MAX.
3805 */
3806#define VAR_FLAGS_RANGE_CHECK (1 << 1)
3807#define VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX (VAR_FLAGS_RANGE_CHECK)
3808
3809/*
3810 * bit 2 is range checking that assumes the DEFAULT value
3811 * If less than MIN, assume DEFAULT,
3812 * If greater than MAX, assume DEFAULT.
3813 */
3814#define VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT (1 << 2)
3815
3816/*
3817 * Bit 3 indicates that the config item can be modified dynamicially
3818 * on a running system
3819 */
3820#define VAR_FLAGS_DYNAMIC_CFG (1 << 3)
3821
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07003822enum wlan_parameter_type {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003823 WLAN_PARAM_Integer,
3824 WLAN_PARAM_SignedInteger,
3825 WLAN_PARAM_HexInteger,
3826 WLAN_PARAM_String,
3827 WLAN_PARAM_MacAddr,
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07003828};
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003829
3830#define REG_VARIABLE(_Name, _Type, _Struct, _VarName, \
3831 _Flags, _Default, _Min, _Max) \
3832 { \
3833 (_Name), \
3834 (_Type), \
3835 (_Flags), \
Qiwei Cai1c52ef62018-08-23 18:58:58 +08003836 0, \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003837 VAR_OFFSET(_Struct, _VarName), \
3838 VAR_SIZE(_Struct, _VarName), \
3839 (_Default), \
3840 (_Min), \
3841 (_Max), \
Qiwei Cai1c52ef62018-08-23 18:58:58 +08003842 NULL \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003843 }
3844
3845#define REG_DYNAMIC_VARIABLE(_Name, _Type, _Struct, _VarName, \
3846 _Flags, _Default, _Min, _Max, \
3847 _CBFunc, _CBParam) \
3848 { \
3849 (_Name), \
3850 (_Type), \
3851 (VAR_FLAGS_DYNAMIC_CFG | (_Flags)), \
Qiwei Cai1c52ef62018-08-23 18:58:58 +08003852 (_CBParam), \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003853 VAR_OFFSET(_Struct, _VarName), \
3854 VAR_SIZE(_Struct, _VarName), \
3855 (_Default), \
3856 (_Min), \
3857 (_Max), \
Qiwei Cai1c52ef62018-08-23 18:58:58 +08003858 (_CBFunc) \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003859 }
3860
3861#define REG_VARIABLE_STRING(_Name, _Type, _Struct, _VarName, \
3862 _Flags, _Default) \
3863 { \
3864 (_Name), \
3865 (_Type), \
3866 (_Flags), \
Qiwei Cai1c52ef62018-08-23 18:58:58 +08003867 0, \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003868 VAR_OFFSET(_Struct, _VarName), \
3869 VAR_SIZE(_Struct, _VarName), \
3870 (unsigned long)(_Default), \
3871 0, \
3872 0, \
Qiwei Cai1c52ef62018-08-23 18:58:58 +08003873 NULL \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003874 }
3875
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07003876struct reg_table_entry {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003877 char *RegName; /* variable name in the qcom_cfg.ini file */
Qiwei Cai1c52ef62018-08-23 18:58:58 +08003878 unsigned char RegType; /* variable type in hdd_config struct */
3879 unsigned char Flags; /* Specify optional parms and if RangeCheck is performed */
3880 unsigned char notifyId; /* Dynamic modification identifier */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003881 unsigned short VarOffset; /* offset to field from the base address of the structure */
3882 unsigned short VarSize; /* size (in bytes) of the field */
3883 unsigned long VarDefault; /* default value to use */
3884 unsigned long VarMin; /* minimum value, for range checking */
3885 unsigned long VarMax; /* maximum value, for range checking */
3886 /* Dynamic modification notifier */
Jeff Johnson723234b2017-09-03 08:49:15 -07003887 void (*pfnDynamicnotify)(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003888 unsigned long notifyId);
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07003889};
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003890
Krunal Soni707eb782018-01-18 12:04:19 -08003891/**
3892 * hdd_to_csr_wmm_mode() - Utility function to convert HDD to CSR WMM mode
3893 *
Abhinav Kumar7d6f1ac2018-09-01 18:33:56 +05303894 * @uint8_t mode - hdd WMM user mode
Krunal Soni707eb782018-01-18 12:04:19 -08003895 *
3896 * Return: CSR WMM mode
3897 */
Abhinav Kumar7d6f1ac2018-09-01 18:33:56 +05303898eCsrRoamWmmUserModeType hdd_to_csr_wmm_mode(uint8_t mode);
Krunal Soni707eb782018-01-18 12:04:19 -08003899
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003900/* Function declarations and documenation */
Jeff Johnson723234b2017-09-03 08:49:15 -07003901QDF_STATUS hdd_parse_config_ini(struct hdd_context *hdd_ctx);
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05303902
Jeff Johnson723234b2017-09-03 08:49:15 -07003903QDF_STATUS hdd_update_mac_config(struct hdd_context *hdd_ctx);
3904QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx);
3905QDF_STATUS hdd_set_policy_mgr_user_cfg(struct hdd_context *hdd_ctx);
Jeff Johnsonb6909be2017-08-28 12:07:19 -07003906QDF_STATUS hdd_set_sme_chan_list(struct hdd_context *hdd_ctx);
Jeff Johnson723234b2017-09-03 08:49:15 -07003907bool hdd_update_config_cfg(struct hdd_context *hdd_ctx);
Nirav Shah5c083da2018-08-03 13:46:02 +05303908void hdd_cfg_get_global_config(struct hdd_context *hdd_ctx, char *buf,
3909 int buflen);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003910
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07003911eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode(enum hdd_dot11_mode dot11Mode);
Jeff Johnson723234b2017-09-03 08:49:15 -07003912QDF_STATUS hdd_execute_global_config_command(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003913 char *command);
3914
Jeff Johnson723234b2017-09-03 08:49:15 -07003915bool hdd_is_okc_mode_enabled(struct hdd_context *hdd_ctx);
Arunk Khandavalli847969d2017-09-25 15:15:36 +05303916QDF_STATUS hdd_set_idle_ps_config(struct hdd_context *hdd_ctx, bool val);
Jeff Johnson723234b2017-09-03 08:49:15 -07003917void hdd_get_pmkid_modes(struct hdd_context *hdd_ctx,
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08003918 struct pmkid_mode_bits *pmkid_modes);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003919
Jeff Johnson8abc5932018-06-02 22:51:37 -07003920void hdd_update_tgt_cfg(hdd_handle_t hdd_handle, struct wma_tgt_cfg *cfg);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003921
Jeff Johnson9268e092017-11-03 08:18:24 -07003922/**
3923 * hdd_string_to_u8_array() - used to convert decimal string into u8 array
3924 * @str: Decimal string
3925 * @array: Array where converted value is stored
3926 * @len: Length of the populated array
3927 * @array_max_len: Maximum length of the array
3928 *
3929 * This API is called to convert decimal string (each byte separated by
3930 * a comma) into an u8 array
3931 *
3932 * Return: QDF_STATUS
3933 */
3934QDF_STATUS hdd_string_to_u8_array(char *str, uint8_t *array,
Jiachao Wu6e9b9f92018-01-03 13:35:40 +08003935 uint8_t *len, uint16_t array_max_len);
Jeff Johnson9268e092017-11-03 08:18:24 -07003936
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05303937QDF_STATUS hdd_hex_string_to_u16_array(char *str, uint16_t *int_array,
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08003938 uint8_t *len, uint8_t int_array_max_len);
3939
Nirav Shah5c083da2018-08-03 13:46:02 +05303940void hdd_cfg_print_global_config(struct hdd_context *hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003941
Kiran Kumar Lokere44a29432018-01-24 16:10:30 -08003942QDF_STATUS hdd_update_nss(struct hdd_adapter *adapter, uint8_t nss);
Arif Hussaincd151632017-02-11 16:57:19 -08003943
3944/**
3945 * hdd_dfs_indicate_radar() - Block tx as radar found on the channel
3946 * @hdd_ctxt: HDD context pointer
3947 *
3948 * This function is invoked in atomic context when a radar
3949 * is found on the SAP current operating channel and Data Tx
3950 * from netif has to be stopped to honor the DFS regulations.
3951 * Actions: Stop the netif Tx queues,Indicate Radar present
3952 * in HDD context for future usage.
3953 *
3954 * Return: true on success, else false
3955 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07003956bool hdd_dfs_indicate_radar(struct hdd_context *hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003957#endif