blob: 824b446437fab61452b7d18c391abdbd299ff16f [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>
wadesong5cea9122018-11-12 18:05:39 +080091 * g11dSupportEnabled - Enable/Disable 11d support
92 * @Min: 0
93 * @Max: 1
94 * @Default: 1
95 *
96 * This ini is used to enable or disable 11d support.
97 *
98 * Related: None
99 *
100 * Supported Feature: STA
101 *
102 * Usage: Internal/External
103 *
104 * </ini>
105 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800106#define CFG_11D_SUPPORT_ENABLED_NAME "g11dSupportEnabled"
107#define CFG_11D_SUPPORT_ENABLED_MIN WNI_CFG_11D_ENABLED_STAMIN
108#define CFG_11D_SUPPORT_ENABLED_MAX WNI_CFG_11D_ENABLED_STAMAX
109#define CFG_11D_SUPPORT_ENABLED_DEFAULT WNI_CFG_11D_ENABLED_STADEF /* Default is ON */
110
Amar Singhal0fcce7d2018-08-01 13:20:58 -0700111/*
112 * <ini>
113 * enable_11d_in_world_mode - enable 11d in world mode
114 * @Min: 0
115 * @Max: 1
116 * @Default: 0
117 *
118 * This ini enables 11d in world mode, irrespective of value of
119 * g11dSupportEnabled
120 *
121 * Usage: External
122 *
123 * </ini>
124 */
125 #define CFG_ENABLE_11D_IN_WORLD_MODE_NAME "enable_11d_in_world_mode"
126 #define CFG_ENABLE_11D_IN_WORLD_MODE_MIN (0)
127 #define CFG_ENABLE_11D_IN_WORLD_MODE_MAX (1)
128 #define CFG_ENABLE_11D_IN_WORLD_MODE_DEFAULT (0)
129
wadesong5cea9122018-11-12 18:05:39 +0800130/*
131 * <ini>
132 * g11hSupportEnabled - Enable/Disable 11h support
133 * @Min: 0
134 * @Max: 1
135 * @Default: 1
136 *
137 * This ini is used to enable or disable 11h support.
138 *
139 * Related: None
140 *
141 * Supported Feature: STA
142 *
143 * Usage: Internal/External
144 *
145 * </ini>
146 */
147
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800148#define CFG_11H_SUPPORT_ENABLED_NAME "g11hSupportEnabled"
149#define CFG_11H_SUPPORT_ENABLED_MIN (0)
150#define CFG_11H_SUPPORT_ENABLED_MAX (1)
151#define CFG_11H_SUPPORT_ENABLED_DEFAULT (1) /* Default is ON */
152
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800153#define CFG_REG_CHANGE_DEF_COUNTRY_NAME "gRegulatoryChangeCountry"
154#define CFG_REG_CHANGE_DEF_COUNTRY_DEFAULT (0)
155#define CFG_REG_CHANGE_DEF_COUNTRY_MIN (0)
156#define CFG_REG_CHANGE_DEF_COUNTRY_MAX (1)
157
wadesong5cea9122018-11-12 18:05:39 +0800158/*
159 * <ini>
160 * gAdvertiseConcurrentOperation - Iface combination advertising
161 * @Min: 0
162 * @Max: 1
163 * @Default: 1
164 *
165 * This ini is used to control whether driver should indicate to kernel
166 * wiphy layer the combination of all its interfaces' supportability.
167 *
168 * Related: None
169 *
170 * Supported Feature: STA
171 *
172 * Usage: Internal/External
173 *
174 * </ini>
175 */
176
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800177#define CFG_ADVERTISE_CONCURRENT_OPERATION_NAME "gAdvertiseConcurrentOperation"
178#define CFG_ADVERTISE_CONCURRENT_OPERATION_DEFAULT (1)
179#define CFG_ADVERTISE_CONCURRENT_OPERATION_MIN (0)
180#define CFG_ADVERTISE_CONCURRENT_OPERATION_MAX (1)
181
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -0700182enum hdd_dot11_mode {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800183 eHDD_DOT11_MODE_AUTO = 0, /* covers all things we support */
184 eHDD_DOT11_MODE_abg, /* 11a/b/g only, no HT, no proprietary */
185 eHDD_DOT11_MODE_11b,
186 eHDD_DOT11_MODE_11g,
187 eHDD_DOT11_MODE_11n,
188 eHDD_DOT11_MODE_11g_ONLY,
189 eHDD_DOT11_MODE_11n_ONLY,
190 eHDD_DOT11_MODE_11b_ONLY,
191 eHDD_DOT11_MODE_11ac_ONLY,
192 eHDD_DOT11_MODE_11ac,
193 eHDD_DOT11_MODE_11a,
Krishna Kumaar Natarajan4f1d7722017-03-03 21:12:51 -0800194 eHDD_DOT11_MODE_11ax_ONLY,
195 eHDD_DOT11_MODE_11ax,
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -0700196};
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800197
Sen, Devendra9ca8c432017-02-23 15:10:26 +0530198/*
199 * <ini>
200 * gChannelBondingMode24GHz - Configures Channel Bonding in 24 GHz
201 * @Min: 0
202 * @Max: 10
203 * @Default: 0
204 *
205 * This ini is used to set default channel bonding mode 24GHZ
206 *
207 * Related: None
208 *
209 * Supported Feature: STA
210 *
211 * Usage: Internal/External
212 *
213 * </ini>
214 */
215
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800216#define CFG_CHANNEL_BONDING_MODE_24GHZ_NAME "gChannelBondingMode24GHz"
217#define CFG_CHANNEL_BONDING_MODE_MIN WNI_CFG_CHANNEL_BONDING_MODE_STAMIN
218#define CFG_CHANNEL_BONDING_MODE_MAX WNI_CFG_CHANNEL_BONDING_MODE_STAMAX
219#define CFG_CHANNEL_BONDING_MODE_DEFAULT WNI_CFG_CHANNEL_BONDING_MODE_STADEF
220
Sen, Devendra9ca8c432017-02-23 15:10:26 +0530221/*
222 * <ini>
Abhishek Singhb59f8d42017-07-31 14:42:47 +0530223 * override_ht20_40_24g - use channel Bonding in 24 GHz from supplicant
224 * @Min: 0
225 * @Max: 1
226 * @Default: 0
227 *
228 * This ini is used to use channel Bonding in 24 GHz from supplicant if
229 * gChannelBondingMode24GHz is set
230 *
231 * Related: gChannelBondingMode24GHz
232 *
233 * Supported Feature: STA
234 *
235 * Usage: Internal/External
236 *
237 * </ini>
238 */
239
240#define CFG_OVERRIDE_HT40_20_24GHZ_NAME "override_ht20_40_24g"
241#define CFG_OVERRIDE_HT40_20_24GHZ_MIN 0
242#define CFG_OVERRIDE_HT40_20_24GHZ_MAX 1
243#define CFG_OVERRIDE_HT40_20_24GHZ_DEFAULT 0
244
245/*
246 * <ini>
Sen, Devendra9ca8c432017-02-23 15:10:26 +0530247 * gChannelBondingMode5GHz - Configures Channel Bonding in 5 GHz
248 * @Min: 0
249 * @Max: 10
250 * @Default: 0
251 *
252 * This ini is used to set default channel bonding mode 5GHZ
253 *
254 * Related: None
255 *
256 * Supported Feature: STA
257 *
258 * Usage: Internal/External
259 *
260 * </ini>
261 */
262
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800263#define CFG_CHANNEL_BONDING_MODE_5GHZ_NAME "gChannelBondingMode5GHz"
264#define CFG_CHANNEL_BONDING_MODE_MIN WNI_CFG_CHANNEL_BONDING_MODE_STAMIN
265#define CFG_CHANNEL_BONDING_MODE_MAX WNI_CFG_CHANNEL_BONDING_MODE_STAMAX
266#define CFG_CHANNEL_BONDING_MODE_DEFAULT WNI_CFG_CHANNEL_BONDING_MODE_STADEF
267
Sen, Devendra9ca8c432017-02-23 15:10:26 +0530268/*
269 * <ini>
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530270 * gScanResultAgeCount - Set scan result age count
271 * @Min: 1
272 * @Max: 100
273 * @Default: 1
274 *
275 * This ini parameter is the number of times a scan
276 * doesn't find it before it is removed from results.
277 *
278 * Related: None
279 *
280 * Supported Feature: Scan
281 *
282 * Usage: External
283 *
284 * </ini>
285 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800286#define CFG_SCAN_RESULT_AGE_COUNT_NAME "gScanResultAgeCount"
287#define CFG_SCAN_RESULT_AGE_COUNT_MIN (1)
288#define CFG_SCAN_RESULT_AGE_COUNT_MAX (100)
Jeff Johnsoncb331d92016-09-22 12:43:49 -0700289#define CFG_SCAN_RESULT_AGE_COUNT_DEFAULT (1)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800290
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530291/*
292 * <ini>
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530293 * gNeighborScanTimerPeriod - Set neighbor scan timer period
294 * @Min: 3
295 * @Max: 300
296 * @Default: 200
297 *
298 * This ini is used to set the timer period in secs after
299 * which neighbor scan is trigerred.
300 *
301 * Related: None
302 *
303 * Supported Feature: LFR Scan
304 *
305 * Usage: External
306 *
307 * </ini>
308 */
309#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME "gNeighborScanTimerPeriod"
310#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN (3)
311#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX (300)
Varun Reddy Yeturub60d5222017-10-14 23:38:36 -0700312#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT (100)
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530313
314/*
315 * <ini>
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +0530316 * gRoamRestTimeMin - Set min neighbor scan timer period
317 * @Min: 3
318 * @Max: 300
319 * @Default: 200
320 *
321 * This is the min rest time after which firmware will check for traffic
322 * and if there no traffic it will move to a new channel to scan
323 * else it will stay on the home channel till gNeighborScanTimerPeriod time
324 * and then will move to a new channel to scan.
325 *
326 * Related: None
327 *
328 * Supported Feature: LFR Scan
329 *
330 * Usage: External
331 *
332 * </ini>
333 */
334#define CFG_NEIGHBOR_SCAN_MIN_TIMER_PERIOD_NAME "gRoamRestTimeMin"
335#define CFG_NEIGHBOR_SCAN_MIN_TIMER_PERIOD_MIN (3)
336#define CFG_NEIGHBOR_SCAN_MIN_TIMER_PERIOD_MAX (300)
Varun Reddy Yeturub60d5222017-10-14 23:38:36 -0700337#define CFG_NEIGHBOR_SCAN_MIN_TIMER_PERIOD_DEFAULT (50)
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +0530338
339/*
340 * <ini>
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530341 * gOpportunisticThresholdDiff - Set oppurtunistic threshold diff
342 * @Min: 0
343 * @Max: 127
344 * @Default: 0
345 *
346 * This ini is used to set opportunistic threshold diff.
347 * This parameter is the RSSI diff above neighbor lookup
348 * threshold, when opportunistic scan should be triggered.
Jeff Johnson2cc31fd2018-05-05 23:54:23 -0700349 * MAX value is chosen so that this type of scan can be
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530350 * always enabled by user.
351 * MIN value will cause opportunistic scan to be triggered
352 * in neighbor lookup RSSI range.
353 *
354 * Related: None
355 *
356 * Supported Feature: LFR Scan
357 *
358 * Usage: External
359 *
360 * </ini>
361 */
362#define CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_NAME "gOpportunisticThresholdDiff"
363#define CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_MIN (0)
364#define CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_MAX (127)
365#define CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_DEFAULT (0)
366
367/*
368 * <ini>
369 * gNeighborScanChannelList - Set channels to be scanned
370 * by firmware for LFR scan
371 * @Default: ""
372 *
373 * This ini is used to set the channels to be scanned
374 * by firmware for LFR scan.
375 *
376 * Related: None
377 *
378 * Supported Feature: LFR Scan
379 *
380 * Usage: External
381 *
382 * </ini>
383 */
384#define CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME "gNeighborScanChannelList"
385#define CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ""
386
387/*
388 * <ini>
389 * gNeighborScanChannelMinTime - Set neighbor scan channel min time
390 * @Min: 10
391 * @Max: 40
392 * @Default: 20
393 *
394 * This ini is used to set the minimum time in secs spent on each
395 * channel in LFR scan inside firmware.
396 *
397 * Related: None
398 *
399 * Supported Feature: LFR Scan
400 *
401 * Usage: External
402 *
403 * </ini>
404 */
405#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME "gNeighborScanChannelMinTime"
406#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN (10)
407#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX (40)
408#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT (20)
409
410/*
411 * <ini>
412 * gNeighborScanChannelMaxTime - Set neighbor scan channel max time
413 * @Min: 3
414 * @Max: 300
415 * @Default: 30
416 *
417 * This ini is used to set the maximum time in secs spent on each
418 * channel in LFR scan inside firmware.
419 *
420 * Related: None
421 *
422 * Supported Feature: LFR Scan
423 *
424 * Usage: External
425 *
426 * </ini>
427 */
428#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME "gNeighborScanChannelMaxTime"
429#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN (3)
430#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX (300)
431#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT (30)
432
433/*
434 * <ini>
435 * gNeighborScanRefreshPeriod - Set neighbor scan refresh period
436 * @Min: 1000
437 * @Max: 60000
438 * @Default: 20000
439 *
440 * This ini is used by firmware to set scan refresh period
441 * in msecs for lfr scan.
442 *
443 * Related: None
444 *
445 * Supported Feature: LFR Scan
446 *
447 * Usage: External
448 *
449 * </ini>
450 */
451#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME "gNeighborScanRefreshPeriod"
452#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN (1000)
453#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX (60000)
454#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT (20000)
455
456/*
457 * <ini>
458 * gEmptyScanRefreshPeriod - Set empty scan refresh period
459 * @Min: 0
460 * @Max: 60000
461 * @Default: 0
462 *
463 * This ini is used by firmware to set scan period in msecs
464 * following empty scan results.
465 *
466 * Related: None
467 *
468 * Supported Feature: LFR Scan
469 *
470 * Usage: External
471 *
472 * </ini>
473 */
474#define CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME "gEmptyScanRefreshPeriod"
475#define CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN (0)
476#define CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX (60000)
477#define CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT (0)
478
479/*
480 * <ini>
481 * gEnableDFSChnlScan - Enable DFS channel scan
482 * @Min: 0
483 * @Max: 1
484 * @Default: 1
485 *
486 * This ini is used to enable or disable DFS channel
487 * scan
Deepak Dhamdhere828f1892017-02-09 11:51:19 -0800488 */
489#define CFG_ENABLE_DFS_CHNL_SCAN_NAME "gEnableDFSChnlScan"
490#define CFG_ENABLE_DFS_CHNL_SCAN_MIN (0)
491#define CFG_ENABLE_DFS_CHNL_SCAN_MAX (1)
492#define CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT (1)
493
494/*
495 * <ini>
Wu Gao94488c22018-03-14 14:37:25 +0800496 * gEnableDFSPnoChnlScan - enable dfs channels in PNO scan
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530497 * @Min: 0
498 * @Max: 1
499 * @Default: 1
500 *
Wu Gao94488c22018-03-14 14:37:25 +0800501 * This ini is used to enable/disable dfs channels in PNO scan request,
502 * enabling this ini enables driver to include dfs channels in its
503 * PNO scan request
504 * Related: NA
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530505 *
Wu Gao94488c22018-03-14 14:37:25 +0800506 * Supported Feature: DFS, PNO
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530507 *
Wu Gao94488c22018-03-14 14:37:25 +0800508 * Usage: Internal/External
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530509 *
510 * </ini>
511 */
512#define CFG_ENABLE_DFS_PNO_CHNL_SCAN_NAME "gEnableDFSPnoChnlScan"
513#define CFG_ENABLE_DFS_PNO_CHNL_SCAN_MIN (0)
514#define CFG_ENABLE_DFS_PNO_CHNL_SCAN_MAX (1)
515#define CFG_ENABLE_DFS_PNO_CHNL_SCAN_DEFAULT (1)
516
517/*
518 * <ini>
519 * gEnableFirstScan2GOnly - Enable first scan 2G only
520 * @Min: 0
521 * @Max: 1
522 * @Default: 0
523 *
524 * This ini is used to scan 2G channels only in first scan.
525 *
526 * Related: None
527 *
528 * Supported Feature: Scan
529 *
530 * Usage: External
531 *
532 * </ini>
533 */
534#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME "gEnableFirstScan2GOnly"
535#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN (0)
536#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX (1)
537#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT (0)
538
539/*
540 * <ini>
541 * gScanAgingTime - Set scan aging time
542 * @Min: 0
543 * @Max: 200
544 * @Default: 30
545 *
546 * This ini is used to set scan aging timeout value
547 * in secs. For example after 30 secs the bss results
548 * greater than 30secs age will be flushed.
549 *
550 * Related: None
551 *
552 * Supported Feature: Scan
553 *
554 * Usage: External
555 *
556 * </ini>
557 */
558#define CFG_SCAN_AGING_PARAM_NAME "gScanAgingTime"
559#define CFG_SCAN_AGING_PARAM_MIN (0)
560#define CFG_SCAN_AGING_PARAM_MAX (200)
Varun Reddy Yeturuc4631fb2017-07-06 15:13:53 -0700561#ifdef QCA_WIFI_NAPIER_EMULATION
562#define CFG_SCAN_AGING_PARAM_DEFAULT (90)
563#else
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530564#define CFG_SCAN_AGING_PARAM_DEFAULT (30)
Varun Reddy Yeturuc4631fb2017-07-06 15:13:53 -0700565#endif
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530566
567#ifdef FEATURE_WLAN_SCAN_PNO
568/*
569 * <ini>
570 * gPNOScanSupport - Enable or Disable PNO scan
571 * @Min: 1
572 * @Max: 0
573 * @Default: 1
574 *
575 * This ini is used to Enable or Disable PNO scan
576 *
577 * Related: None
578 *
579 * Supported Feature: Scan
580 *
581 * Usage: External
582 *
583 * </ini>
584 */
585#define CFG_PNO_SCAN_SUPPORT "gPNOScanSupport"
586#define CFG_PNO_SCAN_SUPPORT_ENABLE (1)
587#define CFG_PNO_SCAN_SUPPORT_DISABLE (0)
588#define CFG_PNO_SCAN_SUPPORT_DEFAULT (1)
589
590/*
591 * <ini>
592 * gPNOScanTimerRepeatValue - Set PNO scan timer repeat value
593 * @Min: 30
594 * @Max: 0
595 * @Default: 0xffffffff
596 *
597 * This ini is used by firmware to set fast scan max cycles
598 * equal to gPNOScanTimerRepeatValue. Taking power consumption
599 * into account firmware after gPNOScanTimerRepeatValue times
600 * fast_scan_period switches to slow_scan_period.
601 *
602 * Related: None
603 *
604 * Supported Feature: Scan
605 *
606 * Usage: External
607 *
608 * </ini>
609 */
610#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE "gPNOScanTimerRepeatValue"
611#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT (30)
612#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN (0)
613#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX (0xffffffff)
614
615/*
616 * <ini>
617 * gPNOSlowScanMultiplier - Set PNO slow scan multiplier
618 * @Min: 6
619 * @Max: 0
620 * @Default: 30
621 *
622 * This ini is used by firmware to set slow scan period
623 * as gPNOSlowScanMultiplier times fast_scan_period.
624 *
625 * Related: None
626 *
627 * Supported Feature: Scan
628 *
629 * Usage: External
630 *
631 * </ini>
632 */
633#define CFG_PNO_SLOW_SCAN_MULTIPLIER "gPNOSlowScanMultiplier"
634#define CFG_PNO_SLOW_SCAN_MULTIPLIER_DEFAULT (6)
635#define CFG_PNO_SLOW_SCAN_MULTIPLIER_MIN (0)
636#define CFG_PNO_SLOW_SCAN_MULTIPLIER_MAX (30)
637#endif
638
639/*
640 * <ini>
641 * max_scan_count - Set maximum number of scans
642 * @Min: 1
643 * @Max: 8
644 * @Default: 4
645 *
646 * This ini is used to set the maximum number of
647 * scans that host can queue at firmware.
648 * Rome firmware support 8 scan queue size and 4
649 * are reserved for internal scan requests like
650 * roaming. So host can send 4 scan requests.
651 * In iHelium, there is no constraint in number of
652 * scan queue size at firmware but the current use
653 * cases needs support of maximum of 4 scan request
654 * from host.
655 *
656 * Related: None
657 *
658 * Supported Feature: Scan
659 *
660 * Usage: External
661 *
662 * </ini>
663 */
664#define CFG_MAX_SCAN_COUNT_NAME "max_scan_count"
665#define CFG_MAX_SCAN_COUNT_MIN (1)
666#define CFG_MAX_SCAN_COUNT_MAX (8)
667#define CFG_MAX_SCAN_COUNT_DEFAULT (4)
668
669/*
670 * <ini>
671 * gPassiveMaxChannelTime - Set max channel time for passive scan
672 * @Min: 0
673 * @Max: 10000
674 * @Default: 110
675 *
676 * This ini is used to set maximum channel time in secs spent in
677 * passive scan
678 *
679 * Related: None
680 *
681 * Supported Feature: Scan
682 *
683 * Usage: External
684 *
685 * </ini>
686 */
687#define CFG_PASSIVE_MAX_CHANNEL_TIME_NAME "gPassiveMaxChannelTime"
688#define CFG_PASSIVE_MAX_CHANNEL_TIME_MIN (0)
689#define CFG_PASSIVE_MAX_CHANNEL_TIME_MAX (10000)
690#define CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT (110)
691
692/*
693 * <ini>
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530694 * gActiveMaxChannelTime - Set max channel time for active scan
695 * @Min: 0
696 * @Max: 10000
697 * @Default: 40
698 *
699 * This ini is used to set maximum channel time in secs spent in
700 * active scan
701 *
702 * Related: None
703 *
704 * Supported Feature: Scan
705 *
706 * Usage: External
707 *
708 * </ini>
709 */
710#define CFG_ACTIVE_MAX_CHANNEL_TIME_NAME "gActiveMaxChannelTime"
711#define CFG_ACTIVE_MAX_CHANNEL_TIME_MIN (0)
712#define CFG_ACTIVE_MAX_CHANNEL_TIME_MAX (10000)
713#define CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT (40)
714
715/*
716 * <ini>
Kiran Kumar Lokerea2dfefe2017-06-29 19:01:24 -0700717 * gScanNumProbes - Set the number of probes on each channel for active scan
718 * @Min: 0
719 * @Max: 20
720 * @Default: 0
721 *
722 * This ini is used to set number of probes on each channel for
723 * active scan
724 *
725 * Related: None
726 *
727 * Supported Feature: Scan
728 *
729 * Usage: External
730 *
731 * </ini>
732 */
733#define CFG_SCAN_NUM_PROBES_NAME "gScanNumProbes"
734#define CFG_SCAN_NUM_PROBES_MIN (0)
735#define CFG_SCAN_NUM_PROBES_MAX (20)
736#define CFG_SCAN_NUM_PROBES_DEFAULT (0)
737
738/*
739 * <ini>
740 * gScanProbeRepeatTime - Set the probe repeat time on each channel for active scan
741 * @Min: 0
742 * @Max: 30
743 * @Default: 0
744 *
745 * This ini is used to set probe repeat time on each channel for
746 * active scan
747 *
748 * Related: None
749 *
750 * Supported Feature: Scan
751 *
752 * Usage: External
753 *
754 * </ini>
755 */
756#define CFG_SCAN_PROBE_REPEAT_TIME_NAME "gScanProbeRepeatTime"
757#define CFG_SCAN_PROBE_REPEAT_TIME_MIN (0)
758#define CFG_SCAN_PROBE_REPEAT_TIME_MAX (30)
759#define CFG_SCAN_PROBE_REPEAT_TIME_DEFAULT (0)
760
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530761/*
762 * <ini>
763 * gChPredictionFullScanMs - Set periodic timer for channel
764 * prediction
765 * @Min: 3000
766 * @Max: 0x7fffffff
767 * @Default: 60000
768 *
769 * This ini is used to set the periodic timer upon which
770 * a full scan needs to be triggered when PNO channel
771 * prediction feature is enabled. This parameter is intended
772 * to tweak the internal algortihm for experiments.
773 *
774 * Related: None
775 *
776 * Supported Feature: Scan
777 *
778 * Usage: Internal
779 *
780 * </ini>
781 */
782#define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_NAME "gChPredictionFullScanMs"
783#define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_MIN (30000)
784#define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_MAX (0x7fffffff)
785#define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_DEFAULT (60000)
786
787/*
788 * <ini>
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530789 * gbug_report_for_scan_results - Enable bug report
790 * @Min: 0
791 * @Max: 1
792 * @Default: 0
793 *
794 * This ini is used to create bug report in
795 * case of nil scan results.
796 *
797 * Related: None
798 *
799 * Supported Feature: Scan
800 *
801 * Usage: External
802 *
803 * </ini>
804 */
805#define CFG_CREATE_BUG_REPORT_FOR_SCAN "gbug_report_for_scan_results"
806#define CFG_CREATE_BUG_REPORT_FOR_SCAN_DISABLE (0)
807#define CFG_CREATE_BUG_REPORT_FOR_SCAN_ENABLE (1)
808#define CFG_CREATE_BUG_REPORT_FOR_SCAN_DEFAULT (0)
809
810/*
811 * <ini>
812 * hostscan_adaptive_dwell_mode - Enable adaptive dwell mode
Paul Zhang72697bd2017-12-20 09:24:25 +0800813 * during host scan with conneciton
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530814 * @Min: 0
815 * @Max: 4
Paul Zhang72697bd2017-12-20 09:24:25 +0800816 * @Default: 2
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530817 *
818 * This ini will set the algo used in dwell time optimization
Paul Zhang72697bd2017-12-20 09:24:25 +0800819 * during host scan with connection.
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -0700820 * See enum scan_dwelltime_adaptive_mode.
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530821 * Acceptable values for this:
822 * 0: Default (Use firmware default mode)
823 * 1: Conservative optimization
824 * 2: Moderate optimization
825 * 3: Aggressive optimization
826 * 4: Static
827 *
828 * Related: None
829 *
830 * Supported Feature: Scan
831 *
832 * Usage: External
833 *
834 * </ini>
835 */
836#define CFG_ADAPTIVE_SCAN_DWELL_MODE_NAME "hostscan_adaptive_dwell_mode"
837#define CFG_ADAPTIVE_SCAN_DWELL_MODE_MIN (0)
838#define CFG_ADAPTIVE_SCAN_DWELL_MODE_MAX (4)
Paul Zhang72697bd2017-12-20 09:24:25 +0800839#define CFG_ADAPTIVE_SCAN_DWELL_MODE_DEFAULT (2)
840
841/*
842 * <ini>
843 * hostscan_adaptive_dwell_mode_no_conn - Enable adaptive dwell mode
844 * during host scan without connection
845 * @Min: 0
846 * @Max: 4
847 * @Default: 1
848 *
849 * This ini will set the algo used in dwell time optimization
850 * during host scan without connection.
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -0700851 * See enum scan_dwelltime_adaptive_mode.
Paul Zhang72697bd2017-12-20 09:24:25 +0800852 * Acceptable values for this:
853 * 0: Default (Use firmware default mode)
854 * 1: Conservative optimization
855 * 2: Moderate optimization
856 * 3: Aggressive optimization
857 * 4: Static
858 *
859 * Related: None
860 *
861 * Supported Feature: Scan
862 *
863 * Usage: External
864 *
865 * </ini>
866 */
867#define CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_NAME "hostscan_adaptive_dwell_mode_no_conn"
868#define CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_MIN (0)
869#define CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_MAX (4)
870#define CFG_ADAPTIVE_SCAN_DWELL_MODE_NC_DEFAULT (1)
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530871
872/*
873 * <ini>
874 * extscan_adaptive_dwell_mode - Enable adaptive dwell mode
875 * during ext scan
876 * @Min: 0
877 * @Max: 4
Arif Hussaindcb9ead2017-03-09 16:41:00 -0800878 * @Default: 1
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530879 *
880 * This ini will set the algo used in dwell time optimization
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -0700881 * during ext scan. see enum scan_dwelltime_adaptive_mode.
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530882 * Acceptable values for this:
883 * 0: Default (Use firmware default mode)
884 * 1: Conservative optimization
885 * 2: Moderate optimization
886 * 3: Aggressive optimization
887 * 4: Static
888 *
889 * Related: None
890 *
891 * Supported Feature: Scan
892 *
893 * Usage: External
894 *
895 * </ini>
896 */
897#define CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_NAME "extscan_adaptive_dwell_mode"
898#define CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_MIN (0)
899#define CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_MAX (4)
Arif Hussaindcb9ead2017-03-09 16:41:00 -0800900#define CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_DEFAULT (1)
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530901
902/*
903 * <ini>
904 * pnoscan_adaptive_dwell_mode - Enable adaptive dwell mode
905 * during pno scan
906 * @Min: 0
907 * @Max: 4
Arif Hussaindcb9ead2017-03-09 16:41:00 -0800908 * @Default: 1
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530909 *
910 * This ini will set the algo used in dwell time optimization
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -0700911 * during pno scan. see enum scan_dwelltime_adaptive_mode.
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530912 * Acceptable values for this:
913 * 0: Default (Use firmware default mode)
914 * 1: Conservative optimization
915 * 2: Moderate optimization
916 * 3: Aggressive optimization
917 * 4: Static
918 *
919 * Related: None
920 *
921 * Supported Feature: Scan
922 *
923 * Usage: External
924 *
925 * </ini>
926 */
927#define CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_NAME "pnoscan_adaptive_dwell_mode"
928#define CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_MIN (0)
929#define CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_MAX (4)
Arif Hussaindcb9ead2017-03-09 16:41:00 -0800930#define CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_DEFAULT (1)
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530931
932/*
933 * <ini>
934 * adaptive_dwell_mode_enabled - Enable adaptive dwell mode
935 * @Min: 0
936 * @Max: 1
937 * @Default: 1
938 *
939 * This parameter will globally disable/enable the adaptive dwell config.
940 * Following parameters will set different values of attributes for dwell
941 * time optimization thus reducing total scan time.
942 * Acceptable values for this:
943 * 0: Config is disabled
944 * 1: Config is enabled
945 *
946 * Related: None
947 *
948 * Supported Feature: Scan
949 *
950 * Usage: External
951 *
952 * </ini>
953 */
954#define CFG_ADAPTIVE_DWELL_MODE_ENABLED_NAME "adaptive_dwell_mode_enabled"
955#define CFG_ADAPTIVE_DWELL_MODE_ENABLED_MIN (0)
956#define CFG_ADAPTIVE_DWELL_MODE_ENABLED_MAX (1)
957#define CFG_ADAPTIVE_DWELL_MODE_ENABLED_DEFAULT (1)
958
959/*
960 * <ini>
961 * global_adapt_dwelltime_mode - Set default adaptive mode
962 * @Min: 0
963 * @Max: 4
Arif Hussaindcb9ead2017-03-09 16:41:00 -0800964 * @Default: 0
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530965 *
966 * This parameter will set default adaptive mode, will be used if any of the
967 * scan dwell mode is set to default.
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -0700968 * For uses : see enum scan_dwelltime_adaptive_mode
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530969 *
970 * Related: None
971 *
972 * Supported Feature: Scan
973 *
974 * Usage: External
975 *
976 * </ini>
977 */
978#define CFG_GLOBAL_ADAPTIVE_DWELL_MODE_NAME "global_adapt_dwelltime_mode"
979#define CFG_GLOBAL_ADAPTIVE_DWELL_MODE_MIN (0)
980#define CFG_GLOBAL_ADAPTIVE_DWELL_MODE_MAX (4)
Arif Hussaindcb9ead2017-03-09 16:41:00 -0800981#define CFG_GLOBAL_ADAPTIVE_DWELL_MODE_DEFAULT (0)
yeshwanth sriram guntukabdfe4352017-02-16 14:44:31 +0530982
Sen, Devendra9ca8c432017-02-23 15:10:26 +0530983/*
984 * <ini>
985 * gRssiCatGap - Set Rssi CatGap
986 * @Min: 5
987 * @Max: 100
988 * @Default: 5
989 *
990 * This ini is used to set default RssiCatGap
991 *
992 * Related: None
993 *
994 * Supported Feature: STA
995 *
996 * Usage: Internal/External
997 *
998 * </ini>
999 */
1000
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001001#define CFG_RSSI_CATEGORY_GAP_NAME "gRssiCatGap"
1002#define CFG_RSSI_CATEGORY_GAP_MIN (5)
1003#define CFG_RSSI_CATEGORY_GAP_MAX (100)
1004#define CFG_RSSI_CATEGORY_GAP_DEFAULT (5)
1005
Selvaraj, Sridharf7939832017-03-25 16:59:50 +05301006/*
1007 * <ini>
1008 * gRoamPrefer5GHz - Prefer roaming to 5GHz Bss
1009 * @Min: 0
1010 * @Max: 1
1011 * @Default: 1
1012 *
1013 * This ini is used to inform FW to prefer roaming to 5GHz BSS
1014 *
1015 * Related: None
1016 *
1017 * Supported Feature: Roaming
1018 *
1019 * Usage: External
1020 *
1021 * </ini>
1022 */
1023#define CFG_ROAM_PREFER_5GHZ "gRoamPrefer5GHz"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001024#define CFG_ROAM_PREFER_5GHZ_MIN (0)
1025#define CFG_ROAM_PREFER_5GHZ_MAX (1)
1026#define CFG_ROAM_PREFER_5GHZ_DEFAULT (1)
1027
1028/*
Selvaraj, Sridharf7939832017-03-25 16:59:50 +05301029 * <ini>
1030 * gRoamIntraBand - Prefer roaming within Band
1031 * @Min: 0
1032 * @Max: 1
1033 * @Default: 0
1034 *
1035 * This ini is used to inform FW to prefer roaming within band
1036 *
1037 * Related: None
1038 *
1039 * Supported Feature: Roaming
1040 *
1041 * Usage: External
1042 *
1043 * </ini>
1044 */
1045#define CFG_ROAM_INTRA_BAND "gRoamIntraBand"
1046#define CFG_ROAM_INTRA_BAND_MIN (0)
1047#define CFG_ROAM_INTRA_BAND_MAX (1)
1048#define CFG_ROAM_INTRA_BAND_DEFAULT (0)
1049
1050/*
1051 * <ini>
1052 * FastRoamEnabled - Enable fast roaming
1053 * @Min: 0
1054 * @Max: 1
1055 * @Default: 0
1056 *
1057 * This ini is used to inform FW to enable fast roaming
1058 *
1059 * Related: None
1060 *
1061 * Supported Feature: Roaming
1062 *
1063 * Usage: External
1064 *
1065 * </ini>
1066 */
1067#define CFG_LFR_FEATURE_ENABLED_NAME "FastRoamEnabled"
1068#define CFG_LFR_FEATURE_ENABLED_MIN (0)
1069#define CFG_LFR_FEATURE_ENABLED_MAX (1)
1070#define CFG_LFR_FEATURE_ENABLED_DEFAULT (0)
1071
1072/*
1073 * <ini>
1074 * FastTransitionEnabled - Enable fast transition in case of 11r and ese.
1075 * @Min: 0
1076 * @Max: 1
1077 * @Default: 1
1078 *
1079 * This ini is used to turn ON/OFF the whole neighbor roam, pre-auth, reassoc.
1080 * With this turned OFF 11r will completely not work. For 11r this flag has to
1081 * be ON. For ESE fastroam will not work.
1082 *
1083 * Related: None
1084 *
1085 * Supported Feature: Roaming
1086 *
1087 * Usage: External
1088 *
1089 * </ini>
1090 */
1091#define CFG_FAST_TRANSITION_ENABLED_NAME "FastTransitionEnabled"
1092#define CFG_FAST_TRANSITION_ENABLED_NAME_MIN (0)
1093#define CFG_FAST_TRANSITION_ENABLED_NAME_MAX (1)
1094#define CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT (1)
1095
1096/*
1097 * <ini>
1098 * RoamRssiDiff - Enable roam based on rssi
1099 * @Min: 0
1100 * @Max: 30
1101 * @Default: 5
1102 *
1103 * This INI is used to decide whether to Roam or not based on RSSI. AP1 is the
1104 * currently associated AP and AP2 is chosen for roaming. The Roaming will
1105 * happen only if AP2 has better Signal Quality and it has a RSSI better than
1106 * AP2. RoamRssiDiff is the number of units (typically measured in dB) AP2
1107 * is better than AP1.
1108 *
1109 * Related: None
1110 *
1111 * Supported Feature: Roaming
1112 *
1113 * Usage: External
1114 *
1115 * </ini>
1116 */
1117#define CFG_ROAM_RSSI_DIFF_NAME "RoamRssiDiff"
1118#define CFG_ROAM_RSSI_DIFF_MIN (0)
1119#define CFG_ROAM_RSSI_DIFF_MAX (30)
1120#define CFG_ROAM_RSSI_DIFF_DEFAULT (5)
1121
1122/*
1123 * <ini>
1124 * gRoamScanNProbes - Sets the number of probes to be sent for firmware roaming
1125 * @Min: 1
1126 * @Max: 10
1127 * @Default: 2
1128 *
1129 * This INI is used to set the maximum number of probes the firmware can send
1130 * for firmware internal roaming cases.
1131 *
1132 * Related: None
1133 *
1134 * Supported Feature: Roaming
1135 *
1136 * Usage: External
1137 *
1138 * </ini>
1139 */
1140#define CFG_ROAM_SCAN_N_PROBES "gRoamScanNProbes"
1141#define CFG_ROAM_SCAN_N_PROBES_MIN (1)
1142#define CFG_ROAM_SCAN_N_PROBES_MAX (10)
1143#define CFG_ROAM_SCAN_N_PROBES_DEFAULT (2)
1144
1145/*
1146 * <ini>
1147 * gRoamScanHomeAwayTime - Sets the Home Away Time to firmware
1148 * @Min: 0
1149 * @Max: 300
1150 * @Default: 0
1151 *
1152 * Home Away Time should be at least equal to (gNeighborScanChannelMaxTime
1153 * + (2*RFS)), where RFS is the RF Switching time(3). It is twice RFS
1154 * to consider the time to go off channel and return to the home channel.
1155 *
1156 * Related: gNeighborScanChannelMaxTime
1157 *
1158 * Supported Feature: Roaming
1159 *
1160 * Usage: External
1161 *
1162 * </ini>
1163 */
1164#define CFG_ROAM_SCAN_HOME_AWAY_TIME "gRoamScanHomeAwayTime"
1165#define CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN (0)
1166#define CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX (300)
1167#define CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT (0)
1168
1169/*
1170 * <ini>
1171 * OkcEnabled - Enable OKC(Oppurtunistic Key Caching)
1172 * @Min: 0
1173 * @Max: 1
1174 * @Default: 1
1175 *
1176 * This INI is used to enable OKC feature
1177 *
1178 * Related: None
1179 *
1180 * Supported Feature: Roaming
1181 *
1182 * Usage: External
1183 *
1184 * </ini>
1185 */
1186#define CFG_OKC_FEATURE_ENABLED_NAME "OkcEnabled"
1187#define CFG_OKC_FEATURE_ENABLED_MIN (0)
1188#define CFG_OKC_FEATURE_ENABLED_MAX (1)
1189#define CFG_OKC_FEATURE_ENABLED_DEFAULT (1)
1190
1191/*
1192 * <ini>
1193 * gRoamScanOffloadEnabled - Enable Roam Scan Offload
1194 * @Min: 0
1195 * @Max: 1
1196 * @Default: 1
1197 *
1198 * This INI is used to enable Roam Scan Offload in firmware
1199 *
1200 * Related: None
1201 *
1202 * Supported Feature: Roaming
1203 *
1204 * Usage: External
1205 *
1206 * </ini>
1207 */
1208#define CFG_ROAM_SCAN_OFFLOAD_ENABLED "gRoamScanOffloadEnabled"
1209#define CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN (0)
1210#define CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX (1)
1211#define CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT (1)
1212
1213/*
1214 * <ini>
1215 * gRoamRescanRssiDiff - Sets RSSI for Scan trigger in firmware
1216 * @Min: 0
1217 * @Max: 100
1218 * @Default: 5
1219 *
1220 * This INI is the drop in RSSI value that will trigger a precautionary
1221 * scan by firmware. Max value is chosen in such a way that this type
1222 * of scan can be disabled by user.
1223 *
1224 * Related: None
1225 *
1226 * Supported Feature: Roaming
1227 *
1228 * Usage: External
1229 *
1230 * </ini>
1231 */
1232#define CFG_ROAM_RESCAN_RSSI_DIFF_NAME "gRoamRescanRssiDiff"
1233#define CFG_ROAM_RESCAN_RSSI_DIFF_MIN (0)
1234#define CFG_ROAM_RESCAN_RSSI_DIFF_MAX (100)
1235#define CFG_ROAM_RESCAN_RSSI_DIFF_DEFAULT (5)
1236
1237/*
1238 * <ini>
Naveen Rawatb2fc4132017-05-10 20:42:05 -07001239 * gForce1x1Exception - force 1x1 when connecting to certain peer
1240 * @Min: 0
1241 * @Max: 1
1242 * @Default: 0
1243 *
1244 * This INI when enabled will force 1x1 connection with certain peer.
1245 *
1246 *
1247 * Related: None
1248 *
1249 * Supported Feature: connection
1250 *
1251 * Usage: External
1252 *
1253 * </ini>
1254 */
1255#define CFG_FORCE_1X1_NAME "gForce1x1Exception"
1256#define CFG_FORCE_1X1_MIN (0)
1257#define CFG_FORCE_1X1_MAX (1)
Nachiket Kukade4fa80f42017-07-31 17:40:42 +05301258#define CFG_FORCE_1X1_DEFAULT (1)
Naveen Rawatb2fc4132017-05-10 20:42:05 -07001259
1260/*
1261 * <ini>
Selvaraj, Sridharf7939832017-03-25 16:59:50 +05301262 * gEnableFastRoamInConcurrency - Enable LFR roaming on STA during concurrency
1263 * @Min: 0
1264 * @Max: 1
1265 * @Default: 1
1266 *
1267 * This INI is used to enable Legacy fast roaming(LFR) on STA link during
1268 * concurrent sessions.
1269 *
1270 * Related: None
1271 *
1272 * Supported Feature: Roaming
1273 *
1274 * Usage: External
1275 *
1276 * </ini>
1277 */
1278#define CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY "gEnableFastRoamInConcurrency"
1279#define CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN (0)
1280#define CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX (1)
1281#define CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT (1)
1282
1283/*
1284 * <ini>
Selvaraj, Sridharf7939832017-03-25 16:59:50 +05301285 * gRoamScanHiRssiMaxCount - Sets 5GHz maximum scan count
1286 * @Min: 0
1287 * @Max: 10
1288 * @Default: 3
1289 *
1290 * This INI is used to set maximum scan count in 5GHz
1291 *
1292 * Related: None
1293 *
1294 * Supported Feature: Roaming
1295 *
1296 * Usage: External
1297 *
1298 * </ini>
1299 */
1300#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_NAME "gRoamScanHiRssiMaxCount"
1301#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_MIN (0)
1302#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_MAX (10)
1303#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_DEFAULT (3)
1304
1305/*
1306 * <ini>
1307 * gRoamScanHiRssiDelta - Sets RSSI Delta for scan trigger
1308 * @Min: 0
1309 * @Max: 16
1310 * @Default: 10
1311 *
1312 * This INI is used to set change in RSSI at which scan is triggered
1313 * in 5GHz.
1314 *
1315 * Related: None
1316 *
1317 * Supported Feature: Roaming
1318 *
1319 * Usage: External
1320 *
1321 * </ini>
1322 */
1323#define CFG_ROAM_SCAN_HI_RSSI_DELTA_NAME "gRoamScanHiRssiDelta"
1324#define CFG_ROAM_SCAN_HI_RSSI_DELTA_MIN (0)
1325#define CFG_ROAM_SCAN_HI_RSSI_DELTA_MAX (16)
1326#define CFG_ROAM_SCAN_HI_RSSI_DELTA_DEFAULT (10)
1327
1328/*
1329 * <ini>
1330 * gRoamScanHiRssiDelay - Sets minimum delay between 5GHz scans
1331 * @Min: 5000
1332 * @Max: 0x7fffffff
1333 * @Default: 15000
1334 *
1335 * This INI is used to set the minimum delay between 5GHz scans.
1336 *
1337 * Related: None
1338 *
1339 * Supported Feature: Roaming
1340 *
1341 * Usage: External
1342 *
1343 * </ini>
1344 */
1345#define CFG_ROAM_SCAN_HI_RSSI_DELAY_NAME "gRoamScanHiRssiDelay"
1346#define CFG_ROAM_SCAN_HI_RSSI_DELAY_MIN (5000)
1347#define CFG_ROAM_SCAN_HI_RSSI_DELAY_MAX (0x7fffffff)
1348#define CFG_ROAM_SCAN_HI_RSSI_DELAY_DEFAULT (15000)
1349
1350/*
1351 * <ini>
1352 * gRoamScanHiRssiUpperBound - Sets upper bound after which 5GHz scan
1353 * @Min: -66
1354 * @Max: 0
1355 * @Default: -30
1356 *
1357 * This INI is used to set the RSSI upper bound above which the 5GHz scan
1358 * will not be performed.
1359 *
1360 * Related: None
1361 *
1362 * Supported Feature: Roaming
1363 *
1364 * Usage: External
1365 *
1366 * </ini>
1367 */
1368#define CFG_ROAM_SCAN_HI_RSSI_UB_NAME "gRoamScanHiRssiUpperBound"
1369#define CFG_ROAM_SCAN_HI_RSSI_UB_MIN (-66)
1370#define CFG_ROAM_SCAN_HI_RSSI_UB_MAX (0)
1371#define CFG_ROAM_SCAN_HI_RSSI_UB_DEFAULT (-30)
1372
1373#ifdef FEATURE_LFR_SUBNET_DETECTION
1374/*
1375 * <ini>
1376 * gLFRSubnetDetectionEnable - Enable LFR3 subnet detection
1377 * @Min: 0
1378 * @Max: 1
1379 * @Default: 1
1380 *
1381 * Enable IP subnet detection during legacy fast roming version 3. Legacy fast
1382 * roaming could roam across IP subnets without host processors' knowledge.
1383 * This feature enables firmware to wake up the host processor if it
1384 * successfully determines change in the IP subnet. Change in IP subnet could
1385 * potentially cause disruption in IP connnectivity if IP address is not
1386 * refreshed.
1387 *
1388 * Related: None
1389 *
1390 * Supported Feature: Roaming
1391 *
1392 * Usage: External
1393 *
1394 * </ini>
1395 */
1396#define CFG_ENABLE_LFR_SUBNET_DETECTION "gLFRSubnetDetectionEnable"
1397#define CFG_ENABLE_LFR_SUBNET_MIN (0)
1398#define CFG_ENABLE_LFR_SUBNET_MAX (1)
1399#define CFG_ENABLE_LFR_SUBNET_DEFAULT (1)
1400#endif /* FEATURE_LFR_SUBNET_DETECTION */
1401
1402/*
1403 * <ini>
Abhinav Kumar271f0632018-03-29 16:01:30 +05301404 * enable_ftopen - enable/disable FT open feature
1405 * @Min: 0
1406 * @Max: 1
1407 * @Default: 1
1408 *
1409 * This INI is used to enable/disable FT open feature
1410*
1411* Related: None
1412*
1413* Supported Feature: Roaming
1414*
1415* Usage: External
1416*
1417* </ini>
1418*/
1419#define CFG_ROAM_FT_OPEN_ENABLE_NAME "enable_ftopen"
1420#define CFG_ROAM_FT_OPEN_ENABLE_MIN (0)
1421#define CFG_ROAM_FT_OPEN_ENABLE_MAX (1)
1422#define CFG_ROAM_FT_OPEN_ENABLE_DEFAULT (1)
1423
1424/*
1425 * <ini>
Abhinav Kumara95af7c2018-04-06 17:08:00 +05301426 * min_delay_btw_roam_scans - Min duration (in sec) allowed btw two
1427 * consecutive roam scans
1428 * @Min: 0
1429 * @Max: 60
1430 * @Default: 10
1431 *
1432 * Roam scan is not allowed if duration between two consecutive
1433 * roam scans is less than this time.
1434 *
1435 * Related: None
1436 *
1437 * Supported Feature: Roaming
1438 *
1439 * Usage: External
1440 *
1441 * </ini>
1442 */
1443#define CFG_MIN_DELAY_BTW_ROAM_SCAN_NAME "min_delay_btw_roam_scans"
1444#define CFG_MIN_DELAY_BTW_ROAM_SCAN_MIN (0)
1445#define CFG_MIN_DELAY_BTW_ROAM_SCAN_MAX (60)
1446#define CFG_MIN_DELAY_BTW_ROAM_SCAN_DEFAULT (10)
1447
1448/*
1449 * <ini>
1450 * roam_trigger_reason_bitmask - Contains roam_trigger_reasons
1451 * @Min: 0
1452 * @Max: 0xFFFFFFFF
1453 * @Default: 0xDA
1454 *
1455 * Bitmask containing roam_trigger_reasons for which
1456 * min_delay_btw_roam_scans constraint should be applied.
1457 * Currently supported bit positions are as follows:
1458 * Bit 0 is reserved in the firmware.
1459 * WMI_ROAM_TRIGGER_REASON_PER - 1
1460 * WMI_ROAM_TRIGGER_REASON_BMISS - 2
1461 * WMI_ROAM_TRIGGER_REASON_LOW_RSSI - 3
1462 * WMI_ROAM_TRIGGER_REASON_HIGH_RSSI - 4
1463 * WMI_ROAM_TRIGGER_REASON_PERIODIC - 5
1464 * WMI_ROAM_TRIGGER_REASON_MAWC - 6
1465 * WMI_ROAM_TRIGGER_REASON_DENSE - 7
1466 * WMI_ROAM_TRIGGER_REASON_BACKGROUND - 8
1467 * WMI_ROAM_TRIGGER_REASON_FORCED - 9
1468 * WMI_ROAM_TRIGGER_REASON_BTM - 10
1469 * WMI_ROAM_TRIGGER_REASON_UNIT_TEST - 11
1470 * WMI_ROAM_TRIGGER_REASON_MAX - 12
1471 *
1472 * For Ex: 0xDA (PER, LOW_RSSI, HIGH_RSSI, MAWC, DENSE)
1473 *
1474 * Related: None
1475 *
1476 * Supported Feature: Roaming
1477 *
1478 * Usage: External
1479 *
1480 * </ini>
1481 */
1482#define CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_NAME "roam_trigger_reason_bitmask"
1483#define CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_MIN (0)
1484#define CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_MAX (0xFFFFFFFF)
1485#define CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_DEFAULT (0xDA)
1486
1487/*
1488 * <ini>
Vignesh Viswanathanc018e982017-09-07 18:49:19 +05301489 * roam_bad_rssi_thresh_offset_2g - RSSI threshold offset for 2G to 5G roam
1490 * @Min: 0
1491 * @Max: 86
1492 * @Default: 40
1493 *
1494 * If the DUT is connected to an AP with weak signal in 2G band, then the
1495 * bad RSSI offset for 2g would be used as offset from the bad RSSI
1496 * threshold configured and then use the resulting rssi for an opportunity
1497 * to use the scan results from other scan clients and try to roam to
1498 * 5G Band ONLY if there is a better AP available in the environment.
1499 *
1500 * For example if the roam_bg_scan_bad_rssi_thresh is -76 and
1501 * roam_bad_rssi_thresh_offset_2g is 40 then the difference of -36 would be
1502 * used as a trigger to roam to a 5G AP if DUT initially connected to a 2G AP
1503 *
1504 * Related: roam_bg_scan_bad_rssi_thresh
1505 *
1506 * Supported Feature: Roaming
1507 *
1508 * Usage: External
1509 *
1510 * </ini>
1511 */
1512#define CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_NAME "roam_bad_rssi_thresh_offset_2g"
1513#define CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_MIN (0)
1514#define CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_MAX (86)
1515#define CFG_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G_DEFAULT (40)
1516
1517/*
1518 * <ini>
Abhinav Kumara083f212018-04-05 18:49:45 +05301519 * ho_delay_for_rx - Delay Hand-off (In msec) by this duration to receive
1520 * pending rx frames from current BSS
1521 * @Min: 0
1522 * @Max: 200
1523 * @Default: 0
1524 *
1525 * For LFR 3.0 roaming scenario, once roam candidate is found, firmware
1526 * waits for minimum this much duration to receive pending rx frames from
1527 * current BSS before switching to new channel for handoff to new AP.
1528 *
1529 * Related: None
1530 *
1531 * Supported Feature: Roaming
1532 *
1533 * Usage: External
1534 *
1535 * </ini>
1536 */
1537#define CFG_ROAM_HO_DELAY_FOR_RX_NAME "ho_delay_for_rx"
1538#define CFG_ROAM_HO_DELAY_FOR_RX_MIN (0)
1539#define CFG_ROAM_HO_DELAY_FOR_RX_MAX (200)
1540#define CFG_ROAM_HO_DELAY_FOR_RX_DEFAULT (0)
1541
1542/*
1543 * <ini>
Abhinav Kumaredd1d372018-05-11 15:33:35 +05301544 * roam_force_rssi_trigger - To force RSSI trigger
1545 * irrespective of channel list type
1546 * @Min: 0
1547 * @Max: 1
1548 * @Default: 1
1549 *
1550 * This ini is used to set roam scan mode
1551 * WMI_ROAM_SCAN_MODE_RSSI_CHANGE, irrespective of whether
1552 * channel list type is CHANNEL_LIST_STATIC or not
1553 *
1554 * Related: None
1555 *
1556 * Supported Feature: Roaming
1557 *
1558 * Usage: External
1559 *
1560 * </ini>
1561 */
1562#define CFG_ROAM_FORCE_RSSI_TRIGGER_NAME "roam_force_rssi_trigger"
1563#define CFG_ROAM_FORCE_RSSI_TRIGGER_MIN (0)
1564#define CFG_ROAM_FORCE_RSSI_TRIGGER_MAX (1)
1565#define CFG_ROAM_FORCE_RSSI_TRIGGER_DEFAULT (1)
1566
1567/*
Sen, Devendra9ca8c432017-02-23 15:10:26 +05301568 * <ini>
Abhishek Singh49b654e2016-12-01 16:11:17 +05301569 * gIbssBssid - Default IBSS BSSID if BSSID is not provided by supplicant
1570 * @Min: "000000000000"
1571 * @Max: "ffffffffffff"
1572 * @Default: "000AF5040506"
1573 *
1574 * This ini is used to set Default IBSS BSSID if BSSID
1575 * is not provided by supplicant and Coalesing is disabled
1576 *
1577 * Related: Only applicable if gCoalesingInIBSS is 0
1578 *
1579 * Supported Feature: IBSS
1580 *
1581 * Usage: Internal/External
1582 *
1583 * </ini>
1584 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001585#define CFG_IBSS_BSSID_NAME "gIbssBssid"
1586#define CFG_IBSS_BSSID_MIN "000000000000"
1587#define CFG_IBSS_BSSID_MAX "ffffffffffff"
1588#define CFG_IBSS_BSSID_DEFAULT "000AF5040506"
1589
Abhishek Singh49b654e2016-12-01 16:11:17 +05301590/*
1591 * <ini>
1592 * gAdHocChannel5G - Default 5Ghz IBSS channel if channel is not
1593 * provided by supplicant.
1594 * @Min: 36
1595 * @Max: 165
1596 * @Default: 44
1597 *
1598 * This ini is used to set default 5Ghz IBSS channel
1599 * if channel is not provided by supplicant and band is 5Ghz
1600 *
1601 * Related: None
1602 *
1603 * Supported Feature: IBSS
1604 *
1605 * Usage: Internal/External
1606 *
1607 * </ini>
1608 */
1609#define CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME "gAdHocChannel5G"
1610#define CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN (36)
1611#define CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX (165)
1612#define CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT (44)
1613
1614/*
1615 * <ini>
1616 * gAdHocChannel24G - Default 2.4Ghz IBSS channel if channel is not
1617 * provided by supplicant.
1618 * @Min: 1
1619 * @Max: 14
1620 * @Default: 6
1621 *
1622 * This ini is used to set default 2.4Ghz IBSS channel
1623 * if channel is not provided by supplicant and band is 2.4Ghz
1624 *
1625 * Related: None
1626 *
1627 * Supported Feature: IBSS
1628 *
1629 * Usage: Internal/External
1630 *
1631 * </ini>
1632 */
1633#define CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME "gAdHocChannel24G"
1634#define CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN (1)
1635#define CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX (14)
1636#define CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT (6)
1637
1638/*
1639 * <ini>
1640 * gCoalesingInIBSS - If IBSS coalesing is enabled.
1641 * @Min: 0
1642 * @Max: 1
1643 * @Default: 0
1644 *
1645 * This ini is used to set IBSS coalesing
1646 *
1647 * Related: None
1648 *
1649 * Supported Feature: IBSS
1650 *
1651 * Usage: Internal/External
1652 *
1653 * </ini>
1654 */
1655#define CFG_COALESING_IN_IBSS_NAME "gCoalesingInIBSS"
1656#define CFG_COALESING_IN_IBSS_MIN (0)
1657#define CFG_COALESING_IN_IBSS_MAX (1)
1658#define CFG_COALESING_IN_IBSS_DEFAULT (0) /* disabled */
1659
1660/*
1661 * <ini>
1662 * gIbssATIMWinSize - Set IBSS ATIM window size
1663 * @Min: 0
1664 * @Max: 50
1665 * @Default: 0
1666 *
1667 * This ini is used to set IBSS ATIM window size
1668 *
1669 * Related: None
1670 *
1671 * Supported Feature: IBSS
1672 *
1673 * Usage: Internal/External
1674 *
1675 * </ini>
1676 */
1677#define CFG_IBSS_ATIM_WIN_SIZE_NAME "gIbssATIMWinSize"
1678#define CFG_IBSS_ATIM_WIN_SIZE_MIN (0)
1679#define CFG_IBSS_ATIM_WIN_SIZE_MAX (50)
1680#define CFG_IBSS_ATIM_WIN_SIZE_DEFAULT (0)
1681
1682
1683/*
1684 * <ini>
1685 * gIbssIsPowerSaveAllowed - Indicates if IBSS Power Save is
1686 * supported or not
1687 * @Min: 0
1688 * @Max: 1
1689 * @Default: 1
1690 *
1691 * This ini is used to Indicates if IBSS Power Save is
1692 * supported or not. When not allowed,IBSS station has
1693 * to stay awake all the time and should never set PM=1
1694 * in its transmitted frames.
1695 *
1696 * Related: valid only when gIbssATIMWinSize is non-zero
1697 *
1698 * Supported Feature: IBSS
1699 *
1700 * Usage: Internal/External
1701 *
1702 * </ini>
1703 */
1704#define CFG_IBSS_IS_POWER_SAVE_ALLOWED_NAME "gIbssIsPowerSaveAllowed"
1705#define CFG_IBSS_IS_POWER_SAVE_ALLOWED_MIN (0)
1706#define CFG_IBSS_IS_POWER_SAVE_ALLOWED_MAX (1)
1707#define CFG_IBSS_IS_POWER_SAVE_ALLOWED_DEFAULT (1)
1708
1709/*
1710 * <ini>
1711 * gIbssIsPowerCollapseAllowed - Indicates if IBSS Power Collapse
1712 * is allowed
1713 * @Min: 0
1714 * @Max: 1
1715 * @Default: 1
1716 *
1717 * This ini is used to indicates if IBSS Power Collapse
1718 * is allowed
1719 *
1720 * Related: None
1721 *
1722 * Supported Feature: IBSS
1723 *
1724 * Usage: Internal/External
1725 *
1726 * </ini>
1727 */
1728#define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_NAME "gIbssIsPowerCollapseAllowed"
1729#define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_MIN (0)
1730#define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_MAX (1)
1731#define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_DEFAULT (1)
1732
1733/*
1734 * <ini>
1735 * gIbssAwakeOnTxRx - Indicates whether IBSS station
1736 * can exit power save mode and enter power active
1737 * state whenever there is a TX/RX activity.
1738 *
1739 * @Min: 0
1740 * @Max: 1
1741 * @Default: 0
1742 *
1743 * This ini is used to ndicates whether IBSS station
1744 * can exit power save mode and enter power active
1745 * state whenever there is a TX/RX activity.
1746 *
1747 * Related: None
1748 *
1749 * Supported Feature: IBSS
1750 *
1751 * Usage: Internal/External
1752 *
1753 * </ini>
1754 */
1755#define CFG_IBSS_AWAKE_ON_TX_RX_NAME "gIbssAwakeOnTxRx"
1756#define CFG_IBSS_AWAKE_ON_TX_RX_MIN (0)
1757#define CFG_IBSS_AWAKE_ON_TX_RX_MAX (1)
1758#define CFG_IBSS_AWAKE_ON_TX_RX_DEFAULT (0)
1759
1760/*
1761 * <ini>
1762 * gIbssInactivityTime - Indicates the data
1763 * inactivity time in number of beacon intervals
1764 * after which IBSS station re-inters power save
1765 *
1766 * @Min: 1
1767 * @Max: 10
1768 * @Default: 1
1769 *
1770 * In IBSS mode if Awake on TX/RX activity is enabled
1771 * Ibss Inactivity parameter indicates the data
1772 * inactivity time in number of beacon intervals
1773 * after which IBSS station re-inters power save
1774 * by sending Null frame with PM=1
1775 *
1776 * Related: Aplicable if gIbssAwakeOnTxRx is enabled
1777 *
1778 * Supported Feature: IBSS
1779 *
1780 * Usage: Internal/External
1781 *
1782 * </ini>
1783 */
1784#define CFG_IBSS_INACTIVITY_TIME_NAME "gIbssInactivityTime"
1785#define CFG_IBSS_INACTIVITY_TIME_MIN (1)
1786#define CFG_IBSS_INACTIVITY_TIME_MAX (10)
1787#define CFG_IBSS_INACTIVITY_TIME_DEFAULT (1)
1788
1789/*
1790 * <ini>
1791 * gIbssTxSpEndInactivityTime - Indicates the time after
1792 * which TX Service Period is terminated by
1793 * sending a Qos Null frame with EOSP.
1794 *
1795 * @Min: 0
1796 * @Max: 100
1797 * @Default: 0
1798 *
1799 * In IBSS mode Tx Service Period Inactivity
1800 * time in msecs indicates the time after
1801 * which TX Service Period is terminated by
1802 * sending a Qos Null frame with EOSP.
1803 * If value is 0, TX SP is terminated with the
1804 * last buffered packet itself instead of waiting
1805 * for the inactivity.
1806 *
1807 * Related: None
1808 *
1809 * Supported Feature: IBSS
1810 *
1811 * Usage: Internal/External
1812 *
1813 * </ini>
1814 */
1815#define CFG_IBSS_TXSP_END_INACTIVITY_NAME "gIbssTxSpEndInactivityTime"
1816#define CFG_IBSS_TXSP_END_INACTIVITY_MIN (0)
1817#define CFG_IBSS_TXSP_END_INACTIVITY_MAX (100)
1818#define CFG_IBSS_TXSP_END_INACTIVITY_DEFAULT (0)
1819
1820/*
1821 * <ini>
1822 * gIbssPsWarmupTime - PS-supporting device
1823 * does not enter protocol sleep state during first
1824 * gIbssPsWarmupTime seconds.
1825 *
1826 * @Min: 0
1827 * @Max: 65535
1828 * @Default: 0
1829 *
1830 * When IBSS network is initialized, PS-supporting device
1831 * does not enter protocol sleep state during first
1832 * gIbssPsWarmupTime seconds.
1833 *
1834 * Related: valid if gIbssIsPowerSaveAllowed is set
1835 *
1836 * Supported Feature: IBSS
1837 *
1838 * Usage: Internal/External
1839 *
1840 * </ini>
1841 */
1842#define CFG_IBSS_PS_WARMUP_TIME_NAME "gIbssPsWarmupTime"
1843#define CFG_IBSS_PS_WARMUP_TIME_MIN (0)
1844/* Allow unsigned Int Max for now */
1845#define CFG_IBSS_PS_WARMUP_TIME_MAX (65535)
1846#define CFG_IBSS_PS_WARMUP_TIME_DEFAULT (0)
1847
1848/*
1849 * <ini>
Sen, Devendrac441b212017-02-23 15:40:42 +05301850 * gIbssPs1RxChainInAtim - IBSS Power Save Enable/Disable 1 RX
Abhishek Singh49b654e2016-12-01 16:11:17 +05301851 * chain usage during the ATIM window
1852 *
1853 * @Min: 0
1854 * @Max: 1
1855 * @Default: 0
1856 *
1857 * IBSS Power Save Enable/Disable 1 RX
1858 * chain usage during the ATIM window
1859 *
1860 * Related: Depend on gIbssIsPowerSaveAllowed
1861 *
1862 * Supported Feature: IBSS
1863 *
1864 * Usage: Internal/External
1865 *
1866 * </ini>
1867 */
1868#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_NAME "gIbssPs1RxChainInAtim"
1869#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MIN (0)
1870#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MAX (1)
1871#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_DEFAULT (0)
1872
Paul Zhang99fe8842017-12-08 14:43:46 +08001873/*
1874 * <ini>
1875 * wlm_latency_enable - WLM latency Enable
1876 *
1877 * @min: 0
1878 * @max: 1
1879 * @default: 0
1880 *
1881 * 0 - disable
1882 * 1 - enable
1883 *
1884 * </ini>
1885 */
1886#define CFG_LATENCY_ENABLE_NAME "wlm_latency_enable"
1887#define CFG_LATENCY_ENABLE_MIN (0)
1888#define CFG_LATENCY_ENABLE_MAX (1)
1889#define CFG_LATENCY_ENABLE_DEFAULT (0)
Abhishek Singh49b654e2016-12-01 16:11:17 +05301890
Paul Zhang99fe8842017-12-08 14:43:46 +08001891/*
1892 * <ini>
1893 * wlm_latency_level - WLM latency level
1894 * Define 4 latency level to gain latency
1895 *
1896 * @min: 0
1897 * @max: 3
1898 * @defalut: 0
1899 *
1900 * 0 - normal
1901 * 1 - moderate
1902 * 2 - low
1903 * 3 - ultralow
1904 *
1905 * </ini>
1906 */
1907#define CFG_LATENCY_LEVEL_NAME "wlm_latency_level"
1908#define CFG_LATENCY_LEVEL_MIN (0)
1909#define CFG_LATENCY_LEVEL_MAX (3)
1910#define CFG_LATENCY_LEVEL_DEFAULT (0)
Abhishek Singh49b654e2016-12-01 16:11:17 +05301911
Paul Zhang99fe8842017-12-08 14:43:46 +08001912/*
1913 * <ini>
1914 * wlm_latency_flags_normal - WLM flags setting for normal level
1915 *
1916 * @min: 0x0
1917 * @max: 0xffffffff
1918 * @defalut: 0x0
1919 *
1920 * |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
1921 * +------+------+------+------+------+------+------+-----+-----+
1922 * | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
1923 * +------+-------------+-------------+-------------------------+
1924 * | WAL | PS | Roam | Scan |
1925 *
1926 * bit 0: Avoid scan request from HLOS if setting
1927 * bit 1: Skip DFS channel SCAN if setting
1928 * bit 2-3: Define policy of dwell time/duration for each foreign channel
1929 * (b2 b3)
1930 * (0 0 ): Default scan dwell time
1931 * (0 1 ): Reserve
1932 * (1 0 ): Shrink off channel dwell time
1933 * (1 1 ): Reserve
1934 * bit 4-5: Reserve for scan
1935 * bit 6-7: Define roaming policy
1936 * (b6 b7)
1937 * (0 0 ): Default roaming behavior, allow roaming in all scenarios
1938 * (0 1 ): Disallow all roaming
1939 * (1 0 ): Allow roaming when final bmissed
1940 * (1 1 ): Reserve
1941 * bit 8-9: Reserve for roaming
1942 * bit 10: Disable css power collapse if setting
1943 * bit 11: Disable sys sleep if setting
1944 * bit 12-31: Reserve for future useage
1945 *
1946 * </ini>
1947 */
1948#define CFG_LATENCY_FLAGS_NORMAL_NAME "wlm_latency_flags_normal"
1949#define CFG_LATENCY_FLAGS_NORMAL_MIN (0x0)
1950#define CFG_LATENCY_FLAGS_NORMAL_MAX (0xffffffff)
1951#define CFG_LATENCY_FLAGS_NORMAL_DEFAULT (0x0)
1952
1953/*
1954 * <ini>
1955 * wlm_latency_flags_moderate - WLM flags setting for moderate level
1956 *
1957 * @min: 0x0
1958 * @max: 0xffffffff
1959 * @defalut: 0x8
1960 *
1961 * |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
1962 * +------+------+------+------+------+------+------+-----+-----+
1963 * | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
1964 * +------+-------------+-------------+-------------------------+
1965 * | WAL | PS | Roam | Scan |
1966 *
1967 * bit 0: Avoid scan request from HLOS if setting
1968 * bit 1: Skip DFS channel SCAN if setting
1969 * bit 2-3: Define policy of dwell time/duration for each foreign channel
1970 * (b2 b3)
1971 * (0 0 ): Default scan dwell time
1972 * (0 1 ): Reserve
1973 * (1 0 ): Shrink off channel dwell time
1974 * (1 1 ): Reserve
1975 * bit 4-5: Reserve for scan
1976 * bit 6-7: Define roaming policy
1977 * (b6 b7)
1978 * (0 0 ): Default roaming behavior, allow roaming in all scenarios
1979 * (0 1 ): Disallow all roaming
1980 * (1 0 ): Allow roaming when final bmissed
1981 * (1 1 ): Reserve
1982 * bit 8-9: Reserve for roaming
1983 * bit 10: Disable css power collapse if setting
1984 * bit 11: Disable sys sleep if setting
1985 * bit 12-31: Reserve for future useage
1986 *
1987 * </ini>
1988 */
1989#define CFG_LATENCY_FLAGS_MODERATE_NAME "wlm_latency_flags_moderate"
1990#define CFG_LATENCY_FLAGS_MODERATE_MIN (0x0)
1991#define CFG_LATENCY_FLAGS_MODERATE_MAX (0xffffffff)
1992#define CFG_LATENCY_FLAGS_MODERATE_DEFAULT (0x8)
1993
1994/*
1995 * <ini>
1996 * wlm_latency_flags_low - WLM flags setting for low level
1997 *
1998 * @min: 0x0
1999 * @max: 0xffffffff
2000 * @defalut: 0xa
2001 *
2002 * |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
2003 * +------+------+------+------+------+------+------+-----+-----+
2004 * | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
2005 * +------+-------------+-------------+-------------------------+
2006 * | WAL | PS | Roam | Scan |
2007 *
2008 * bit 0: Avoid scan request from HLOS if setting
2009 * bit 1: Skip DFS channel SCAN if setting
2010 * bit 2-3: Define policy of dwell time/duration for each foreign channel
2011 * (b2 b3)
2012 * (0 0 ): Default scan dwell time
2013 * (0 1 ): Reserve
2014 * (1 0 ): Shrink off channel dwell time
2015 * (1 1 ): Reserve
2016 * bit 4-5: Reserve for scan
2017 * bit 6-7: Define roaming policy
2018 * (b6 b7)
2019 * (0 0 ): Default roaming behavior, allow roaming in all scenarios
2020 * (0 1 ): Disallow all roaming
2021 * (1 0 ): Allow roaming when final bmissed
2022 * (1 1 ): Reserve
2023 * bit 8-9: Reserve for roaming
2024 * bit 10: Disable css power collapse if setting
2025 * bit 11: Disable sys sleep if setting
2026 * bit 12-31: Reserve for future useage
2027 *
2028 * </ini>
2029 */
2030#define CFG_LATENCY_FLAGS_LOW_NAME "wlm_latency_flags_low"
2031#define CFG_LATENCY_FLAGS_LOW_MIN (0x0)
2032#define CFG_LATENCY_FLAGS_LOW_MAX (0xffffffff)
2033#define CFG_LATENCY_FLAGS_LOW_DEFAULT (0xa)
2034
2035/*
2036 * <ini>
2037 * wlm_latency_flags_ultralow - WLM flags setting for ultralow level
2038 *
2039 * @min: 0x0
2040 * @max: 0xffffffff
Paul Zhangc2ad86c2018-09-21 10:35:28 +08002041 * @defalut: 0xc83
Paul Zhang99fe8842017-12-08 14:43:46 +08002042 *
2043 * |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
2044 * +------+------+------+------+------+------+------+-----+-----+
2045 * | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
2046 * +------+-------------+-------------+-------------------------+
2047 * | WAL | PS | Roam | Scan |
2048 *
2049 * bit 0: Avoid scan request from HLOS if setting
2050 * bit 1: Skip DFS channel SCAN if setting
2051 * bit 2-3: Define policy of dwell time/duration for each foreign channel
2052 * (b2 b3)
2053 * (0 0 ): Default scan dwell time
2054 * (0 1 ): Reserve
2055 * (1 0 ): Shrink off channel dwell time
2056 * (1 1 ): Reserve
2057 * bit 4-5: Reserve for scan
2058 * bit 6-7: Define roaming policy
2059 * (b6 b7)
2060 * (0 0 ): Default roaming behavior, allow roaming in all scenarios
2061 * (0 1 ): Disallow all roaming
2062 * (1 0 ): Allow roaming when final bmissed
2063 * (1 1 ): Reserve
2064 * bit 8-9: Reserve for roaming
2065 * bit 10: Disable css power collapse if setting
2066 * bit 11: Disable sys sleep if setting
2067 * bit 12-31: Reserve for future useage
2068 *
2069 * </ini>
2070 */
2071#define CFG_LATENCY_FLAGS_ULTRALOW_NAME "wlm_latency_flags_ultralow"
2072#define CFG_LATENCY_FLAGS_ULTRALOW_MIN (0x0)
2073#define CFG_LATENCY_FLAGS_ULTRALOW_MAX (0xffffffff)
Paul Zhangc2ad86c2018-09-21 10:35:28 +08002074#define CFG_LATENCY_FLAGS_ULTRALOW_DEFAULT (0xc83)
Abhishek Singh49b654e2016-12-01 16:11:17 +05302075
wadesong5cea9122018-11-12 18:05:39 +08002076/*
2077 * <ini>
2078 * Intf0MacAddress - Default MAC address of VIF0
2079 * @Min: 000000000000
2080 * @Max: ffffffffffff
2081 * @Default: 000AF58989FF
2082 *
2083 * This ini is used to set the default MAC address of virtual interface 0
2084 * created by WLAN driver.
2085 *
2086 * Related: None.
2087 *
2088 * Supported Feature: SAP
2089 *
2090 * Usage: Internal/External
2091 *
2092 * </ini>
2093 */
2094
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002095#define CFG_INTF0_MAC_ADDR_NAME "Intf0MacAddress"
2096#define CFG_INTF0_MAC_ADDR_MIN "000000000000"
2097#define CFG_INTF0_MAC_ADDR_MAX "ffffffffffff"
Jeff Johnson9e6ff212016-09-02 10:26:32 -07002098#define CFG_INTF0_MAC_ADDR_DEFAULT "000AF58989FF"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002099
wadesong5cea9122018-11-12 18:05:39 +08002100/*
2101 * <ini>
2102 * Intf1MacAddress - Default MAC address of VIF1
2103 * @Min: 000000000000
2104 * @Max: ffffffffffff
2105 * @Default: 000AF58989FE
2106 *
2107 * This ini is used to set the default MAC address of virtual interface 1
2108 * created by WLAN driver.
2109 *
2110 * Related: None.
2111 *
2112 * Supported Feature: SAP
2113 *
2114 * Usage: Internal/External
2115 *
2116 * </ini>
2117 */
2118
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002119#define CFG_INTF1_MAC_ADDR_NAME "Intf1MacAddress"
2120#define CFG_INTF1_MAC_ADDR_MIN "000000000000"
2121#define CFG_INTF1_MAC_ADDR_MAX "ffffffffffff"
Jeff Johnson9e6ff212016-09-02 10:26:32 -07002122#define CFG_INTF1_MAC_ADDR_DEFAULT "000AF58989FE"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002123
wadesong5cea9122018-11-12 18:05:39 +08002124/*
2125 * <ini>
2126 * Intf2MacAddress - Default MAC address of VIF2
2127 * @Min: 000000000000
2128 * @Max: ffffffffffff
2129 * @Default: 000AF58989FD
2130 *
2131 * This ini is used to set the default MAC address of virtual interface 2
2132 * created by WLAN driver.
2133 *
2134 * Related: None.
2135 *
2136 * Supported Feature: SAP
2137 *
2138 * Usage: Internal/External
2139 *
2140 * </ini>
2141 */
2142
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002143#define CFG_INTF2_MAC_ADDR_NAME "Intf2MacAddress"
2144#define CFG_INTF2_MAC_ADDR_MIN "000000000000"
2145#define CFG_INTF2_MAC_ADDR_MAX "ffffffffffff"
Jeff Johnson9e6ff212016-09-02 10:26:32 -07002146#define CFG_INTF2_MAC_ADDR_DEFAULT "000AF58989FD"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002147
wadesong5cea9122018-11-12 18:05:39 +08002148/*
2149 * <ini>
2150 * Intf3MacAddress - Default MAC address of VIF3
2151 * @Min: 000000000000
2152 * @Max: ffffffffffff
2153 * @Default: 000AF58989FC
2154 *
2155 * This ini is used to set the default MAC address of virtual interface 3
2156 * created by WLAN driver.
2157 *
2158 * Related: None.
2159 *
2160 * Supported Feature: SAP
2161 *
2162 * Usage: Internal/External
2163 *
2164 * </ini>
2165 */
2166
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002167#define CFG_INTF3_MAC_ADDR_NAME "Intf3MacAddress"
2168#define CFG_INTF3_MAC_ADDR_MIN "000000000000"
2169#define CFG_INTF3_MAC_ADDR_MAX "ffffffffffff"
Jeff Johnson9e6ff212016-09-02 10:26:32 -07002170#define CFG_INTF3_MAC_ADDR_DEFAULT "000AF58989FC"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002171
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05302172/*
2173 * <ini>
2174 * gDot11Mode - SAP phy mode
2175 * @Min: 0
Krishna Kumaar Natarajan4f1d7722017-03-03 21:12:51 -08002176 * @Max: 12 (11ax)
2177 * @Default: 12 (11ax)
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05302178 *
2179 * This ini is used to set Phy Mode (auto, b, g, n, etc/) Valid values are
Krishna Kumaar Natarajan4f1d7722017-03-03 21:12:51 -08002180 * 0-12, with 0 = Auto, 12 = 11ax.
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05302181 *
2182 * Related: None.
2183 *
2184 * Supported Feature: SAP
2185 *
2186 * Usage: Internal/External
2187 *
2188 * </ini>
2189 */
2190#define CFG_DOT11_MODE_NAME "gDot11Mode"
2191#define CFG_DOT11_MODE_MIN eHDD_DOT11_MODE_AUTO
Krishna Kumaar Natarajan4f1d7722017-03-03 21:12:51 -08002192#define CFG_DOT11_MODE_DEFAULT eHDD_DOT11_MODE_11ax
2193#define CFG_DOT11_MODE_MAX eHDD_DOT11_MODE_11ax
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05302194
2195/*
2196 * <ini>
2197 * gEnableApUapsd - Enable/disable UAPSD for SoftAP
2198 * @Min: 0
2199 * @Max: 1
2200 * @Default: 1
2201 *
2202 * This ini is used to setup setup U-APSD for Acs at association
2203 *
2204 * Related: None.
2205 *
2206 * Supported Feature: SAP
2207 *
2208 * Usage: Internal/External
2209 *
2210 * </ini>
2211 */
2212#define CFG_AP_QOS_UAPSD_MODE_NAME "gEnableApUapsd"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002213#define CFG_AP_QOS_UAPSD_MODE_MIN (0)
2214#define CFG_AP_QOS_UAPSD_MODE_MAX (1)
2215#define CFG_AP_QOS_UAPSD_MODE_DEFAULT (1)
2216
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05302217/*
2218 * <ini>
2219 * gEnableApRandomBssid - Create ramdom BSSID
2220 * @Min: 0
2221 * @Max: 1
2222 * @Default: 0
2223 *
2224 * This ini is used to create a random BSSID in SoftAP mode to meet
2225 * the Android requirement.
2226 *
2227 * Related: None.
2228 *
2229 * Supported Feature: SAP
2230 *
2231 * Usage: Internal/External
2232 *
2233 * </ini>
2234 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002235#define CFG_AP_ENABLE_RANDOM_BSSID_NAME "gEnableApRandomBssid"
2236#define CFG_AP_ENABLE_RANDOM_BSSID_MIN (0)
2237#define CFG_AP_ENABLE_RANDOM_BSSID_MAX (1)
2238#define CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT (0)
2239
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05302240/*
2241 * <ini>
2242 * gEnableApProt - Enable/Disable AP protection
2243 * @Min: 0
2244 * @Max: 1
2245 * @Default: 1
2246 *
2247 * This ini is used to enable/disable AP protection
2248 *
2249 * Related: None.
2250 *
2251 * Supported Feature: SAP
2252 *
2253 * Usage: Internal/External
2254 *
2255 * </ini>
2256 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002257#define CFG_AP_ENABLE_PROTECTION_MODE_NAME "gEnableApProt"
2258#define CFG_AP_ENABLE_PROTECTION_MODE_MIN (0)
2259#define CFG_AP_ENABLE_PROTECTION_MODE_MAX (1)
2260#define CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT (1)
2261
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05302262/*
2263 * <ini>
2264 * gApProtection - Set AP protection parameter
2265 * @Min: 0x0
2266 * @Max: 0xFFFF
2267 * @Default: 0xBFFF
2268 *
2269 * This ini is used to set AP protection parameter
2270 * Bit map for CFG_AP_PROTECTION_MODE_DEFAULT
2271 * LOWER byte for associated stations
2272 * UPPER byte for overlapping stations
2273 * each byte will have the following info
2274 * bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
2275 * OBSS RIFS LSIG_TXOP NON_GF HT20 FROM_11G FROM_11B FROM_11A
2276 * bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
2277 * OBSS RIFS LSIG_TXOP NON_GF HT_20 FROM_11G FROM_11B FROM_11A
2278 *
2279 * Related: None.
2280 *
2281 * Supported Feature: SAP
2282 *
2283 * Usage: Internal/External
2284 *
2285 * </ini>
2286 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002287#define CFG_AP_PROTECTION_MODE_NAME "gApProtection"
2288#define CFG_AP_PROTECTION_MODE_MIN (0x0)
2289#define CFG_AP_PROTECTION_MODE_MAX (0xFFFF)
2290#define CFG_AP_PROTECTION_MODE_DEFAULT (0xBFFF)
2291
Sreelakshmi Konamki13b5ad52017-01-30 10:48:26 +05302292/*
2293 * <ini>
2294 * gEnableApOBSSProt - Enable/Disable AP OBSS protection
2295 * @Min: 0
2296 * @Max: 1
2297 * @Default: 0
2298 *
2299 * This ini is used to enable/disable AP OBSS protection
2300 *
2301 * Related: None.
2302 *
2303 * Supported Feature: SAP
2304 *
2305 * Usage: Internal/External
2306 *
2307 * </ini>
2308 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002309#define CFG_AP_OBSS_PROTECTION_MODE_NAME "gEnableApOBSSProt"
2310#define CFG_AP_OBSS_PROTECTION_MODE_MIN (0)
2311#define CFG_AP_OBSS_PROTECTION_MODE_MAX (1)
2312#define CFG_AP_OBSS_PROTECTION_MODE_DEFAULT (0)
2313
Dustin Brown7bd76332018-02-23 12:10:55 -08002314#define CFG_DISABLE_PACKET_FILTER "gDisablePacketFilter"
2315#define CFG_DISABLE_PACKET_FILTER_MIN (0)
2316#define CFG_DISABLE_PACKET_FILTER_MAX (1)
2317#define CFG_DISABLE_PACKET_FILTER_DEFAULT (1)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002318
Nitesh Shah03161d12016-12-06 18:30:12 +05302319/*
2320 * <ini>
2321 * gPassiveMaxChannelTimeConc - Maximum passive scan time in milliseconds.
2322 * @Min: 0
2323 * @Max: 10000
2324 * @Default: 110
2325 *
2326 * This ini is used to set maximum passive scan time in STA+SAP concurrent
2327 * mode.
2328 *
2329 * Related: None.
2330 *
2331 * Supported Feature: Concurrency
2332 *
2333 * Usage: Internal/External
2334 *
2335 * </ini>
2336 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002337#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME "gPassiveMaxChannelTimeConc"
2338#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN (0)
2339#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX (10000)
2340#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT (110)
2341
Nitesh Shah03161d12016-12-06 18:30:12 +05302342/*
2343 * <ini>
2344 * gPassiveMinChannelTimeConc - Minimum passive scan time in milliseconds.
2345 * @Min: 0
2346 * @Max: 10000
2347 * @Default: 60
2348 *
2349 * This ini is used to set minimum passive scan time in STA+SAP concurrent
2350 * mode.
2351 *
2352 * Related: None.
2353 *
2354 * Supported Feature: Concurrency
2355 *
2356 * Usage: Internal/External
2357 *
2358 * </ini>
2359 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002360#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME "gPassiveMinChannelTimeConc"
2361#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN (0)
2362#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX (10000)
2363#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT (60)
2364
Nitesh Shah03161d12016-12-06 18:30:12 +05302365/*
2366 * <ini>
2367 * gActiveMaxChannelTimeConc - Maximum active scan time in milliseconds.
2368 * @Min: 0
2369 * @Max: 10000
2370 * @Default: 40
2371 *
2372 * This ini is used to set maximum active scan time in STA+SAP concurrent
2373 * mode.
2374 *
2375 * Related: None.
2376 *
2377 * Supported Feature: Concurrency
2378 *
2379 * Usage: Internal/External
2380 *
2381 * </ini>
2382 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002383#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME "gActiveMaxChannelTimeConc"
2384#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN (0)
2385#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX (10000)
2386#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT (40)
2387
Nitesh Shah03161d12016-12-06 18:30:12 +05302388/*
2389 * <ini>
2390 * gActiveMinChannelTimeConc - Minimum active scan time in milliseconds..
2391 * @Min: 0
2392 * @Max: 10000
2393 * @Default: 20
2394 *
2395 * This ini is used to set minimum active scan time in STA+SAP concurrent
2396 * mode.
2397 *
2398 * Related: None.
2399 *
2400 * Supported Feature: Concurrency
2401 *
2402 * Usage: Internal/External
2403 *
2404 * </ini>
2405 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002406#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME "gActiveMinChannelTimeConc"
2407#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN (0)
2408#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX (10000)
2409#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT (20)
2410
Nitesh Shah03161d12016-12-06 18:30:12 +05302411/*
2412 * <ini>
2413 * gRestTimeConc - Rest time before moving to a new channel to scan.
2414 * @Min: 0
2415 * @Max: 10000
2416 * @Default: 100
2417 *
2418 * This ini is used to configure rest time.
2419 *
2420 * Related: None.
2421 *
2422 * Supported Feature: Concurrency
2423 *
2424 * Usage: Internal/External
2425 *
2426 * </ini>
2427 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002428#define CFG_REST_TIME_CONC_NAME "gRestTimeConc"
2429#define CFG_REST_TIME_CONC_MIN (0)
2430#define CFG_REST_TIME_CONC_MAX (10000)
2431#define CFG_REST_TIME_CONC_DEFAULT (100)
2432
Nitesh Shah03161d12016-12-06 18:30:12 +05302433/*
2434 * <ini>
2435 * gMinRestTimeConc - Mininum time spent on home channel before moving to a
2436 * new channel to scan.
2437 * @Min: 0
2438 * @Max: 50
2439 * @Default: 50
2440 *
2441 * This ini is used to configure minimum time spent on home channel before
2442 * moving to a new channel to scan.
2443 *
2444 * Related: None.
2445 *
2446 * Supported Feature: Concurrency
2447 *
2448 * Usage: Internal/External
2449 *
2450 * </ini>
2451 */
Agrawal Ashish17bb3902016-05-05 13:29:40 +05302452#define CFG_MIN_REST_TIME_NAME "gMinRestTimeConc"
2453#define CFG_MIN_REST_TIME_MIN (0)
2454#define CFG_MIN_REST_TIME_MAX (50)
2455#define CFG_MIN_REST_TIME_DEFAULT (50)
2456
Nitesh Shah03161d12016-12-06 18:30:12 +05302457/*
2458 * <ini>
2459 * gIdleTimeConc - Data inactivity time in msec.
2460 * @Min: 0
2461 * @Max: 25
2462 * @Default: 25
2463 *
2464 * This ini is used to configure data inactivity time in msec on bss channel
2465 * that will be used by scan engine in firmware.
2466 * For example if this value is 25ms then firmware will check for data
2467 * inactivity every 25ms till gRestTimeConc is reached.
2468 * If inactive then scan engine will move from home channel to scan the next
2469 * frequency.
2470 *
2471 * Related: None.
2472 *
2473 * Supported Feature: Concurrency
2474 *
2475 * Usage: Internal/External
2476 *
2477 * </ini>
Agrawal Ashish17bb3902016-05-05 13:29:40 +05302478 */
2479#define CFG_IDLE_TIME_NAME "gIdleTimeConc"
2480#define CFG_IDLE_TIME_MIN (0)
2481#define CFG_IDLE_TIME_MAX (25)
2482#define CFG_IDLE_TIME_DEFAULT (25)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002483
wadesong37779152018-11-15 13:08:15 +08002484/*
2485 * <ini>
2486 * gTxPowerCap - WLAN max tx power
2487 * @Min: 0
2488 * @Max: 128
2489 * @Default: 128
2490 *
2491 * This ini is used to configure the device max tx power.
2492 *
2493 * Related: None.
2494 *
2495 * Supported Feature: Concurrency
2496 *
2497 * Usage: Internal/External
2498 *
2499 * </ini>
2500 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002501
2502#define CFG_MAX_TX_POWER_NAME "gTxPowerCap"
2503#define CFG_MAX_TX_POWER_MIN WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMIN
2504#define CFG_MAX_TX_POWER_MAX WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMAX
2505/* Not to use CFG default because if no registry setting, this is ignored by SME. */
2506#define CFG_MAX_TX_POWER_DEFAULT WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMAX
2507
wadesong37779152018-11-15 13:08:15 +08002508/*
2509 * <ini>
2510 * gAllowTPCfromAP - Support for AP power constraint
2511 * @Min: 0
2512 * @Max: 1
2513 * @Default: 1
2514 *
2515 * This ini controls driver to honor/dishonor power constraint from AP.
2516 *
2517 * Related: None.
2518 *
2519 * Supported Feature: Concurrency
2520 *
2521 * Usage: Internal/External
2522 *
2523 * </ini>
2524 */
2525
Padma, Santhosh Kumar29df3622016-08-16 19:15:16 +05302526#define CFG_TX_POWER_CTRL_NAME "gAllowTPCfromAP"
2527#define CFG_TX_POWER_CTRL_DEFAULT (1)
2528#define CFG_TX_POWER_CTRL_MIN (0)
2529#define CFG_TX_POWER_CTRL_MAX (1)
2530
Sen, Devendra9ca8c432017-02-23 15:10:26 +05302531/*
2532 * <ini>
Nitesh Shah03161d12016-12-06 18:30:12 +05302533 * gFWMccRtsCtsProtection - RTS-CTS protection in MCC.
2534 * @Min: 0
2535 * @Max: 1
2536 * @Default: 0
2537 *
2538 * This ini is used to enable/disable use of long duration RTS-CTS protection
2539 * when SAP goes off channel in MCC mode.
2540 *
2541 * Related: None.
2542 *
2543 * Supported Feature: Concurrency
2544 *
2545 * Usage: Internal/External
2546 *
2547 * </ini>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002548 */
Sen, Devendra9ca8c432017-02-23 15:10:26 +05302549
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002550#define CFG_FW_MCC_RTS_CTS_PROT_NAME "gFWMccRtsCtsProtection"
2551#define CFG_FW_MCC_RTS_CTS_PROT_MIN (0)
2552#define CFG_FW_MCC_RTS_CTS_PROT_MAX (1)
2553#define CFG_FW_MCC_RTS_CTS_PROT_DEFAULT (0)
2554
Nitesh Shah03161d12016-12-06 18:30:12 +05302555/*
2556 * <ini>
2557 * gFWMccBCastProbeResponse - Broadcast Probe Response in MCC.
2558 * @Min: 0
2559 * @Max: 1
2560 * @Default: 0
2561 *
2562 * This ini is used to enable/disable use of broadcast probe response to
2563 * increase the detectability of SAP in MCC mode.
2564 *
2565 * Related: None.
2566 *
2567 * Supported Feature: Concurrency
2568 *
2569 * Usage: Internal/External
2570 *
2571 * </ini>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002572 */
2573#define CFG_FW_MCC_BCAST_PROB_RESP_NAME "gFWMccBCastProbeResponse"
2574#define CFG_FW_MCC_BCAST_PROB_RESP_MIN (0)
2575#define CFG_FW_MCC_BCAST_PROB_RESP_MAX (1)
2576#define CFG_FW_MCC_BCAST_PROB_RESP_DEFAULT (0)
2577
Mukul Sharmaed92f2f2017-04-20 00:06:28 +05302578/*
2579 * <ini>
Mukul Sharmaed92f2f2017-04-20 00:06:28 +05302580 * g_wow_data_inactivity_timeout - Data activity timeout in wow mode.
2581 * @Min: 1
2582 * @Max: 255
2583 * @Default: 50
2584 *
2585 * This ini is used to set data inactivity timeout in wow mode.
2586 *
2587 * Supported Feature: inactivity timeout in wow mode
2588 *
2589 * Usage: External
2590 *
2591 * </ini>
2592 */
2593#define CFG_WOW_DATA_INACTIVITY_TIMEOUT_NAME "g_wow_data_inactivity_timeout"
2594#define CFG_WOW_DATA_INACTIVITY_TIMEOUT_MIN (1)
2595#define CFG_WOW_DATA_INACTIVITY_TIMEOUT_MAX (255)
2596#define CFG_WOW_DATA_INACTIVITY_TIMEOUT_DEFAULT (50)
2597
Dustin Brownb6b0f182017-03-08 13:08:27 -08002598/**
2599 * enum station_keepalive_method - available keepalive methods for stations
2600 * @HDD_STA_KEEPALIVE_NULL_DATA: null data packet
2601 * @HDD_STA_KEEPALIVE_GRAT_ARP: gratuitous ARP packet
2602 * @HDD_STA_KEEPALIVE_COUNT: number of method options available
2603 */
2604enum station_keepalive_method {
2605 HDD_STA_KEEPALIVE_NULL_DATA,
2606 HDD_STA_KEEPALIVE_GRAT_ARP,
2607 /* keep at the end */
2608 HDD_STA_KEEPALIVE_COUNT
2609};
2610
2611/*
2612 * <ini>
2613 * gStaKeepAliveMethod - Which keepalive method to use
2614 * @Min: 0
2615 * @Max: 1
2616 * @Default: 1
2617 *
2618 * This ini determines which keepalive method to use for station interfaces
2619 * 1) Use null data packets
2620 * 2) Use gratuitous ARP packets
2621 *
2622 * Related: gStaKeepAlivePeriod, gApKeepAlivePeriod, gGoKeepAlivePeriod
2623 *
2624 * Supported Feature: STA, Keepalive
2625 *
2626 * Usage: Internal/External
2627 *
2628 * </ini>
2629 */
2630#define CFG_STA_KEEPALIVE_METHOD_NAME "gStaKeepAliveMethod"
2631#define CFG_STA_KEEPALIVE_METHOD_MIN (HDD_STA_KEEPALIVE_NULL_DATA)
2632#define CFG_STA_KEEPALIVE_METHOD_MAX (HDD_STA_KEEPALIVE_COUNT - 1)
2633#define CFG_STA_KEEPALIVE_METHOD_DEFAULT (HDD_STA_KEEPALIVE_GRAT_ARP)
2634
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002635/* WMM configuration */
Sreelakshmi Konamki9be8d412017-03-01 10:29:08 +05302636/*
2637 * <ini>
Sreelakshmi Konamki9be8d412017-03-01 10:29:08 +05302638 * ImplicitQosIsEnabled - Enableimplicit QOS
2639 * @Min: 0
2640 * @Max: 1
2641 * @Default: 0
2642 *
2643 * This ini is used to enable/disable implicit QOS.
2644 *
2645 * Related: None.
2646 *
2647 * Supported Feature: WMM
2648 *
2649 * Usage: Internal/External
2650 *
2651 * </ini>
2652 */
2653#define CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME "ImplicitQosIsEnabled"
2654#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN (0)
2655#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX (1)
2656#define CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002657
Sreelakshmi Konamki9be8d412017-03-01 10:29:08 +05302658/*
2659 * <ini>
Sreelakshmi Konamki9be8d412017-03-01 10:29:08 +05302660 * gAddTSWhenACMIsOff - Set ACM value for AC
2661 * @Min: 0
2662 * @Max: 1
2663 * @Default: 0
2664 *
2665 * This ini is used to set ACM value for AC
2666 *
2667 * Related: None.
2668 *
2669 * Supported Feature: WMM
2670 *
2671 * Usage: Internal/External
2672 *
2673 * </ini>
2674 */
2675#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME "gAddTSWhenACMIsOff"
2676#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN (0)
2677/* Send AddTs even when ACM is not set for the AC */
2678#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX (1)
2679#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002680
2681#ifdef FEATURE_WLAN_ESE
wadesong37779152018-11-15 13:08:15 +08002682/*
2683 * <ini>
2684 * EseEnabled - Enable ESE
2685 * @Min: 0
2686 * @Max: 1
2687 * @Default: 0
2688 *
2689 * This ini is used to control whether ESE is enabled or not.
2690 *
2691 * Related: None.
2692 *
2693 * Supported Feature: WMM/ESE
2694 *
2695 * Usage: Internal/External
2696 *
2697 * </ini>
2698 */
2699
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002700#define CFG_ESE_FEATURE_ENABLED_NAME "EseEnabled"
2701#define CFG_ESE_FEATURE_ENABLED_MIN (0)
2702#define CFG_ESE_FEATURE_ENABLED_MAX (1)
2703#define CFG_ESE_FEATURE_ENABLED_DEFAULT (0) /* disabled */
2704#endif /* FEATURE_WLAN_ESE */
2705
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07002706/*
2707 * <ini>
2708 * MAWCEnabled - Enable/Disable Motion Aided Wireless Connectivity Global
2709 * @Min: 0 - Disabled
2710 * @Max: 1 - Enabled
Rajeev Kumar85ffc262018-05-31 17:53:30 -07002711 * @Default: 0
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07002712 *
2713 * This ini is used to controls the MAWC feature globally.
2714 * MAWC is Motion Aided Wireless Connectivity.
2715 *
2716 * Related: mawc_roam_enabled.
2717 *
2718 * Supported Feature: Roaming and PNO/NLO
2719 *
2720 * Usage: Internal/External
2721 *
2722 * </ini>
2723 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002724#define CFG_LFR_MAWC_FEATURE_ENABLED_NAME "MAWCEnabled"
2725#define CFG_LFR_MAWC_FEATURE_ENABLED_MIN (0)
2726#define CFG_LFR_MAWC_FEATURE_ENABLED_MAX (1)
Rajeev Kumar85ffc262018-05-31 17:53:30 -07002727#define CFG_LFR_MAWC_FEATURE_ENABLED_DEFAULT (0)
Varun Reddy Yeturu061d4d62017-07-20 09:39:32 -07002728
wadesong37779152018-11-15 13:08:15 +08002729/*
2730 * <ini>
2731 * gWESModeEnabled - Enable/Disable Wireless Extended Security Mode
2732 * @Min: 0 - Disabled
2733 * @Max: 1 - Enabled
2734 * @Default: 0
2735 *
2736 * This parameter is used to set Wireless Extended Security Mode.
2737 *
2738 * Related: mawc_roam_enabled.
2739 *
2740 * Supported Feature: Roaming and PNO/NLO
2741 *
2742 * Usage: Internal/External
2743 *
2744 * </ini>
2745 */
2746
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002747#define CFG_ENABLE_WES_MODE_NAME "gWESModeEnabled"
2748#define CFG_ENABLE_WES_MODE_NAME_MIN (0)
2749#define CFG_ENABLE_WES_MODE_NAME_MAX (1)
2750#define CFG_ENABLE_WES_MODE_NAME_DEFAULT (0)
2751
wadesong37779152018-11-15 13:08:15 +08002752/*
2753 * <ini>
2754 * DelayedTriggerFrmInt - UAPSD delay interval
2755 * @Min: 1
2756 * @Max: 4294967295
2757 * @Default: 3000
2758 *
2759 * This parameter controls the delay interval(in ms) of UAPSD auto trigger.
2760 *
2761 * Supported Feature: WMM
2762 *
2763 * Usage: Internal/External
2764 *
2765 * </ini>
2766 */
2767
2768#define CFG_TL_DELAYED_TRGR_FRM_INT_NAME "DelayedTriggerFrmInt"
2769#define CFG_TL_DELAYED_TRGR_FRM_INT_MIN 1
2770#define CFG_TL_DELAYED_TRGR_FRM_INT_MAX (4294967295UL)
2771#define CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT 3000
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002772
Sreelakshmi Konamkided64d72017-02-23 10:39:26 +05302773/*
2774 * <ini>
2775 * gRrmEnable - Enable/Disable RRM
2776 * @Min: 0
2777 * @Max: 1
2778 * @Default: 0
2779 *
2780 * This ini is used to controls the capabilities (11 k) included
2781 * in the capabilities field.
2782 *
2783 * Related: None.
2784 *
2785 * Supported Feature: 11k
2786 *
2787 * Usage: Internal/External
2788 *
2789 * </ini>
2790 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002791#define CFG_RRM_ENABLE_NAME "gRrmEnable"
2792#define CFG_RRM_ENABLE_MIN (0)
2793#define CFG_RRM_ENABLE_MAX (1)
2794#define CFG_RRM_ENABLE_DEFAULT (0)
2795
Sreelakshmi Konamkided64d72017-02-23 10:39:26 +05302796/*
2797 * <ini>
2798 * gRrmRandnIntvl - Randomization interval
2799 * @Min: 10
2800 * @Max: 100
2801 * @Default: 100
2802 *
2803 * This ini is used to set randomization interval which is used to start a timer
2804 * of a random value within randomization interval. Next RRM Scan request
2805 * will be issued after the expiry of this random interval.
2806 *
2807 * Related: None.
2808 *
2809 * Supported Feature: 11k
2810 *
2811 * Usage: Internal/External
2812 *
2813 * </ini>
2814 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002815#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME "gRrmRandnIntvl"
2816#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN (10)
2817#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX (100)
2818#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT (100)
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08002819
Sreelakshmi Konamkided64d72017-02-23 10:39:26 +05302820/*
2821 * <ini>
2822 * rm_capability - Configure RM enabled capabilities IE
wadesong37779152018-11-15 13:08:15 +08002823 * @Min: N/A
2824 * @Max: N/A
Sreelakshmi Konamkided64d72017-02-23 10:39:26 +05302825 * @Default: 73,10,91,00,04
2826 *
2827 * This ini is used to configure RM enabled capabilities IE.
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08002828 * Using this INI, we can set/unset any of the bits in 5 bytes
2829 * (last 4bytes are reserved). Bit details are updated as per
2830 * Draft version of 11mc spec. (Draft P802.11REVmc_D4.2)
2831 *
Jeff Johnsond404d032016-09-08 14:51:43 -07002832 * Bitwise details are defined as bit mask in rrm_global.h
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08002833 * Comma is used as a separator for each byte.
Sreelakshmi Konamkided64d72017-02-23 10:39:26 +05302834 *
2835 * Related: None.
2836 *
2837 * Supported Feature: 11k
2838 *
2839 * Usage: Internal/External
2840 *
2841 * </ini>
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08002842 */
2843#define CFG_RM_CAPABILITY_NAME "rm_capability"
Jeff Johnsond404d032016-09-08 14:51:43 -07002844#define CFG_RM_CAPABILITY_DEFAULT "73,10,91,00,04"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002845
wadesong37779152018-11-15 13:08:15 +08002846/*
2847 * <ini>
2848 * gNeighborLookupThreshold - Neighbor lookup RSSI threshold
2849 * @Min: 10
2850 * @Max: 120
2851 * @Default: 78
2852 *
2853 * This ini is used to control the RSSI threshold for neighbor lookup.
2854 *
2855 * Related: None.
2856 *
2857 * Supported Feature: 11k
2858 *
2859 * Usage: Internal/External
2860 *
2861 * </ini>
2862 */
2863
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002864#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME "gNeighborLookupThreshold"
2865#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN (10)
2866#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX (120)
2867#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT (78)
2868
wadesong37779152018-11-15 13:08:15 +08002869/*
2870 * <ini>
2871 * gDelayBeforeVdevStop - Delay before vdev stop
2872 * @Min: 2
2873 * @Max: 200
2874 * @Default: 20
2875 *
2876 * This ini is used to control the time driver has to wait for tx to finish
2877 * before BSS is to be stopped.
2878 *
2879 * Related: None.
2880 *
2881 * Supported Feature: 11k
2882 *
2883 * Usage: Internal/External
2884 *
2885 * </ini>
2886 */
2887
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002888#define CFG_DELAY_BEFORE_VDEV_STOP_NAME "gDelayBeforeVdevStop"
2889#define CFG_DELAY_BEFORE_VDEV_STOP_MIN (2)
2890#define CFG_DELAY_BEFORE_VDEV_STOP_MAX (200)
2891#define CFG_DELAY_BEFORE_VDEV_STOP_DEFAULT (20)
2892
wadesong37779152018-11-15 13:08:15 +08002893/*
2894 * <ini>
2895 * gRoamBmissFirstBcnt - Beacon miss count to trigger 1st bmiss event
2896 * @Min: 5
2897 * @Max: 100
2898 * @Default: 10
2899 *
2900 * This ini is used to control how many beacon miss will trigger first bmiss
2901 * event. First bmiss event will result in roaming scan.
2902 *
2903 * Related: None.
2904 *
2905 * Supported Feature: 11k
2906 *
2907 * Usage: Internal/External
2908 *
2909 * </ini>
2910 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002911
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002912#define CFG_ROAM_BMISS_FIRST_BCNT_NAME "gRoamBmissFirstBcnt"
2913#define CFG_ROAM_BMISS_FIRST_BCNT_MIN (5)
2914#define CFG_ROAM_BMISS_FIRST_BCNT_MAX (100)
2915#define CFG_ROAM_BMISS_FIRST_BCNT_DEFAULT (10)
2916
wadesong37779152018-11-15 13:08:15 +08002917/*
2918 * <ini>
2919 * gRoamBmissFirstBcnt - Beacon miss count to trigger final bmiss event
2920 * @Min: 5
2921 * @Max: 100
2922 * @Default: 20
2923 *
2924 * This ini is used to control how many beacon miss will trigger final bmiss
2925 * event. Final bmiss event will make roaming take place or cause the
2926 * indication of final bmiss event.
2927 *
2928 * Related: None.
2929 *
2930 * Supported Feature: 11k
2931 *
2932 * Usage: Internal/External
2933 *
2934 * </ini>
2935 */
2936
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002937#define CFG_ROAM_BMISS_FINAL_BCNT_NAME "gRoamBmissFinalBcnt"
2938#define CFG_ROAM_BMISS_FINAL_BCNT_MIN (5)
2939#define CFG_ROAM_BMISS_FINAL_BCNT_MAX (100)
Mukul Sharma9e8395e2017-07-25 18:02:53 +05302940#define CFG_ROAM_BMISS_FINAL_BCNT_DEFAULT (20)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002941
wadesong37779152018-11-15 13:08:15 +08002942/*
2943 * <ini>
2944 * gRoamBeaconRssiWeight - Beacon RSSI weight
2945 * @Min: 0
2946 * @Max: 16
2947 * @Default: 14
2948 *
2949 * This ini controls how many beacons' RSSI values will be used to calculate
2950 * the average value of RSSI.
2951 *
2952 * Related: None.
2953 *
2954 * Supported Feature: 11k
2955 *
2956 * Usage: Internal/External
2957 *
2958 * </ini>
2959 */
2960
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002961#define CFG_ROAM_BEACON_RSSI_WEIGHT_NAME "gRoamBeaconRssiWeight"
2962#define CFG_ROAM_BEACON_RSSI_WEIGHT_MIN (0)
2963#define CFG_ROAM_BEACON_RSSI_WEIGHT_MAX (16)
2964#define CFG_ROAM_BEACON_RSSI_WEIGHT_DEFAULT (14)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002965
Sen, Devendra9ca8c432017-02-23 15:10:26 +05302966/*
2967 * <ini>
Dustin Brown1224e212017-05-12 14:02:12 -07002968 * gHwFilterMode - configure hardware filter for DTIM mode
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05302969 * @Min: 0
Dustin Brown1224e212017-05-12 14:02:12 -07002970 * @Max: 3
Dustin Brown2078edd2017-05-18 11:37:33 -07002971 * @Default: 1
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05302972 *
Dustin Brown1224e212017-05-12 14:02:12 -07002973 * The hardware filter is only effective in DTIM mode. Use this configuration
2974 * to blanket drop broadcast/multicast packets at the hardware level, without
2975 * waking up the firmware
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05302976 *
Dustin Brown1224e212017-05-12 14:02:12 -07002977 * Takes a bitmap of frame types to drop
2978 * @E.g.
Dustin Brown2078edd2017-05-18 11:37:33 -07002979 * # disable feature
Dustin Brown1224e212017-05-12 14:02:12 -07002980 * gHwFilterMode=0
Dustin Brown2078edd2017-05-18 11:37:33 -07002981 * # drop all broadcast frames, except ARP (default)
Dustin Brown1224e212017-05-12 14:02:12 -07002982 * gHwFilterMode=1
2983 * # drop all multicast frames, except ICMPv6
2984 * gHwFilterMode=2
2985 * # drop all broadcast and multicast frames, except ARP and ICMPv6
2986 * gHwFilterMode=3
2987 *
2988 * Related: N/A
2989 *
2990 * Usage: Internal/External
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05302991 *
2992 * </ini>
2993 */
Nachiket Kukadef0804072018-02-27 18:20:07 +05302994#define CFG_HW_FILTER_MODE_BITMAP_NAME "gHwFilterMode"
2995#define CFG_HW_FILTER_MODE_BITMAP_MIN (0)
2996#define CFG_HW_FILTER_MODE_BITMAP_MAX (3)
2997#define CFG_HW_FILTER_MODE_BITMAP_DEFAULT (1)
Ravi Kumar Bokka794fd712017-03-21 20:52:46 +05302998
Sen, Devendra9ca8c432017-02-23 15:10:26 +05302999/*
Kapil Gupta825f1ba2017-01-03 12:24:01 +05303000 * gEnableDFSChnlScan - enable dfs channel scan.
3001 * @Min: 0
3002 * @Max: 1
3003 * @Default: 1
3004 *
3005 * This ini is used to enable/disable dfs channels in scan, enabling this
3006 * will enable driver to include dfs channels in its scan list.
3007 * Related: NA
3008 *
3009 * Supported Feature: DFS, Scan
3010 *
3011 * Usage: Internal/External
3012 *
3013 * </ini>
3014 */
3015#define CFG_ENABLE_DFS_CHNL_SCAN_NAME "gEnableDFSChnlScan"
3016#define CFG_ENABLE_DFS_CHNL_SCAN_MIN (0)
3017#define CFG_ENABLE_DFS_CHNL_SCAN_MAX (1)
3018#define CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT (1)
3019
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07003020enum hdd_link_speed_rpt_type {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003021 eHDD_LINK_SPEED_REPORT_ACTUAL = 0,
3022 eHDD_LINK_SPEED_REPORT_MAX = 1,
3023 eHDD_LINK_SPEED_REPORT_MAX_SCALED = 2,
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07003024};
Agrawal Ashishe2219bb2017-01-10 20:18:33 +05303025
3026/*
3027 * <ini>
wadesongcc2e2162018-11-12 14:42:11 +08003028 * enableBTChainSeparation - Enables/disables bt /wlan chainmask assignment
Liangwei Dong22810e82018-03-15 03:42:12 -04003029 * @Min: 0
3030 * @Max: 1
3031 * @Default: 0
3032 *
3033 * This ini disables/enables chainmask setting on 2x2, mainly used for ROME
3034 * BT/WLAN chainmask assignment.
3035 *
3036 * 0, Disable
3037 * 1, Enable
3038 *
3039 * Related: NA
3040 *
3041 * Supported Feature: 11n/11ac
3042 *
3043 * Usage: External
3044 *
3045 * </ini>
3046 */
3047
3048#define CFG_ENABLE_BT_CHAIN_SEPARATION "enableBTChainSeparation"
3049#define CFG_ENABLE_BT_CHAIN_SEPARATION_MIN (0)
3050#define CFG_ENABLE_BT_CHAIN_SEPARATION_MAX (1)
3051#define CFG_ENABLE_BT_CHAIN_SEPARATION_DEFAULT (0)
3052
3053/*
3054 * <ini>
Kapil Gupta825f1ba2017-01-03 12:24:01 +05303055 * gDisableDFSChSwitch - Disable channel switch if radar is found
3056 * @Min: 0
3057 * @Max: 1
3058 * @Default: 0
3059 *
3060 * This ini is used to disable channel switch if radar is found
3061 * on that channel.
3062 * Related: NA.
3063 *
3064 * Supported Feature: DFS
3065 *
3066 * Usage: Internal
3067 *
3068 * </ini>
3069 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003070#define CFG_DISABLE_DFS_CH_SWITCH "gDisableDFSChSwitch"
3071#define CFG_DISABLE_DFS_CH_SWITCH_MIN (0)
3072#define CFG_DISABLE_DFS_CH_SWITCH_MAX (1)
3073#define CFG_DISABLE_DFS_CH_SWITCH_DEFAULT (0)
3074
Kapil Gupta825f1ba2017-01-03 12:24:01 +05303075/*
3076 * <ini>
Kapil Gupta825f1ba2017-01-03 12:24:01 +05303077 * gDisableDfsJapanW53 - Block W53 channels in random channel selection
3078 * @Min: 0
3079 * @Max: 1
3080 * @Default: 0
3081 *
3082 * This ini is used to block W53 Japan channel in random channel selection
3083 * Related: NA.
3084 *
3085 * Supported Feature: DFS
3086 *
3087 * Usage: Internal/External
3088 *
3089 * </ini>
3090 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003091#define CFG_DISABLE_DFS_JAPAN_W53 "gDisableDfsJapanW53"
3092#define CFG_DISABLE_DFS_JAPAN_W53_MIN (0)
3093#define CFG_DISABLE_DFS_JAPAN_W53_MAX (1)
3094#define CFG_DISABLE_DFS_JAPAN_W53_DEFAULT (0)
3095
Kapil Gupta825f1ba2017-01-03 12:24:01 +05303096/*
3097 * <ini>
wadesong37779152018-11-15 13:08:15 +08003098 * dfsPhyerrFilterOffload - DFS PHY error filter offload
Kapil Gupta825f1ba2017-01-03 12:24:01 +05303099 * @Min: 0
3100 * @Max: 1
wadesong37779152018-11-15 13:08:15 +08003101 * @Default: 0
Kapil Gupta825f1ba2017-01-03 12:24:01 +05303102 *
wadesong37779152018-11-15 13:08:15 +08003103 * This ini is used to enable firmware to do DFS PHY error filtering.
Kapil Gupta825f1ba2017-01-03 12:24:01 +05303104 * Related: NA.
3105 *
3106 * Supported Feature: DFS
3107 *
3108 * Usage: Internal/External
3109 *
3110 * </ini>
3111 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003112#define CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_NAME "dfsPhyerrFilterOffload"
3113#define CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_MIN (0)
3114#define CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_MAX (1)
3115#define CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_DEFAULT (0)
3116
wadesong37779152018-11-15 13:08:15 +08003117/*
3118 * <ini>
3119 * gReportMaxLinkSpeed - Reporting of max link speed
3120 * @Min: 0
3121 * @Max: 2
3122 * @Default: 0
3123 *
3124 * This ini is used to control how max link speed is reported to OS when
3125 * driver is handling NL80211_CMD_GET_STATION request.
3126 * 0: report actual link speed;
3127 * 1: report max possible link speed;
3128 * 2: report max possible link speed with RSSI scaling.
3129 *
3130 * Related: NA.
3131 *
3132 * Supported Feature SAP
3133 *
3134 * Usage: Internal/External
3135 *
3136 * </ini>
3137 */
3138#define CFG_REPORT_MAX_LINK_SPEED "gReportMaxLinkSpeed"
3139#define CFG_REPORT_MAX_LINK_SPEED_MIN (eHDD_LINK_SPEED_REPORT_ACTUAL)
3140#define CFG_REPORT_MAX_LINK_SPEED_MAX (eHDD_LINK_SPEED_REPORT_MAX_SCALED)
3141#define CFG_REPORT_MAX_LINK_SPEED_DEFAULT (eHDD_LINK_SPEED_REPORT_ACTUAL)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003142
3143/*
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303144 * <ini>
3145 * gLinkSpeedRssiHigh - Report the max possible speed with RSSI scaling
3146 * @Min: 0
3147 * @Max: 1
3148 * @Default: 0
3149 *
3150 * This ini is used to set default eHDD_LINK_SPEED_REPORT
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003151 * Used when eHDD_LINK_SPEED_REPORT_SCALED is selected
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303152 *
3153 * Related: None
3154 *
3155 * Supported Feature: STA
3156 *
3157 * Usage: Internal/External
3158 *
3159 * </ini>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003160 */
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303161
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003162#define CFG_LINK_SPEED_RSSI_HIGH "gLinkSpeedRssiHigh"
3163#define CFG_LINK_SPEED_RSSI_HIGH_MIN (-127)
3164#define CFG_LINK_SPEED_RSSI_HIGH_MAX (0)
3165#define CFG_LINK_SPEED_RSSI_HIGH_DEFAULT (-55)
3166
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303167/*
3168 * <ini>
3169 * gLinkSpeedRssiMed - Used when eHDD_LINK_SPEED_REPORT_SCALED is selected
3170 * @Min: -127
3171 * @Max: 0
3172 * @Default: -65
3173 *
3174 * This ini is used to set medium rssi link speed
3175 *
3176 * Related: None
3177 *
3178 * Supported Feature: STA
3179 *
3180 * Usage: Internal/External
3181 *
3182 * </ini>
3183 */
3184
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003185#define CFG_LINK_SPEED_RSSI_MID "gLinkSpeedRssiMed"
3186#define CFG_LINK_SPEED_RSSI_MID_MIN (-127)
3187#define CFG_LINK_SPEED_RSSI_MID_MAX (0)
3188#define CFG_LINK_SPEED_RSSI_MID_DEFAULT (-65)
3189
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303190/*
3191 * <ini>
3192 * gLinkSpeedRssiLow - Used when eHDD_LINK_SPEED_REPORT_SCALED is selected
3193 * @Min: -127
3194 * @Max: 0
3195 * @Default: -80
3196 *
3197 * This ini is used to set low rssi link speed
3198 *
3199 * Related: None
3200 *
3201 * Supported Feature: STA
3202 *
3203 * Usage: Internal/External
3204 *
3205 * </ini>
3206 */
3207
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003208#define CFG_LINK_SPEED_RSSI_LOW "gLinkSpeedRssiLow"
3209#define CFG_LINK_SPEED_RSSI_LOW_MIN (-127)
3210#define CFG_LINK_SPEED_RSSI_LOW_MAX (0)
3211#define CFG_LINK_SPEED_RSSI_LOW_DEFAULT (-80)
3212
Agrawal Ashishe030f782017-01-27 17:52:05 +05303213/*
3214 * <ini>
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303215 * gEnableOverLapCh - Enables Overlap Channel. If set, allow overlapping
3216 * channels to be selected for the SoftAP
3217 * @Min: 0
3218 * @Max: 1
3219 * @Default: 0
3220 *
3221 * This ini is used to set Overlap Channel
3222 *
3223 * Related: None
3224 *
3225 * Supported Feature: STA
3226 *
3227 * Usage: Internal/External
3228 *
3229 * </ini>
3230 */
3231
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003232#define CFG_ENABLE_OVERLAP_CH "gEnableOverLapCh"
3233#define CFG_ENABLE_OVERLAP_CH_MIN (0)
3234#define CFG_ENABLE_OVERLAP_CH_MAX (1)
3235#define CFG_ENABLE_OVERLAP_CH_DEFAULT (0)
3236
wadesong37779152018-11-15 13:08:15 +08003237/*
3238 * <ini>
3239 * gFwDebugModuleLoglevel - modulized firmware debug log level
3240 * @Min: N/A
3241 * @Max: N/A
3242 * @Default: N/A
3243 *
3244 * This ini is used to set modulized firmware debug log level.
3245 * FW module log level input string format looks like below:
3246 * gFwDebugModuleLoglevel="<FW Module ID>,<Log Level>,..."
3247 * For example:
3248 * gFwDebugModuleLoglevel="1,0,2,1,3,2,4,3,5,4,6,5,7,6"
3249 * The above input string means:
3250 * For FW module ID 1 enable log level 0
3251 * For FW module ID 2 enable log level 1
3252 * For FW module ID 3 enable log level 2
3253 * For FW module ID 4 enable log level 3
3254 * For FW module ID 5 enable log level 4
3255 * For FW module ID 6 enable log level 5
3256 * For FW module ID 7 enable log level 6
3257 * For valid values of log levels check enum DBGLOG_LOG_LVL and
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003258 * for valid values of module ids check enum WLAN_MODULE_ID.
wadesong37779152018-11-15 13:08:15 +08003259 *
3260 * Related: None
3261 *
3262 * Supported Feature: Debugging
3263 *
3264 * Usage: Internal/External
3265 *
3266 * </ini>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003267 */
wadesong37779152018-11-15 13:08:15 +08003268
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003269#define CFG_ENABLE_FW_MODULE_LOG_LEVEL "gFwDebugModuleLoglevel"
Nishank Aggarwal1bd0ae82017-04-07 17:32:56 +05303270#define CFG_ENABLE_FW_MODULE_LOG_DEFAULT "2,1,3,1,5,1,9,1,13,1,14,1,18,1,19,1,26,1,28,1,29,1,31,1,36,1,38,1,46,1,47,1,50,1,52,1,53,1,56,1,60,1,61,1,4,1"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003271
Rajeev Kumar Sirasanagandla0be56df2016-09-08 19:19:47 +05303272/*
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05303273 * QDF Trace Enable Control
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003274 * Notes:
3275 * the MIN/MAX/DEFAULT values apply for all modules
3276 * the DEFAULT value is outside the valid range. if the DEFAULT
3277 * value is not overridden, then no change will be made to the
3278 * "built in" default values compiled into the code
3279 * values are a bitmap indicating which log levels are to enabled
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05303280 * (must match order of qdf_trace_level enumerations)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003281 * 00000001 FATAL
3282 * 00000010 ERROR
3283 * 00000100 WARN
3284 * 00001000 INFO
3285 * 00010000 INFO HIGH
3286 * 00100000 INFO MED
3287 * 01000000 INFO LOW
3288 * 10000000 DEBUG
3289 *
3290 * hence a value of 0xFF would set all bits (enable all logs)
3291 */
3292
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05303293#define CFG_QDF_TRACE_ENABLE_WDI_NAME "qdf_trace_enable_wdi"
3294#define CFG_QDF_TRACE_ENABLE_HDD_NAME "qdf_trace_enable_hdd"
3295#define CFG_QDF_TRACE_ENABLE_SME_NAME "qdf_trace_enable_sme"
3296#define CFG_QDF_TRACE_ENABLE_PE_NAME "qdf_trace_enable_pe"
3297#define CFG_QDF_TRACE_ENABLE_PMC_NAME "qdf_trace_enable_pmc"
3298#define CFG_QDF_TRACE_ENABLE_WMA_NAME "qdf_trace_enable_wma"
3299#define CFG_QDF_TRACE_ENABLE_SYS_NAME "qdf_trace_enable_sys"
3300#define CFG_QDF_TRACE_ENABLE_QDF_NAME "qdf_trace_enable_qdf"
3301#define CFG_QDF_TRACE_ENABLE_SAP_NAME "qdf_trace_enable_sap"
3302#define CFG_QDF_TRACE_ENABLE_HDD_SAP_NAME "qdf_trace_enable_hdd_sap"
3303#define CFG_QDF_TRACE_ENABLE_BMI_NAME "qdf_trace_enable_bmi"
3304#define CFG_QDF_TRACE_ENABLE_CFG_NAME "qdf_trace_enable_cfg"
3305#define CFG_QDF_TRACE_ENABLE_EPPING "qdf_trace_enable_epping"
3306#define CFG_QDF_TRACE_ENABLE_QDF_DEVICES "qdf_trace_enable_qdf_devices"
Houston Hoffmanfbf05102017-08-28 11:37:01 -07003307#define CFG_QDF_TRACE_ENABLE_TXRX_NAME "qdf_trace_enable_txrx"
3308#define CFG_QDF_TRACE_ENABLE_DP_NAME "qdf_trace_enable_dp"
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05303309#define CFG_QDF_TRACE_ENABLE_HTC_NAME "qdf_trace_enable_htc"
3310#define CFG_QDF_TRACE_ENABLE_HIF_NAME "qdf_trace_enable_hif"
3311#define CFG_CDR_TRACE_ENABLE_HDD_SAP_DATA_NAME "qdf_trace_enable_hdd_sap_data"
3312#define CFG_QDF_TRACE_ENABLE_HDD_DATA_NAME "qdf_trace_enable_hdd_data"
Naveen Rawat7df31862017-03-01 17:09:30 -08003313#define CFG_QDF_TRACE_ENABLE_WIFI_POS "qdf_trace_enable_wifi_pos"
Naveen Rawatf2b0dbd2017-03-27 10:00:15 -07003314#define CFG_QDF_TRACE_ENABLE_NAN "qdf_trace_enable_nan"
Kiran Kumar Lokere798de7e2017-03-30 14:01:12 -07003315#define CFG_QDF_TRACE_ENABLE_REGULATORY "qdf_trace_enable_regulatory"
Naveen Rawat3cb779e2018-02-16 16:36:10 -08003316#define CFG_QDF_TRACE_ENABLE_CP_STATS "qdf_trace_enable_cp_stats"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003317
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05303318#define CFG_QDF_TRACE_ENABLE_MIN (0)
3319#define CFG_QDF_TRACE_ENABLE_MAX (0xff)
3320#define CFG_QDF_TRACE_ENABLE_DEFAULT (0xffff)
Houston Hoffmanfbf05102017-08-28 11:37:01 -07003321/* disable debug logs for DP by default */
3322#define CFG_QDF_TRACE_ENABLE_DP_DEFAULT (0x7f)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003323
Ashish Kumar Dhanotiya12f68212018-09-04 22:00:14 +05303324#ifdef ENABLE_MTRACE_LOG
3325/*
3326 * Enable MTRACE for all modules
3327 */
3328#define CFG_ENABLE_MTRACE "enable_mtrace"
3329#define CFG_ENABLE_MTRACE_MIN (0)
3330#define CFG_ENABLE_MTRACE_MAX (1)
3331#define CFG_ENABLE_MTRACE_DEFAULT (0)
3332#endif
3333
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003334#define HDD_MCASTBCASTFILTER_FILTER_NONE 0x00
3335#define HDD_MCASTBCASTFILTER_FILTER_ALL_MULTICAST 0x01
3336#define HDD_MCASTBCASTFILTER_FILTER_ALL_BROADCAST 0x02
3337#define HDD_MCASTBCASTFILTER_FILTER_ALL_MULTICAST_BROADCAST 0x03
3338#define HDD_MULTICAST_FILTER_LIST 0x04
3339#define HDD_MULTICAST_FILTER_LIST_CLEAR 0x05
3340
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003341/*
Agrawal Ashishbafaff12016-12-27 17:43:08 +05303342 * <ini>
wadesongcc2e2162018-11-12 14:42:11 +08003343 * gConfigVCmode - Bitmap for operating voltage corner mode
Nachiket Kukade8983cf62017-10-12 18:14:48 +05303344 * @Min: 0x00000000
3345 * @Max: 0x0fffffff
3346 * @Default: 0x0000000a
3347 * This ini is used to set operating voltage corner mode for differenet
3348 * phymode and bw configurations. Every 2 bits till BIT27 are dedicated
3349 * for a specific configuration. Bit values decide the type of voltage
3350 * corner mode. All the details below -
3351 *
3352 * Configure operating voltage corner mode based on phymode and bw.
3353 * bit 0-1 - operating voltage corner mode for 11a/b.
3354 * bit 2-3 - operating voltage corner mode for 11g.
3355 * bit 4-5 - operating voltage corner mode for 11n, 20MHz, 1x1.
3356 * bit 6-7 - operating voltage corner mode for 11n, 20MHz, 2x2.
3357 * bit 8-9 - operating voltage corner mode for 11n, 40MHz, 1x1.
3358 * bit 10-11 - operating voltage corner mode for 11n, 40MHz, 2x2.
3359 * bit 12-13 - operating voltage corner mode for 11ac, 20MHz, 1x1.
3360 * bit 14-15 - operating voltage corner mode for 11ac, 20MHz, 2x2.
3361 * bit 16-17 - operating voltage corner mode for 11ac, 40MHz, 1x1.
3362 * bit 18-19 - operating voltage corner mode for 11ac, 40MHz, 2x2.
3363 * bit 20-21 - operating voltage corner mode for 11ac, 80MHz, 1x1.
3364 * bit 22-23 - operating voltage corner mode for 11ac, 80MHz, 2x2.
3365 * bit 24-25 - operating voltage corner mode for 11ac, 160MHz, 1x1.
3366 * bit 26-27 - operating voltage corner mode for 11ac, 160MHz, 2x2.
3367 * ---------------------------------------------
3368 * 00 - Static voltage corner SVS
3369 * 01 - static voltage corner LOW SVS
3370 * 10 - Dynamic voltage corner selection based on TPUT
3371 * 11 - Dynamic voltage corner selection based on TPUT and Tx Flush counters
3372
3373 * Related: None
3374 *
3375 * Supported Feature: None
3376 *
3377 * Usage: External
3378 *
3379 * </ini>
3380 */
3381
3382#define CFG_VC_MODE_BITMAP "gConfigVCmode"
3383#define CFG_VC_MODE_BITMAP_MIN (0x00000000)
3384#define CFG_VC_MODE_BITMAP_MAX (0x0fffffff)
3385#define CFG_VC_MODE_BITMAP_DEFAULT (0x00000005)
3386
3387/*
3388 * <ini>
Ganesh Kondabattini408fb8d2017-08-08 22:00:20 +05303389 * gEnableSAPManadatoryChanList - Enable SAP Mandatory channel list
3390 * Options.
3391 * @Min: 0
3392 * @Max: 1
3393 * @Default: 0
3394 *
3395 * This ini is used to enable/disable the SAP manadatory chan list
3396 * 0 - Disable SAP mandatory chan list
3397 * 1 - Enable SAP mandatory chan list
3398 *
3399 * Supported Feature: SAP
3400 *
3401 *
3402 * Usage: Internal/External
3403 *
3404 * </ini>
3405 */
3406#define CFG_ENABLE_SAP_MANDATORY_CHAN_LIST "gEnableSAPManadatoryChanList"
3407#define CFG_ENABLE_SAP_MANDATORY_CHAN_LIST_MIN (0)
3408#define CFG_ENABLE_SAP_MANDATORY_CHAN_LIST_MAX (1)
3409#define CFG_ENABLE_SAP_MANDATORY_CHAN_LIST_DEFAULT (0)
3410
3411/*
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303412 * <ini>
Nitesh Shah03161d12016-12-06 18:30:12 +05303413 * gEnableMCCMode - Enable/Disable MCC feature.
3414 * @Min: 0
3415 * @Max: 1
3416 * @Default: 1
3417 *
3418 * This ini is used to enable/disable MCC feature.
3419 *
3420 * Related: None.
3421 *
3422 * Supported Feature: Concurrency
3423 *
3424 * Usage: Internal/External
3425 *
3426 * </ini>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003427 */
3428#define CFG_ENABLE_MCC_ENABLED_NAME "gEnableMCCMode"
3429#define CFG_ENABLE_MCC_ENABLED_MIN (0)
3430#define CFG_ENABLE_MCC_ENABLED_MAX (1)
3431#define CFG_ENABLE_MCC_ENABLED_DEFAULT (1)
3432
3433/*
Nitesh Shah03161d12016-12-06 18:30:12 +05303434 * <ini>
3435 * gAllowMCCGODiffBI - Allow GO in MCC mode to accept different beacon interval
3436 * than STA's.
3437 * @Min: 0
3438 * @Max: 4
3439 * @Default: 4
3440 *
3441 * This ini is used to allow GO in MCC mode to accept different beacon interval
3442 * than STA's.
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003443 * Added for Wi-Fi Cert. 5.1.12
Nitesh Shah03161d12016-12-06 18:30:12 +05303444 * If gAllowMCCGODiffBI = 1
3445 * Set to 1 for WFA certification. GO Beacon interval is not changed.
3446 * MCC GO doesn't work well in optimized way. In worst scenario, it may
3447 * invite STA disconnection.
3448 * If gAllowMCCGODiffBI = 2
3449 * If set to 2 workaround 1 disassoc all the clients and update beacon
3450 * Interval.
3451 * If gAllowMCCGODiffBI = 3
3452 * If set to 3 tear down the P2P link in auto/Non-autonomous -GO case.
3453 * If gAllowMCCGODiffBI = 4
3454 * If set to 4 don't disconnect the P2P client in autonomous/Non-auto-
3455 * nomous -GO case update the BI dynamically
3456 *
3457 * Related: None.
3458 *
3459 * Supported Feature: Concurrency
3460 *
3461 * Usage: Internal/External
3462 *
3463 * </ini>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003464 */
3465#define CFG_ALLOW_MCC_GO_DIFF_BI_NAME "gAllowMCCGODiffBI"
3466#define CFG_ALLOW_MCC_GO_DIFF_BI_MIN (0)
3467#define CFG_ALLOW_MCC_GO_DIFF_BI_MAX (4)
3468#define CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT (4)
3469
Poddar, Siddarthb61cf642016-04-28 16:02:39 +05303470#if defined(CONFIG_HL_SUPPORT) && defined(QCA_BAD_PEER_TX_FLOW_CL)
3471/*
3472 * Enable/Disable Bad Peer TX CTL feature
3473 * Default: Enable
3474 */
3475#define CFG_BAD_PEER_TX_CTL_ENABLE_NAME "gBadPeerTxCtlEnable"
3476#define CFG_BAD_PEER_TX_CTL_ENABLE_MIN (0)
3477#define CFG_BAD_PEER_TX_CTL_ENABLE_MAX (1)
3478#define CFG_BAD_PEER_TX_CTL_ENABLE_DEFAULT (1)
3479
3480#define CFG_BAD_PEER_TX_CTL_PERIOD_NAME "gBadPeerTxCtlPeriod"
3481#define CFG_BAD_PEER_TX_CTL_PERIOD_MIN (10)
3482#define CFG_BAD_PEER_TX_CTL_PERIOD_MAX (10000)
3483#define CFG_BAD_PEER_TX_CTL_PERIOD_DEFAULT (50)
3484
3485#define CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_NAME "gBadPeerTxCtlTxqLimit"
3486#define CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_MIN (1)
3487#define CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_MAX (5000)
3488#define CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_DEFAULT (100)
3489
3490#define CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_NAME "gBadPeerTxCtlTgtBackoffTime"
3491#define CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_MIN (1)
3492#define CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_MAX (5000)
3493#define CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_DEFAULT (20)
3494
3495#define CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_NAME "gBadPeerTxCtlTgtReportPeriod"
3496#define CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_MIN (1)
3497#define CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_MAX (5000)
3498#define CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_DEFAULT (500)
3499
3500#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_NAME "gBadPeerTxCtlCondLevelIeeeB"
3501#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_MIN (1)
3502#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_MAX (2)
3503#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_DEFAULT (2)
3504
3505#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_NAME "gBadPeerTxCtlDeltaLevelIeeeB"
3506#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_MIN (1)
3507#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_MAX (11)
3508#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_DEFAULT (2)
3509
3510#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_NAME "gBadPeerTxCtlPctLevelIeeeB"
3511#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_MIN (1)
3512#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_MAX (8)
3513#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_DEFAULT (1)
3514
3515#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_NAME "gBadPeerTxCtlTputLevelIeeeB"
3516#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_MIN (1)
3517#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_MAX (11)
3518#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_DEFAULT (2)
3519
3520#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_NAME "gBadPeerTxCtlTxLimitLevelIeeeB"
3521#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_MIN (0)
3522#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_MAX (50)
3523#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_DEFAULT (3)
3524
3525#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_NAME "gBadPeerTxCtlCondLevelIeeeAG"
3526#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_MIN (1)
3527#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_MAX (2)
3528#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_DEFAULT (2)
3529
3530#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_NAME "gBadPeerTxCtlDeltaLevelIeeeAG"
3531#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_MIN (6)
3532#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_MAX (54)
3533#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_DEFAULT (6)
3534
3535#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_NAME "gBadPeerTxCtlPctLevelIeeeAG"
3536#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_MIN (1)
3537#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_MAX (8)
3538#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_DEFAULT (1)
3539
3540#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_NAME "gBadPeerTxCtlTputLevelIeeeAG"
3541#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_MIN (6)
3542#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_MAX (54)
3543#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_DEFAULT (6)
3544
3545#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_NAME "gBadPeerTxCtlTxLimitLevelIeeeAG"
3546#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_MIN (0)
3547#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_MAX (50)
3548#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_DEFAULT (3)
3549
3550#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_NAME "gBadPeerTxCtlCondLevelIeeeN"
3551#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_MIN (1)
3552#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_MAX (2)
3553#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_DEFAULT (2)
3554
3555#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_NAME "gBadPeerTxCtlDeltaLevelIeeeN"
3556#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_MIN (6)
3557#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_MAX (72)
3558#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_DEFAULT (6)
3559
3560#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_NAME "gBadPeerTxCtlPctLevelIeeeN"
3561#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_MIN (1)
3562#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_MAX (8)
3563#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_DEFAULT (1)
3564
3565#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_NAME "gBadPeerTxCtlTputLevelIeeeN"
3566#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_MIN (6)
3567#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_MAX (72)
3568#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_DEFAULT (15)
3569
3570#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_NAME "gBadPeerTxCtlTxLimitLevelIeeeN"
3571#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_MIN (0)
3572#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_MAX (50)
3573#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_DEFAULT (3)
3574
3575#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_NAME "gBadPeerTxCtlCondLevelIeeeAC"
3576#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_MIN (1)
3577#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_MAX (2)
3578#define CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_DEFAULT (2)
3579
3580#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_NAME "gBadPeerTxCtlDeltaLevelIeeeAC"
3581#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_MIN (6)
3582#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_MAX (433)
3583#define CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_DEFAULT (6)
3584
3585#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_NAME "gBadPeerTxCtlPctLevelIeeeAC"
3586#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_MIN (1)
3587#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_MAX (8)
3588#define CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_DEFAULT (1)
3589
3590#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_NAME "gBadPeerTxCtlTputLevelIeeeAC"
3591#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_MIN (6)
3592#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_MAX (433)
3593#define CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_DEFAULT (15)
3594
3595#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_NAME "gBadPeerTxCtlTxLimitLevelIeeeAC"
3596#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_MIN (0)
3597#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_MAX (50)
3598#define CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_DEFAULT (3)
3599#endif
3600
3601
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003602/*
3603 * Enable/Disable Thermal Mitigation feature
3604 * Default: Enable
3605 */
3606#define CFG_THERMAL_MIGRATION_ENABLE_NAME "gThermalMitigationEnable"
3607#define CFG_THERMAL_MIGRATION_ENABLE_MIN (0)
3608#define CFG_THERMAL_MIGRATION_ENABLE_MAX (1)
Manjeet Singhbcd1cfd2017-01-11 15:15:14 +05303609#define CFG_THERMAL_MIGRATION_ENABLE_DEFAULT (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003610
3611#define CFG_THROTTLE_PERIOD_NAME "gThrottlePeriod"
3612#define CFG_THROTTLE_PERIOD_MIN (10)
3613#define CFG_THROTTLE_PERIOD_MAX (10000)
3614#define CFG_THROTTLE_PERIOD_DEFAULT (4000)
3615
Poddar, Siddarth83905022016-04-16 17:56:08 -07003616/*
3617 * Configure Throttle Period Different Level Duty Cycle in percentage
3618 * When temperature measured is greater than threshold at particular level,
3619 * then throtling level will get increased by one level and
3620 * will reduce TX duty by the given percentage
3621 */
3622#define CFG_THROTTLE_DUTY_CYCLE_LEVEL0_NAME "gThrottleDutyCycleLevel0"
3623#define CFG_THROTTLE_DUTY_CYCLE_LEVEL0_MIN (0)
3624#define CFG_THROTTLE_DUTY_CYCLE_LEVEL0_MAX (0)
3625#define CFG_THROTTLE_DUTY_CYCLE_LEVEL0_DEFAULT (0)
3626
3627#define CFG_THROTTLE_DUTY_CYCLE_LEVEL1_NAME "gThrottleDutyCycleLevel1"
3628#define CFG_THROTTLE_DUTY_CYCLE_LEVEL1_MIN (0)
3629#define CFG_THROTTLE_DUTY_CYCLE_LEVEL1_MAX (100)
3630#define CFG_THROTTLE_DUTY_CYCLE_LEVEL1_DEFAULT (50)
3631
3632#define CFG_THROTTLE_DUTY_CYCLE_LEVEL2_NAME "gThrottleDutyCycleLevel2"
3633#define CFG_THROTTLE_DUTY_CYCLE_LEVEL2_MIN (0)
3634#define CFG_THROTTLE_DUTY_CYCLE_LEVEL2_MAX (100)
3635#define CFG_THROTTLE_DUTY_CYCLE_LEVEL2_DEFAULT (75)
3636
3637#define CFG_THROTTLE_DUTY_CYCLE_LEVEL3_NAME "gThrottleDutyCycleLevel3"
3638#define CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MIN (0)
3639#define CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MAX (100)
3640#define CFG_THROTTLE_DUTY_CYCLE_LEVEL3_DEFAULT (94)
3641
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003642/*
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303643 * <ini>
3644 * gMCAddrListEnable - Enable/Disable Multicast MAC Address List feature
3645 * @Min: 0
3646 * @Max: 1
3647 * @Default: 1
3648 *
3649 * This ini is used to set default MAC Address
Dustin Brownd03bf592016-09-08 14:40:51 -07003650 * Default: Enable
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303651 *
3652 * Related: None
3653 *
3654 * Supported Feature: STA
3655 *
3656 * Usage: Internal/External
3657 *
3658 * </ini>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003659 */
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303660
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003661#define CFG_MC_ADDR_LIST_ENABLE_NAME "gMCAddrListEnable"
3662#define CFG_MC_ADDR_LIST_ENABLE_MIN (0)
3663#define CFG_MC_ADDR_LIST_ENABLE_MAX (1)
Dustin Brownd03bf592016-09-08 14:40:51 -07003664#define CFG_MC_ADDR_LIST_ENABLE_DEFAULT (1)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003665
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303666/*
3667 * <ini>
3668 * gEnableRXSTBC - Enables/disables Rx STBC capability in STA mode
3669 * @Min: 0
3670 * @Max: 1
3671 * @Default: 1
3672 *
3673 * This ini is used to set default Rx STBC capability
3674 *
3675 * Related: None
3676 *
3677 * Supported Feature: STA
3678 *
3679 * Usage: Internal/External
3680 *
3681 * </ini>
3682 */
3683
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003684#define CFG_ENABLE_RX_STBC "gEnableRXSTBC"
3685#define CFG_ENABLE_RX_STBC_MIN (0)
3686#define CFG_ENABLE_RX_STBC_MAX (1)
3687#define CFG_ENABLE_RX_STBC_DEFAULT (1)
3688
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303689/*
3690 * <ini>
3691 * gEnableTXSTBC - Enables/disables Tx STBC capability in STA mode
3692 * @Min: 0
3693 * @Max: 1
3694 * @Default: 0
3695 *
3696 * This ini is used to set default Tx STBC capability
3697 *
3698 * Related: None
3699 *
3700 * Supported Feature: STA
3701 *
3702 * Usage: Internal/External
3703 *
3704 * </ini>
3705 */
3706
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003707#define CFG_ENABLE_TX_STBC "gEnableTXSTBC"
3708#define CFG_ENABLE_TX_STBC_MIN (0)
3709#define CFG_ENABLE_TX_STBC_MAX (1)
3710#define CFG_ENABLE_TX_STBC_DEFAULT (0)
3711
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003712#define CFG_DISABLE_LDPC_WITH_TXBF_AP "gDisableLDPCWithTxbfAP"
3713#define CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN (0)
3714#define CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX (1)
3715#define CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003716
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303717/*
3718 * <ini>
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303719 * gEnableSNRMonitoring - Enables SNR Monitoring
3720 * @Min: 0
3721 * @Max: 1
3722 * @Default: 0
3723 *
3724 * This ini is used to set default snr monitor
3725 *
3726 * Related: None
3727 *
3728 * Supported Feature: STA
3729 *
3730 * Usage: Internal/External
3731 *
3732 * </ini>
3733 */
3734
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003735#define CFG_ENABLE_SNR_MONITORING_NAME "gEnableSNRMonitoring"
3736#define CFG_ENABLE_SNR_MONITORING_MIN (0)
3737#define CFG_ENABLE_SNR_MONITORING_MAX (1)
3738#define CFG_ENABLE_SNR_MONITORING_DEFAULT (0)
3739
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003740/* SAR Thermal limit values for 2g and 5g */
3741
3742#define CFG_SET_TXPOWER_LIMIT2G_NAME "TxPower2g"
3743#define CFG_SET_TXPOWER_LIMIT2G_MIN (0)
3744#define CFG_SET_TXPOWER_LIMIT2G_MAX (30)
Hanumanth Reddy Pothula366fa8e2016-09-07 15:05:17 +05303745#define CFG_SET_TXPOWER_LIMIT2G_DEFAULT (30)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003746
3747#define CFG_SET_TXPOWER_LIMIT5G_NAME "TxPower5g"
3748#define CFG_SET_TXPOWER_LIMIT5G_MIN (0)
3749#define CFG_SET_TXPOWER_LIMIT5G_MAX (30)
Hanumanth Reddy Pothula366fa8e2016-09-07 15:05:17 +05303750#define CFG_SET_TXPOWER_LIMIT5G_DEFAULT (30)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003751
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003752#ifdef FEATURE_WLAN_RA_FILTERING
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003753#define CFG_RA_RATE_LIMIT_INTERVAL_NAME "gRArateLimitInterval"
3754#define CFG_RA_RATE_LIMIT_INTERVAL_MIN (60)
3755#define CFG_RA_RATE_LIMIT_INTERVAL_MAX (3600)
3756#define CFG_RA_RATE_LIMIT_INTERVAL_DEFAULT (60) /*60 SEC */
3757#endif
3758
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303759/*
3760 * <ini>
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303761 * gEnableMemoryDebug - Enables the memory debug
3762 * @Min: 0
3763 * @Max: 1
3764 * @Default: 1
3765 *
3766 * This ini is used to enable default memory debug
3767 *
3768 * Related: None
3769 *
3770 * Supported Feature: STA
3771 *
3772 * Usage: Internal/External
3773 *
3774 * </ini>
3775 */
3776
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003777#ifdef MEMORY_DEBUG
3778#define CFG_ENABLE_MEMORY_DEBUG_NAME "gEnableMemoryDebug"
3779#define CFG_ENABLE_MEMORY_DEBUG_MIN (0)
3780#define CFG_ENABLE_MEMORY_DEBUG_MAX (1)
3781#define CFG_ENABLE_MEMORY_DEBUG_DEFAULT (1)
3782#endif
3783
Ravi Kumar Bokka05c14e52017-03-27 14:48:23 +05303784/*
3785 * <ini>
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303786 * gInitialDwellTime - Used to set initial dwell time
3787 * @Min: 0
3788 * @Max: 0
3789 * @Default: 100
3790 *
3791 * This ini is used to set default initial dwell time
3792 *
3793 * Related: None
3794 *
3795 * Supported Feature: STA
3796 *
3797 * Usage: Internal/External
3798 *
3799 * </ini>
3800 */
3801
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003802#define CFG_INITIAL_DWELL_TIME_NAME "gInitialDwellTime"
3803#define CFG_INITIAL_DWELL_TIME_DEFAULT (0)
3804#define CFG_INITIAL_DWELL_TIME_MIN (0)
3805#define CFG_INITIAL_DWELL_TIME_MAX (100)
3806
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303807/*
3808 * <ini>
3809 * gInitialScanNoDFSChnl - WLAN skips scanning the DFS channels
3810 * @Min: 0
3811 * @Max: 0
3812 * @Default: 1
3813 *
3814 * This ini is used to set for the first scan after driver
3815 *
3816 * Related: None
3817 *
3818 * Supported Feature: STA
3819 *
3820 * Usage: Internal/External
3821 *
3822 * </ini>
3823 */
3824
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003825#define CFG_INITIAL_SCAN_NO_DFS_CHNL_NAME "gInitialScanNoDFSChnl"
3826#define CFG_INITIAL_SCAN_NO_DFS_CHNL_DEFAULT (0)
3827#define CFG_INITIAL_SCAN_NO_DFS_CHNL_MIN (0)
3828#define CFG_INITIAL_SCAN_NO_DFS_CHNL_MAX (1)
3829
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303830/*
3831 * <ini>
3832 * gAllowDFSChannelRoam - Allow dfs channel in roam
3833 * @Min: 0
3834 * @Max: 1
3835 * @Default: 2
3836 *
3837 * This ini is used to set default dfs channel
3838 *
3839 * Related: None
3840 *
3841 * Supported Feature: STA
3842 *
3843 * Usage: Internal/External
3844 *
3845 * </ini>
3846 */
3847
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003848#define CFG_ROAMING_DFS_CHANNEL_NAME "gAllowDFSChannelRoam"
3849#define CFG_ROAMING_DFS_CHANNEL_DISABLED (0)
3850#define CFG_ROAMING_DFS_CHANNEL_ENABLED_NORMAL (1)
3851#define CFG_ROAMING_DFS_CHANNEL_ENABLED_ACTIVE (2)
3852#define CFG_ROAMING_DFS_CHANNEL_MIN (CFG_ROAMING_DFS_CHANNEL_DISABLED)
3853#define CFG_ROAMING_DFS_CHANNEL_MAX (CFG_ROAMING_DFS_CHANNEL_ENABLED_ACTIVE)
3854#define CFG_ROAMING_DFS_CHANNEL_DEFAULT (CFG_ROAMING_DFS_CHANNEL_DISABLED)
3855
3856#ifdef MSM_PLATFORM
Mohit Khannaca4173b2017-09-12 21:52:19 -07003857/*
3858 * <ini>
3859 * periodic_stats_display_time - time(seconds) after which stats will be printed
3860 * @Min: 0
3861 * @Max: 256
3862 * @Default: 10
3863 *
3864 * This values specifies the recurring time period after which stats will be
3865 * printed in wlan driver logs.
3866 *
3867 * Usage: Internal / External
3868 *
3869 * </ini>
3870 */
3871#define CFG_PERIODIC_STATS_DISPLAY_TIME_NAME "periodic_stats_display_time"
3872#define CFG_PERIODIC_STATS_DISPLAY_TIME_DEFAULT (10)
3873#define CFG_PERIODIC_STATS_DISPLAY_TIME_MIN (0)
3874#define CFG_PERIODIC_STATS_DISPLAY_TIME_MAX (256)
3875
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003876#endif /* MSM_PLATFORM */
3877
Nitesh Shah03161d12016-12-06 18:30:12 +05303878/*
3879 * <ini>
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303880 * gIgnoreCAC - Used to ignore CAC
3881 * @Min: 0
3882 * @Max: 1
3883 * @Default: 0
3884 *
3885 * This ini is used to set default CAC
3886 *
3887 * Related: None
3888 *
3889 * Supported Feature: STA
3890 *
3891 * Usage: Internal/External
3892 *
3893 * </ini>
3894 */
3895
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003896#define CFG_IGNORE_CAC_NAME "gIgnoreCAC"
3897#define CFG_IGNORE_CAC_MIN (0)
3898#define CFG_IGNORE_CAC_MAX (1)
3899#define CFG_IGNORE_CAC_DEFAULT (0)
3900
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003901#define CFG_DFS_RADAR_PRI_MULTIPLIER_NAME "gDFSradarMappingPriMultiplier"
3902#define CFG_DFS_RADAR_PRI_MULTIPLIER_DEFAULT (4)
3903#define CFG_DFS_RADAR_PRI_MULTIPLIER_MIN (0)
3904#define CFG_DFS_RADAR_PRI_MULTIPLIER_MAX (10)
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303905
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003906#define CFG_ENABLE_SAP_SUSPEND "gEnableSapSuspend"
3907#define CFG_ENABLE_SAP_SUSPEND_MIN (0)
3908#define CFG_ENABLE_SAP_SUSPEND_MAX (1)
3909#define CFG_ENABLE_SAP_SUSPEND_DEFAULT (1)
3910
Sen, Devendra9ca8c432017-02-23 15:10:26 +05303911/*
3912 * <ini>
3913 * gEnableDeauthToDisassocMap - Enables deauth to disassoc map
3914 * @Min: 0
3915 * @Max: 1
3916 * @Default: 0
3917 *
3918 * This ini is used to set default disassoc map
3919 *
3920 * Related: None
3921 *
3922 * Supported Feature: STA
3923 *
3924 * Usage: Internal/External
3925 *
3926 * </ini>
3927 */
3928
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003929#define CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_NAME "gEnableDeauthToDisassocMap"
3930#define CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_MIN (0)
3931#define CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_MAX (1)
3932#define CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_DEFAULT (0)
3933
3934#ifdef DHCP_SERVER_OFFLOAD
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003935#define CFG_DHCP_SERVER_IP_NAME "gDHCPServerIP"
3936#define CFG_DHCP_SERVER_IP_DEFAULT ""
3937#endif /* DHCP_SERVER_OFFLOAD */
3938
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003939#define CFG_ENABLE_MAC_ADDR_SPOOFING "gEnableMacAddrSpoof"
3940#define CFG_ENABLE_MAC_ADDR_SPOOFING_MIN (0)
3941#define CFG_ENABLE_MAC_ADDR_SPOOFING_MAX (1)
3942#define CFG_ENABLE_MAC_ADDR_SPOOFING_DEFAULT (1)
3943
Agrawal Ashishe030f782017-01-27 17:52:05 +05303944/*
3945 * <ini>
Nitesh Shah03161d12016-12-06 18:30:12 +05303946 * gStaMiracastMccRestTimeVal - Rest time when Miracast is running.
3947 * @Min: 100
3948 * @Max: 500
3949 * @Default: 400
3950 *
3951 * This ini is used to set rest time for home channel for Miracast before
3952 * going for scan.
3953 *
3954 * Related: None.
3955 *
3956 * Supported Feature: Concurrency
3957 *
3958 * Usage: Internal/External
3959 *
3960 * </ini>
3961 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003962#define CFG_STA_MIRACAST_MCC_REST_TIME_VAL "gStaMiracastMccRestTimeVal"
3963#define CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MIN (100)
3964#define CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MAX (500)
3965#define CFG_STA_MIRACAST_MCC_REST_TIME_VAL_DEFAULT (400)
3966
3967#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
Nitesh Shah03161d12016-12-06 18:30:12 +05303968/*
3969 * <ini>
3970 * gSapChannelAvoidance - SAP MCC channel avoidance.
3971 * @Min: 0
3972 * @Max: 1
3973 * @Default: 0
3974 *
3975 * This ini is used to sets sap mcc channel avoidance.
3976 *
3977 * Related: None.
3978 *
3979 * Supported Feature: Concurrency
3980 *
3981 * Usage: Internal/External
3982 *
3983 * </ini>
3984 */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003985#define CFG_SAP_MCC_CHANNEL_AVOIDANCE_NAME "gSapChannelAvoidance"
3986#define CFG_SAP_MCC_CHANNEL_AVOIDANCE_MIN (0)
3987#define CFG_SAP_MCC_CHANNEL_AVOIDANCE_MAX (1)
3988#define CFG_SAP_MCC_CHANNEL_AVOIDANCE_DEFAULT (0)
3989#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
3990
Agrawal Ashishe030f782017-01-27 17:52:05 +05303991/*
3992 * <ini>
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05303993 * gSAP11ACOverride - Override bw to 11ac for SAP in driver even if supplicant
3994 * or hostapd configures HT.
Agrawal Ashishe030f782017-01-27 17:52:05 +05303995 * @Min: 0
3996 * @Max: 1
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05303997 * @Default: 0
Agrawal Ashishe030f782017-01-27 17:52:05 +05303998 *
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05303999 * This ini is used to enable/disable 11AC override for SAP.
4000 * Android UI does not provide advanced configuration options
4001 * for SoftAP for Android O and below.
4002 * Default override disabled for android. Can be enabled from
4003 * ini for Android O and below.
Agrawal Ashishe030f782017-01-27 17:52:05 +05304004 *
4005 *
4006 * Supported Feature: SAP
4007 *
4008 *
4009 * Usage: Internal/External
4010 *
4011 * </ini>
4012 */
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05304013#define CFG_SAP_11AC_OVERRIDE_NAME "gSAP11ACOverride"
4014#define CFG_SAP_11AC_OVERRIDE_MIN (0)
4015#define CFG_SAP_11AC_OVERRIDE_MAX (1)
4016#define CFG_SAP_11AC_OVERRIDE_DEFAULT (0)
Agrawal Ashishe030f782017-01-27 17:52:05 +05304017
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05304018/*
4019 * <ini>
4020 * gGO11ACOverride - Override bw to 11ac for P2P GO
4021 * @Min: 0
4022 * @Max: 1
4023 * @Default: 1
4024 *
4025 * This ini is used to enable/disable 11AC override for GO.
4026 * P2P GO also follows start_bss and since P2P GO could not be
4027 * configured to setup VHT channel width in wpa_supplicant, driver
4028 * can override 11AC.
4029 *
4030 *
4031 * Supported Feature: P2P
4032 *
4033 *
4034 * Usage: Internal/External
4035 *
4036 * </ini>
4037 */
4038#define CFG_GO_11AC_OVERRIDE_NAME "gGO11ACOverride"
4039#define CFG_GO_11AC_OVERRIDE_MIN (0)
4040#define CFG_GO_11AC_OVERRIDE_MAX (1)
4041#define CFG_GO_11AC_OVERRIDE_DEFAULT (1)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004042
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004043#define CFG_ENABLE_NON_DFS_CHAN_ON_RADAR "gPreferNonDfsChanOnRadar"
4044#define CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MIN (0)
4045#define CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MAX (1)
4046#define CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_DEFAULT (0)
4047
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004048/*
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004049 * set the self gen power value from
4050 * 0 to 0xffff
4051 */
4052#define CFG_SELF_GEN_FRM_PWR "gSelfGenFrmPwr"
4053#define CFG_SELF_GEN_FRM_PWR_MIN (0)
4054#define CFG_SELF_GEN_FRM_PWR_MAX (0xffff)
4055#define CFG_SELF_GEN_FRM_PWR_DEFAULT (0)
4056
4057/*
4058 * fine timing measurement capability information
4059 *
4060 * <----- fine_time_meas_cap (in bits) ----->
4061 *+----------+-----+-----+------+------+-------+-------+-----+-----+
Naveen Rawat1af09392018-01-03 17:28:21 -08004062 *| 8-31 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004063 *+----------+-----+-----+------+------+-------+-------+-----+-----+
4064 *| reserved | SAP | SAP |P2P-GO|P2P-GO|P2P-CLI|P2P-CLI| STA | STA |
4065 *| |resp |init |resp |init |resp |init |resp |init |
4066 *+----------+-----+-----+------+------+-------+-------+-----+-----+
4067 *
4068 * resp - responder role; init- initiator role
4069 *
4070 * CFG_FINE_TIME_MEAS_CAPABILITY_MAX computed based on the table
4071 * +-----------------+-----------------+-----------+
4072 * | Device Role | Initiator | Responder |
4073 * +-----------------+-----------------+-----------+
4074 * | Station | Y | N |
4075 * | P2P-CLI | Y | Y |
4076 * | P2P-GO | Y | Y |
4077 * | SAP | N | Y |
4078 * +-----------------+-----------------+-----------+
4079 */
4080#define CFG_FINE_TIME_MEAS_CAPABILITY "gfine_time_meas_cap"
4081#define CFG_FINE_TIME_MEAS_CAPABILITY_MIN (0x0000)
4082#define CFG_FINE_TIME_MEAS_CAPABILITY_MAX (0x00BD)
4083#define CFG_FINE_TIME_MEAS_CAPABILITY_DEFAULT (0x000D)
4084
Agrawal Ashishe030f782017-01-27 17:52:05 +05304085/*
4086 * <ini>
Kiran Kumar Lokere1a43bcf2018-05-15 15:51:58 -07004087 * etsi13_srd_chan_in_master_mode - Enable/disable ETSI SRD channels in
4088 * master mode PCL and ACS functionality
4089 * @Min: 0
4090 * @Max: 1
4091 * @Default: 0
4092 *
4093 * etsi13_srd_chan_in_master_mode is to enable/disable ETSI SRD channels in
4094 * master mode PCL and ACS functionality
4095 *
4096 * Related: None
4097 *
4098 * Supported Feature: SAP/P2P-GO
4099 *
4100 * Usage: Internal/External
4101 *
4102 * </ini>
4103 */
4104#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE "etsi13_srd_chan_in_master_mode"
4105#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_DEF (0)
4106#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MIN (0)
4107#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MAX (1)
4108
Nitesh Shah5651b1e2017-02-02 17:59:52 +05304109/*
4110 *
4111 * <ini>
4112 * gDualMacFeatureDisable - Disable Dual MAC feature.
4113 * @Min: 0
Tushnim Bhattacharyya49ed8ab2017-05-26 18:20:10 -07004114 * @Max: 4
Nitesh Shah5651b1e2017-02-02 17:59:52 +05304115 * @Default: 0
4116 *
4117 * This ini is used to enable/disable dual MAC feature.
Tushnim Bhattacharyya49ed8ab2017-05-26 18:20:10 -07004118 * 0 - enable DBS
4119 * 1 - disable DBS
4120 * 2 - disable DBS for connection but keep DBS for scan
4121 * 3 - disable DBS for connection but keep DBS scan with async
4122 * scan policy disabled
4123 * 4 - enable DBS for connection as well as for scan with async
4124 * scan policy disabled
Bala Venkateshc8236ca2018-03-09 12:38:29 +05304125 * 5 - enable DBS for connection but disable DBS for scan.
Tushnim Bhattacharyyaaececb22018-08-06 14:27:46 -07004126 * 6 - enable DBS for connection but disable simultaneous scan
4127 * from upper layer (DBS scan remains enabled in FW).
Tushnim Bhattacharyya49ed8ab2017-05-26 18:20:10 -07004128 *
4129 * Note: INI item value should match 'enum dbs_support'
Nitesh Shah5651b1e2017-02-02 17:59:52 +05304130 *
4131 * Related: None.
4132 *
4133 * Supported Feature: DBS
4134 *
4135 * Usage: Internal/External
4136 *
4137 * </ini>
4138 */
Tushnim Bhattacharyya49ed8ab2017-05-26 18:20:10 -07004139#define CFG_DUAL_MAC_FEATURE_DISABLE "gDualMacFeatureDisable"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004140#define CFG_DUAL_MAC_FEATURE_DISABLE_MIN (0)
Tushnim Bhattacharyyaaececb22018-08-06 14:27:46 -07004141#define CFG_DUAL_MAC_FEATURE_DISABLE_MAX (6)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004142#define CFG_DUAL_MAC_FEATURE_DISABLE_DEFAULT (0)
4143
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07004144/*
Nitesh Shah50a3de12017-04-03 19:37:19 +05304145 * <ini>
Ganesh Kondabattini930304c2017-10-10 15:25:36 +05304146 * g_sta_sap_scc_on_dfs_chan - Allow STA+SAP SCC on DFS channel with master
4147 * mode support disabled.
4148 * @Min: 0
4149 * @Max: 1
4150 * @Default: 0
4151 *
4152 * This ini is used to allow STA+SAP SCC on DFS channel with master mode
4153 * support disabled.
4154 * 0 - Disallow STA+SAP SCC on DFS channel
4155 * 1 - Allow STA+SAP SCC on DFS channel with master mode disabled
4156 *
4157 * Related: None.
4158 *
4159 * Supported Feature: Non-DBS, DBS
4160 *
4161 * Usage: Internal/External
4162 *
4163 * </ini>
4164 */
4165#define CFG_STA_SAP_SCC_ON_DFS_CHAN "g_sta_sap_scc_on_dfs_chan"
4166#define CFG_STA_SAP_SCC_ON_DFS_CHAN_MIN (0)
4167#define CFG_STA_SAP_SCC_ON_DFS_CHAN_MAX (1)
4168#define CFG_STA_SAP_SCC_ON_DFS_CHAN_DEFAULT (0)
4169
4170/*
Zhu Jianmin72d32de2018-05-11 10:54:10 +08004171 * <ini>
4172 * g_sta_sap_scc_on_lte_coex_chan - Allow STA+SAP SCC on LTE coex channel
4173 * @Min: 0
4174 * @Max: 1
4175 * @Default: 0
4176 *
4177 * This ini is used to allow STA+SAP SCC on LTE coex channel
4178 * 0 - Disallow STA+SAP SCC on LTE coex channel
4179 * 1 - Allow STA+SAP SCC on LTE coex channel
4180 *
4181 * Related: None.
4182 *
4183 * Supported Feature: Non-DBS, DBS
4184 *
4185 * Usage: Internal/External
4186 *
4187 * </ini>
4188 */
4189#define CFG_STA_SAP_SCC_ON_LTE_COEX_CHAN "g_sta_sap_scc_on_lte_coex_chan"
4190#define CFG_STA_SAP_SCC_ON_LTE_COEX_CHAN_MIN (0)
4191#define CFG_STA_SAP_SCC_ON_LTE_COEX_CHAN_MAX (1)
4192#define CFG_STA_SAP_SCC_ON_LTE_COEX_CHAN_DEFAULT (0)
4193
4194/*
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07004195 * gPNOChannelPrediction will allow user to enable/disable the
4196 * PNO channel prediction feature.
4197 * In current PNO implementation, scan is always done until all configured
4198 * channels are scanned. If we can determine DUT is stationary based on
4199 * scanning a subset of channels, we may cancel the remaining channels.
4200 * Hence, we can save additional power consumption.
4201 */
4202#define CFG_PNO_CHANNEL_PREDICTION_NAME "gPNOChannelPrediction"
4203#define CFG_PNO_CHANNEL_PREDICTION_MIN (0)
4204#define CFG_PNO_CHANNEL_PREDICTION_MAX (1)
4205#define CFG_PNO_CHANNEL_PREDICTION_DEFAULT (0)
4206/*
4207 * The top K number of channels are used for tanimoto distance
4208 * calculation. These are the top channels on which the probability
4209 * of finding the AP's is extremely high. This number is intended
4210 * for tweaking the internal algorithm for experiments. This should
4211 * not be changed externally.
4212 */
4213#define CFG_TOP_K_NUM_OF_CHANNELS_NAME "gTopKNumOfChannels"
4214#define CFG_TOP_K_NUM_OF_CHANNELS_MIN (1)
4215#define CFG_TOP_K_NUM_OF_CHANNELS_MAX (5)
4216#define CFG_TOP_K_NUM_OF_CHANNELS_DEFAULT (3)
4217/*
4218 * This is the threshold value to determine that the STA is
4219 * stationary. If the tanimoto distance is less than this
4220 * value, then the device is considered to be stationary.
4221 * This parameter is intended to tweak the internal algorithm
4222 * for experiments. This should not be changed externally.
4223 */
4224#define CFG_STATIONARY_THRESHOLD_NAME "gStationaryThreshold"
4225#define CFG_STATIONARY_THRESHOLD_MIN (0)
4226#define CFG_STATIONARY_THRESHOLD_MAX (100)
4227#define CFG_STATIONARY_THRESHOLD_DEFAULT (10)
Varun Reddy Yeturu044bda22015-11-21 22:03:40 -08004228
Deepak Dhamdhere68929ec2015-08-05 15:16:35 -07004229/* Option to report rssi in cfg80211_inform_bss_frame()
4230 * 0 = use rssi value based on noise floor = -96 dBm
4231 * 1 = use rssi value based on actual noise floor in hardware
4232 */
4233#define CFG_INFORM_BSS_RSSI_RAW_NAME "gInformBssRssiRaw"
4234#define CFG_INFORM_BSS_RSSI_RAW_MIN (0)
4235#define CFG_INFORM_BSS_RSSI_RAW_MAX (1)
4236#define CFG_INFORM_BSS_RSSI_RAW_DEFAULT (1)
Ravi Joshi742495d2015-11-09 18:56:53 -08004237
Yu Wang66a250b2017-07-19 11:46:40 +08004238#ifdef WLAN_FEATURE_TSF_PLUS
4239/* PTP options */
4240#define CFG_SET_TSF_PTP_OPT_NAME "gtsf_ptp_options"
4241#define CFG_SET_TSF_PTP_OPT_MIN (0)
4242#define CFG_SET_TSF_PTP_OPT_MAX (0xff)
4243#define CFG_SET_TSF_PTP_OPT_RX (0x1)
4244#define CFG_SET_TSF_PTP_OPT_TX (0x2)
4245#define CFG_SET_TSF_PTP_OPT_RAW (0x4)
4246#define CFG_SET_TSF_DBG_FS (0x8)
4247#define CFG_SET_TSF_PTP_OPT_DEFAULT (0xf)
4248#endif
4249
Nirav Shahd21a2e32018-04-20 16:34:43 +05304250#ifdef CONFIG_DP_TRACE
gbian62edd7e2017-03-07 13:12:13 +08004251/*
Nirav Shahcc1f1ae2016-04-26 11:41:29 +05304252 * Enable/disable DPTRACE
4253 * Enabling this might have performace impact.
4254 */
4255#define CFG_ENABLE_DP_TRACE "enable_dp_trace"
4256#define CFG_ENABLE_DP_TRACE_MIN (0)
Mohit Khannaf8f96822017-05-17 17:11:59 -07004257#define CFG_ENABLE_DP_TRACE_MAX (1)
Nirav Shah1da77682016-05-03 20:16:39 +05304258#define CFG_ENABLE_DP_TRACE_DEFAULT (1)
Nirav Shahcc1f1ae2016-04-26 11:41:29 +05304259
Mohit Khannaf8f96822017-05-17 17:11:59 -07004260/* Max length of gDptraceConfig string. e.g.- "1, 6, 1, 62" */
4261#define DP_TRACE_CONFIG_STRING_LENGTH (20)
4262
4263/* At max 4 DP Trace config parameters are allowed. Refer - gDptraceConfig */
4264#define DP_TRACE_CONFIG_NUM_PARAMS (4)
4265
4266/*
4267 * Default value of live mode in case it cannot be determined from cfg string
4268 * gDptraceConfig
4269 */
4270#define DP_TRACE_CONFIG_DEFAULT_LIVE_MODE (1)
4271
4272/*
4273 * Default value of thresh (packets/second) beyond which DP Trace is disabled.
4274 * Use this default in case the value cannot be determined from cfg string
4275 * gDptraceConfig
4276 */
Mohit Khannaf7562c32018-07-05 17:42:36 -07004277#define DP_TRACE_CONFIG_DEFAULT_THRESH (6)
Mohit Khannaf8f96822017-05-17 17:11:59 -07004278
4279/*
4280 * Number of intervals of BW timer to wait before enabling/disabling DP Trace.
4281 * Since throughput threshold to disable live logging for DP Trace is very low,
4282 * we calculate throughput based on # packets received in a second.
Mohit Khannaf7562c32018-07-05 17:42:36 -07004283 * For example assuming bandwidth timer interval is 100ms, and if more than 6
4284 * prints are received in 10 * 100 ms interval, we want to disable DP Trace
Mohit Khannaf8f96822017-05-17 17:11:59 -07004285 * live logging. DP_TRACE_CONFIG_DEFAULT_THRESH_TIME_LIMIT is the default
4286 * value, to be used in case the real value cannot be derived from
4287 * bw timer interval
4288 */
4289#define DP_TRACE_CONFIG_DEFAULT_THRESH_TIME_LIMIT (10)
4290
4291/* Default proto bitmap in case its missing in gDptraceConfig string */
4292#define DP_TRACE_CONFIG_DEFAULT_BITMAP \
4293 (QDF_NBUF_PKT_TRAC_TYPE_EAPOL |\
4294 QDF_NBUF_PKT_TRAC_TYPE_DHCP |\
4295 QDF_NBUF_PKT_TRAC_TYPE_MGMT_ACTION |\
4296 QDF_NBUF_PKT_TRAC_TYPE_ARP |\
Poddar, Siddarth44aa5aa2017-07-10 17:30:22 +05304297 QDF_NBUF_PKT_TRAC_TYPE_ICMP |\
4298 QDF_NBUF_PKT_TRAC_TYPE_ICMPv6)\
Mohit Khannaf8f96822017-05-17 17:11:59 -07004299
4300/* Default verbosity, in case its missing in gDptraceConfig string*/
4301#define DP_TRACE_CONFIG_DEFAULT_VERBOSTY QDF_DP_TRACE_VERBOSITY_LOW
jitiphilb03ae082018-11-09 17:41:59 +05304302
Mohit Khannaf8f96822017-05-17 17:11:59 -07004303#define CFG_ENABLE_DP_TRACE_CONFIG "gDptraceConfig"
Mohit Khannaf7562c32018-07-05 17:42:36 -07004304#define CFG_ENABLE_DP_TRACE_CONFIG_DEFAULT "1, 6, 2, 126"
Nirav Shahd21a2e32018-04-20 16:34:43 +05304305#endif
Mohit Khannaf8f96822017-05-17 17:11:59 -07004306
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05304307/*
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05304308 * This parameter will set the weight to calculate the average low pass
4309 * filter for channel congestion.
4310 * Acceptable values for this: 0-100 (In %)
4311 */
4312#define CFG_ADAPT_DWELL_LPF_WEIGHT_NAME "adapt_dwell_lpf_weight"
4313#define CFG_ADAPT_DWELL_LPF_WEIGHT_MIN (0)
4314#define CFG_ADAPT_DWELL_LPF_WEIGHT_MAX (100)
4315#define CFG_ADAPT_DWELL_LPF_WEIGHT_DEFAULT (80)
4316
4317/*
4318 * This parameter will set interval to monitor wifi activity
4319 * in passive scan in msec.
4320 * Acceptable values for this: 0-25
4321 */
4322#define CFG_ADAPT_DWELL_PASMON_INTVAL_NAME "adapt_dwell_passive_mon_intval"
4323#define CFG_ADAPT_DWELL_PASMON_INTVAL_MIN (0)
Kapil Gupta6eb83c02017-03-03 11:07:52 +05304324#define CFG_ADAPT_DWELL_PASMON_INTVAL_MAX (25)
4325#define CFG_ADAPT_DWELL_PASMON_INTVAL_DEFAULT (10)
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05304326
4327/*
4328 * This parameter will set % of wifi activity used in passive scan 0-100.
4329 * Acceptable values for this: 0-100 (in %)
4330 */
4331#define CFG_ADAPT_DWELL_WIFI_THRESH_NAME "adapt_dwell_wifi_act_threshold"
4332#define CFG_ADAPT_DWELL_WIFI_THRESH_MIN (0)
4333#define CFG_ADAPT_DWELL_WIFI_THRESH_MAX (100)
4334#define CFG_ADAPT_DWELL_WIFI_THRESH_DEFAULT (10)
4335
4336/*
Manjeet Singha5acc162017-01-06 17:38:16 +05304337 * <ini>
Hanumanth Reddy Pothulaffc2d482017-07-04 11:32:44 +05304338 * restart_beaconing_on_chan_avoid_event - control the beaconing entity to move
4339 * away from active LTE channels
Hanumanth Reddy Pothula9c161dd2017-03-23 19:03:08 +05304340 * @Min: 0
Tushnim Bhattacharyya3efa49a2017-07-18 15:43:09 -07004341 * @Max: 2
Hanumanth Reddy Pothula9c161dd2017-03-23 19:03:08 +05304342 * @Default: 1
4343 *
Hanumanth Reddy Pothulaffc2d482017-07-04 11:32:44 +05304344 * This ini is used to control the beaconing entity (SAP/GO) to move away from
4345 * active LTE channels when channel avoidance event is received
4346 * restart_beaconing_on_chan_avoid_event=0: Don't allow beaconing entity move
4347 * from active LTE channels
4348 * restart_beaconing_on_chan_avoid_event=1: Allow beaconing entity move from
4349 * active LTE channels
Tushnim Bhattacharyya3efa49a2017-07-18 15:43:09 -07004350 * restart_beaconing_on_chan_avoid_event=2: Allow beaconing entity move from
4351 * 2.4G active LTE channels only
Hanumanth Reddy Pothula9c161dd2017-03-23 19:03:08 +05304352 *
4353 * Related: None
4354 *
4355 * Supported Feature: channel avoidance
4356 *
4357 * Usage: Internal/External
4358 *
4359 * </ini>
4360 */
Hanumanth Reddy Pothulaffc2d482017-07-04 11:32:44 +05304361#define CFG_RESTART_BEACONING_ON_CH_AVOID_NAME "restart_beaconing_on_chan_avoid_event"
Tushnim Bhattacharyya3efa49a2017-07-18 15:43:09 -07004362#define CFG_RESTART_BEACONING_ON_CH_AVOID_MIN (CH_AVOID_RULE_DO_NOT_RESTART)
4363#define CFG_RESTART_BEACONING_ON_CH_AVOID_MAX (CH_AVOID_RULE_RESTART_24G_ONLY)
4364#define CFG_RESTART_BEACONING_ON_CH_AVOID_DEFAULT (CH_AVOID_RULE_RESTART)
Agrawal, Ashish4e5fa1c2016-09-21 19:03:43 +05304365
4366/*
Amar Singhal18517882016-08-08 12:26:20 -07004367 * Support to start sap in indoor channel
4368 * Customer can config this item to enable/disable sap in indoor channel
4369 * Default: Disable
4370 */
4371#define CFG_INDOOR_CHANNEL_SUPPORT_NAME "gindoor_channel_support"
4372#define CFG_INDOOR_CHANNEL_SUPPORT_MIN (0)
4373#define CFG_INDOOR_CHANNEL_SUPPORT_MAX (1)
4374#define CFG_INDOOR_CHANNEL_SUPPORT_DEFAULT (0)
Nirav Shahbd36b062016-07-18 11:12:59 +05304375
Ravi Joshibb8d4512016-08-22 10:14:52 -07004376/*
Mukul Sharmaecf8e092017-12-19 22:36:31 +05304377 * <ini>
4378 * g_mark_sap_indoor_as_disable - Enable/Disable Indoor channel
4379 * @Min: 0
4380 * @Max: 1
4381 * @Default: 0
4382 *
4383 * This ini is used to mark the Indoor channel as
4384 * disable when SAP start and revert it on SAP stop,
4385 * so SAP will not turn on indoor channel and
4386 * sta will not scan/associate and roam on indoor
4387 * channels.
4388 *
4389 * Related: If g_mark_sap_indoor_as_disable set, turn the
4390 * indoor channels to disable and update Wiphy & fw.
4391 *
4392 * Supported Feature: SAP/STA
4393 *
4394 * Usage: External
4395 *
4396 * </ini>
4397 */
4398#define CFG_MARK_INDOOR_AS_DISABLE_NAME "g_mark_sap_indoor_as_disable"
4399#define CFG_MARK_INDOOR_AS_DISABLE_MIN (0)
4400#define CFG_MARK_INDOOR_AS_DISABLE_MAX (1)
4401#define CFG_MARK_INDOOR_AS_DISABLE_DEFAULT (0)
4402
4403/*
Yingying Tangb4832f72016-10-20 13:44:55 +08004404 * sap tx leakage threshold
4405 * customer can set this value from 100 to 1000 which means
4406 * sap tx leakage threshold is -10db to -100db
4407 */
4408#define CFG_SAP_TX_LEAKAGE_THRESHOLD_NAME "gsap_tx_leakage_threshold"
4409#define CFG_SAP_TX_LEAKAGE_THRESHOLD_MIN (100)
4410#define CFG_SAP_TX_LEAKAGE_THRESHOLD_MAX (1000)
4411#define CFG_SAP_TX_LEAKAGE_THRESHOLD_DEFAULT (310)
4412
Anurag Chouhan7c01cc42016-12-16 21:33:43 +05304413/*
4414 * <ini>
Manjeet Singha9cae432017-02-28 11:58:22 +05304415 * enable_5g_band_pref - Enable preference for 5G from INI.
4416 * @Min: 0
4417 * @Max: 1
4418 * @Default: 0
4419 * This ini is used to enable 5G preference parameters.
4420 *
4421 * Related: 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
4422 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
4423 *
4424 * Supported Feature: 5G band preference
4425 *
4426 * Usage: External
4427 *
4428 * </ini>
4429 */
4430
4431#define CFG_ENABLE_5G_BAND_PREF_NAME "enable_5g_band_pref"
4432#define CFG_ENABLE_5G_BAND_PREF_MIN (0)
4433#define CFG_ENABLE_5G_BAND_PREF_MAX (1)
4434#define CFG_ENABLE_5G_BAND_PREF_DEFAULT (0)
4435
4436/*
4437 * <ini>
4438 * 5g_rssi_boost_threshold - A_band_boost_threshold above which 5 GHz is favored.
4439 * @Min: -55
4440 * @Max: -70
4441 * @Default: -60
4442 * This ini is used to set threshold for 5GHz band preference.
4443 *
4444 * Related: 5g_rssi_boost_factor, 5g_max_rssi_boost
4445 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
4446 *
4447 * Supported Feature: 5G band preference
4448 *
4449 * Usage: External
4450 *
4451 * </ini>
4452 */
4453#define CFG_5G_RSSI_BOOST_THRESHOLD_NAME "5g_rssi_boost_threshold"
4454#define CFG_5G_RSSI_BOOST_THRESHOLD_MIN (-55)
4455#define CFG_5G_RSSI_BOOST_THRESHOLD_MAX (-70)
4456#define CFG_5G_RSSI_BOOST_THRESHOLD_DEFAULT (-60)
4457
4458/*
4459 * <ini>
4460 * 5g_rssi_boost_factor - Factor by which 5GHz RSSI is boosted.
4461 * @Min: 0
4462 * @Max: 2
4463 * @Default: 1
4464 * This ini is used to set the 5Ghz boost factor.
4465 *
4466 * Related: 5g_rssi_boost_threshold, 5g_max_rssi_boost
4467 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
4468 *
4469 * Supported Feature: 5G band preference
4470 *
4471 * Usage: External
4472 *
4473 * </ini>
4474 */
4475#define CFG_5G_RSSI_BOOST_FACTOR_NAME "5g_rssi_boost_factor"
4476#define CFG_5G_RSSI_BOOST_FACTOR_MIN (0)
4477#define CFG_5G_RSSI_BOOST_FACTOR_MAX (2)
4478#define CFG_5G_RSSI_BOOST_FACTOR_DEFAULT (1)
4479
4480/*
4481 * <ini>
4482 * 5g_max_rssi_boost - Maximum boost that can be applied to 5GHz RSSI.
4483 * @Min: 0
4484 * @Max: 20
4485 * @Default: 10
4486 * This ini is used to set maximum boost which can be given to a 5Ghz network.
4487 *
4488 * Related: 5g_rssi_boost_threshold, 5g_rssi_boost_factor
4489 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
4490 *
4491 * Supported Feature: 5G band preference
4492 *
4493 * Usage: External
4494 *
4495 * </ini>
4496 */
4497#define CFG_5G_MAX_RSSI_BOOST_NAME "5g_max_rssi_boost"
4498#define CFG_5G_MAX_RSSI_BOOST_MIN (0)
4499#define CFG_5G_MAX_RSSI_BOOST_MAX (20)
4500#define CFG_5G_MAX_RSSI_BOOST_DEFAULT (10)
4501
4502/*
4503 * <ini>
4504 * 5g_rssi_penalize_threshold - A_band_penalize_threshold above which
4505 * 5 GHz is not favored.
4506 * @Min: -65
4507 * @Max: -80
4508 * @Default: -70
4509 * This ini is used to set threshold for 5GHz band preference.
4510 *
4511 * Related: 5g_rssi_penalize_factor, 5g_max_rssi_penalize
4512 * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
4513 *
4514 * Supported Feature: 5G band preference
4515 *
4516 * Usage: External
4517 *
4518 * </ini>
4519 */
4520#define CFG_5G_RSSI_PENALIZE_THRESHOLD_NAME "5g_rssi_penalize_threshold"
4521#define CFG_5G_RSSI_PENALIZE_THRESHOLD_MIN (-65)
4522#define CFG_5G_RSSI_PENALIZE_THRESHOLD_MAX (-80)
4523#define CFG_5G_RSSI_PENALIZE_THRESHOLD_DEFAULT (-70)
4524
4525/*
4526 * <ini>
4527 * 5g_rssi_penalize_factor - Factor by which 5GHz RSSI is penalizeed.
4528 * @Min: 0
4529 * @Max: 2
4530 * @Default: 1
4531 * This ini is used to set the 5Ghz penalize factor.
4532 *
4533 * Related: 5g_rssi_penalize_threshold, 5g_max_rssi_penalize
4534 * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
4535 *
4536 * Supported Feature: 5G band preference
4537 *
4538 * Usage: External
4539 *
4540 * </ini>
4541 */
4542#define CFG_5G_RSSI_PENALIZE_FACTOR_NAME "5g_rssi_penalize_factor"
4543#define CFG_5G_RSSI_PENALIZE_FACTOR_MIN (0)
4544#define CFG_5G_RSSI_PENALIZE_FACTOR_MAX (2)
4545#define CFG_5G_RSSI_PENALIZE_FACTOR_DEFAULT (1)
4546
4547/*
4548 * <ini>
4549 * 5g_max_rssi_penalize - Maximum penalty that can be applied to 5GHz RSSI.
4550 * @Min: 0
4551 * @Max: 20
4552 * @Default: 10
4553 * This ini is used to set maximum penalty which can be given to a 5Ghz network.
4554 *
4555 * Related: 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor
4556 * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
4557 *
4558 * Supported Feature: 5G band preference
4559 *
4560 * Usage: External
4561 *
4562 * </ini>
4563 */
4564#define CFG_5G_MAX_RSSI_PENALIZE_NAME "5g_max_rssi_penalize"
4565#define CFG_5G_MAX_RSSI_PENALIZE_MIN (0)
4566#define CFG_5G_MAX_RSSI_PENALIZE_MAX (20)
4567#define CFG_5G_MAX_RSSI_PENALIZE_DEFAULT (10)
4568
4569/*
4570 * <ini>
Selvaraj, Sridhar0a71e542017-01-10 10:21:06 +05304571 * gPowerUsage - Preferred Power Usage
4572 * @Min: Min
4573 * @Max: Max
4574 * @Default: Mod
4575 *
4576 * This ini is used to set the preferred power usage
4577 *
4578 * Related: None
4579 *
4580 * Supported Feature: Power Save
4581 *
4582 * Usage: External
4583 *
4584 * </ini>
4585 */
4586#define CFG_POWER_USAGE_NAME "gPowerUsage"
4587#define CFG_POWER_USAGE_MIN "Min"
4588#define CFG_POWER_USAGE_MAX "Max"
4589#define CFG_POWER_USAGE_DEFAULT "Mod"
4590
Selvaraj, Sridhar0641fab2017-05-17 16:02:00 +05304591/*
4592 * <ini>
Selvaraj, Sridhar0a71e542017-01-10 10:21:06 +05304593 * gEnableImps - Enable/Disable IMPS
4594 * @Min: 0
4595 * @Max: 1
4596 * @Default: 1
4597 *
4598 * This ini is used to enable/Disable IMPS(IdleModePowerSave) Mode
4599 *
4600 * Related: None
4601 *
4602 * Supported Feature: Power Save
4603 *
4604 * Usage: External
4605 *
4606 * </ini>
4607 */
4608#define CFG_ENABLE_IMPS_NAME "gEnableImps"
4609#define CFG_ENABLE_IMPS_MIN (0)
4610#define CFG_ENABLE_IMPS_MAX (1)
4611#define CFG_ENABLE_IMPS_DEFAULT (1)
4612
4613/*
4614 * <ini>
4615 * gEnableBmps - Enable/Disable BMPS
4616 * @Min: 0
4617 * @Max: 1
4618 * @Default: 1
4619 *
4620 * This ini is used to enable/Disable BMPS(BeaconModePowerSave) Mode
4621 *
4622 * Related: None
4623 *
4624 * Supported Feature: Power Save
4625 *
4626 * Usage: External
4627 *
4628 * </ini>
4629 */
4630#define CFG_ENABLE_PS_NAME "gEnableBmps"
4631#define CFG_ENABLE_PS_MIN (0)
4632#define CFG_ENABLE_PS_MAX (1)
4633#define CFG_ENABLE_PS_DEFAULT (1)
4634
4635/*
4636 * <ini>
4637 * gAutoBmpsTimerValue - Set Auto BMPS Timer value
4638 * @Min: 0
4639 * @Max: 120
Pragaspathi Thilagaraja19068f2018-10-01 15:44:06 +05304640 * @Default: 90
Selvaraj, Sridhar0a71e542017-01-10 10:21:06 +05304641 *
4642 * This ini is used to set Auto BMPS Timer value in seconds
4643 *
4644 * Related: gEnableBmps
4645 *
4646 * Supported Feature: Power Save
4647 *
4648 * Usage: External
4649 *
4650 * </ini>
4651 */
4652#define CFG_AUTO_PS_ENABLE_TIMER_NAME "gAutoBmpsTimerValue"
4653#define CFG_AUTO_PS_ENABLE_TIMER_MIN (0)
4654#define CFG_AUTO_PS_ENABLE_TIMER_MAX (120)
Pragaspathi Thilagaraja19068f2018-10-01 15:44:06 +05304655#define CFG_AUTO_PS_ENABLE_TIMER_DEFAULT (90)
Selvaraj, Sridhar0a71e542017-01-10 10:21:06 +05304656
Zhu Jianmin04392c42017-05-12 16:34:53 +08004657#ifdef WLAN_ICMP_DISABLE_PS
4658/*
4659 * <ini>
4660 * gIcmpDisablePsValue - Set ICMP packet disable power save value
4661 * @Min: 0
4662 * @Max: 10000
4663 * @Default: 5000
4664 *
4665 * This ini is used to set ICMP packet disable power save value in
4666 * millisecond.
4667 *
4668 * Related: gEnableBmps
4669 *
4670 * Supported Feature: Power Save
4671 *
4672 * Usage: External
4673 *
4674 * </ini>
4675 */
4676#define CFG_ICMP_DISABLE_PS_NAME "gIcmpDisablePsValue"
4677#define CFG_ICMP_DISABLE_PS_MIN (0)
4678#define CFG_ICMP_DISABLE_PS_MAX (10000)
4679#define CFG_ICMP_DISABLE_PS_DEFAULT (5000)
4680#endif
4681
Selvaraj, Sridhar0a71e542017-01-10 10:21:06 +05304682/*
4683 * <ini>
4684 * gBmpsMinListenInterval - Set BMPS Minimum Listen Interval
4685 * @Min: 1
4686 * @Max: 65535
4687 * @Default: 1
4688 *
4689 * This ini is used to set BMPS Minimum Listen Interval. If gPowerUsage
4690 * is set "Min", this INI need to be set.
4691 *
4692 * Related: gEnableBmps, gPowerUsage
4693 *
4694 * Supported Feature: Power Save
4695 *
4696 * Usage: External
4697 *
4698 * </ini>
4699 */
4700#define CFG_BMPS_MINIMUM_LI_NAME "gBmpsMinListenInterval"
4701#define CFG_BMPS_MINIMUM_LI_MIN (1)
4702#define CFG_BMPS_MINIMUM_LI_MAX (65535)
4703#define CFG_BMPS_MINIMUM_LI_DEFAULT (1)
4704
4705/*
4706 * <ini>
Selvaraj, Sridhar0a71e542017-01-10 10:21:06 +05304707 * gBmpsMaxListenInterval - Set BMPS Maximum Listen Interval
4708 * @Min: 1
4709 * @Max: 65535
4710 * @Default: 1
4711 *
4712 * This ini is used to set BMPS Maximum Listen Interval. If gPowerUsage
4713 * is set "Max", this INI need to be set.
4714 *
4715 * Related: gEnableBmps, gPowerUsage
4716 *
4717 * Supported Feature: Power Save
4718 *
4719 * Usage: External
4720 *
4721 * </ini>
4722 */
4723#define CFG_BMPS_MAXIMUM_LI_NAME "gBmpsMaxListenInterval"
4724#define CFG_BMPS_MAXIMUM_LI_MIN (1)
4725#define CFG_BMPS_MAXIMUM_LI_MAX (65535)
4726#define CFG_BMPS_MAXIMUM_LI_DEFAULT (1)
4727
4728#ifdef FEATURE_RUNTIME_PM
4729/*
4730 * <ini>
4731 * gRuntimePM - enable runtime suspend
4732 * @Min: 0
4733 * @Max: 1
4734 * @Default: 0
4735 *
4736 * This ini is used to enable runtime_suspend
4737 *
4738 * Related: None
4739 *
4740 * Supported Feature: Power Save
4741 *
4742 * Usage: External
4743 *
4744 * </ini>
4745 */
4746#define CFG_ENABLE_RUNTIME_PM "gRuntimePM"
4747#define CFG_ENABLE_RUNTIME_PM_MIN (0)
4748#define CFG_ENABLE_RUNTIME_PM_MAX (1)
4749#define CFG_ENABLE_RUNTIME_PM_DEFAULT (0)
Selvaraj, Sridhar0a71e542017-01-10 10:21:06 +05304750#endif
4751
Selvaraj, Sridhar4f684bb2017-01-19 15:59:23 +05304752/*
Dustin Brown13995f02017-01-12 15:38:42 -08004753 * <ini>
Nachiket Kukadee547a482018-05-22 16:43:30 +05304754 * gActiveUcBpfMode - Control UC active APF mode
Dustin Brown13995f02017-01-12 15:38:42 -08004755 * @Min: 0 (disabled)
4756 * @Max: 2 (adaptive)
4757 * @Default: 0 (disabled)
4758 *
Nachiket Kukadee547a482018-05-22 16:43:30 +05304759 * This config item controls UC APF in active mode. There are 3 modes:
4760 * 0) disabled - APF is disabled in active mode
4761 * 1) enabled - APF is enabled for all packets in active mode
4762 * 2) adaptive - APF is enabled for packets up to some throughput threshold
Dustin Brown13995f02017-01-12 15:38:42 -08004763 *
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05304764 * Related: gActiveMcBcBpfMode
Dustin Brown13995f02017-01-12 15:38:42 -08004765 *
Nachiket Kukadee547a482018-05-22 16:43:30 +05304766 * Supported Feature: Active Mode APF
Dustin Brown13995f02017-01-12 15:38:42 -08004767 *
4768 * Usage: Internal/External
4769 * </ini>
4770 */
Nachiket Kukadee547a482018-05-22 16:43:30 +05304771#define CFG_ACTIVE_UC_APF_MODE_NAME "gActiveUcBpfMode"
4772#define CFG_ACTIVE_UC_APF_MODE_MIN (ACTIVE_APF_DISABLED)
4773#define CFG_ACTIVE_UC_APF_MODE_MAX (ACTIVE_APF_MODE_COUNT - 1)
4774#define CFG_ACTIVE_UC_APF_MODE_DEFAULT (ACTIVE_APF_DISABLED)
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05304775
4776/*
4777 * <ini>
Nachiket Kukadee547a482018-05-22 16:43:30 +05304778 * gActiveMcBcBpfMode - Control MC/BC active APF mode
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05304779 * @Min: 0 (disabled)
Ravi Kumar Bokka7a4034e2017-08-17 11:51:32 +05304780 * @Max: 1 (enabled)
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05304781 * @Default: 0 (disabled)
4782 *
Nachiket Kukadee547a482018-05-22 16:43:30 +05304783 * This config item controls MC/BC APF in active mode. There are 3 modes:
4784 * 0) disabled - APF is disabled in active mode
4785 * 1) enabled - APF is enabled for all packets in active mode
4786 * 2) adaptive - APF is enabled for packets up to some throughput threshold
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05304787 *
4788 * Related: gActiveUcBpfMode
4789 *
Nachiket Kukadee547a482018-05-22 16:43:30 +05304790 * Supported Feature: Active Mode APF
Hanumanth Reddy Pothulae87621b2017-04-12 20:53:35 +05304791 *
4792 * Usage: Internal/External
4793 * </ini>
4794 */
Nachiket Kukadee547a482018-05-22 16:43:30 +05304795#define CFG_ACTIVE_MC_BC_APF_MODE_NAME "gActiveMcBcBpfMode"
4796#define CFG_ACTIVE_MC_BC_APF_MODE_MIN (ACTIVE_APF_DISABLED)
4797#define CFG_ACTIVE_MC_BC_APF_MODE_MAX (ACTIVE_APF_ENABLED)
4798#define CFG_ACTIVE_MC_BC_APF_MODE_DEFAULT (ACTIVE_APF_DISABLED)
Dustin Brown13995f02017-01-12 15:38:42 -08004799
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08004800#ifdef WLAN_FEATURE_11AX
4801/* 11AX related INI configuration */
4802/*
4803 * <ini>
Kiran Kumar Lokere4aa08a52017-12-15 19:00:39 -08004804 * he_dynamic_frag_support - configure dynamic fragmentation
4805 * @Min: 0
4806 * @Max: 3
4807 * @Default: 1
4808 *
4809 * This ini is used to configure dynamic fragmentation.
4810 *
4811 * Related: NA
4812 *
4813 * Supported Feature: 11AX
4814 *
4815 * Usage: Internal/External
4816 *
4817 * </ini>
4818 */
4819
4820#define CFG_HE_DYNAMIC_FRAGMENTATION_NAME "he_dynamic_frag_support"
4821#define CFG_HE_DYNAMIC_FRAGMENTATION_MIN (0)
4822#define CFG_HE_DYNAMIC_FRAGMENTATION_MAX (3)
Kiran Kumar Lokerea0c1faa2018-01-05 14:47:06 -08004823#define CFG_HE_DYNAMIC_FRAGMENTATION_DEFAULT (0)
Kiran Kumar Lokere4aa08a52017-12-15 19:00:39 -08004824
4825/*
4826 * <ini>
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08004827 * enable_ul_mimo- Enable UL MIMO.
4828 * @Min: 0
4829 * @Max: 1
4830 * @Default: 0
4831 *
4832 * This ini is used to enable or disable UL MIMO.
4833 *
4834 * Related: NA
4835 *
4836 * Supported Feature: 11AX
4837 *
4838 * Usage: External
4839 *
4840 * </ini>
4841 */
4842
4843#define CFG_ENABLE_UL_MIMO_NAME "enable_ul_mimo"
4844#define CFG_ENABLE_UL_MIMO_MIN (0)
4845#define CFG_ENABLE_UL_MIMO_MAX (1)
4846#define CFG_ENABLE_UL_MIMO_DEFAULT (0)
4847
4848/*
4849 * <ini>
4850 * enable_ul_ofdma- Enable UL OFDMA.
4851 * @Min: 0
4852 * @Max: 1
4853 * @Default: 0
4854 *
4855 * This ini is used to enable or disable UL OFDMA.
4856 *
4857 * Related: NA
4858 *
4859 * Supported Feature: 11AX
4860 *
4861 * Usage: External
4862 *
4863 * </ini>
4864 */
4865#define CFG_ENABLE_UL_OFDMA_NAME "enable_ul_ofdma"
4866#define CFG_ENABLE_UL_OFDMA_MIN (0)
4867#define CFG_ENABLE_UL_OFDMA_MAX (1)
4868#define CFG_ENABLE_UL_OFDMA_DEFAULT (0)
4869
Manikandan Mohan39accff2017-05-02 16:09:00 -07004870/*
4871 * <ini>
4872 * he_sta_obsspd- 11AX HE OBSS PD bit field
4873 * @Min: 0
4874 * @Max: uin32_t max
4875 * @Default: 0x15b8c2ae
4876 *
4877 * 4 Byte value with each byte representing a signed value for following params:
4878 * Param Bit position Default
4879 * OBSS_PD min (primary) 7:0 -82 (0xae)
4880 * OBSS_PD max (primary) 15:8 -62 (0xc2)
4881 * Secondary channel Ed 23:16 -72 (0xb8)
4882 * TX_PWR(ref) 31:24 21 (0x15)
4883 * This bit field value is directly applied to FW
4884 *
4885 * Related: NA
4886 *
4887 * Supported Feature: 11AX
4888 *
4889 * Usage: External
4890 *
4891 * </ini>
4892 */
4893#define CFG_HE_STA_OBSSPD_NAME "he_sta_obsspd"
4894#define CFG_HE_STA_OBSSPD_MIN (0)
4895#define CFG_HE_STA_OBSSPD_MAX (0xffffffff)
4896#define CFG_HE_STA_OBSSPD_DEFAULT (0x15b8c2ae)
4897
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08004898#endif /* WLAN_FEATURE_11AX */
Varun Reddy Yeturud33033f2018-06-11 10:58:30 -07004899#ifdef WLAN_SUPPORT_TWT
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -07004900/*
4901 * <ini>
4902 * enable_twt - Enable Target Wake Time support.
4903 * @Min: 0
4904 * @Max: 1
4905 * @Default: 1
4906 *
4907 * This ini is used to enable or disable TWT support.
4908 *
4909 * Related: NA
4910 *
4911 * Supported Feature: 11AX
4912 *
4913 * Usage: External
4914 *
4915 * </ini>
4916 */
4917#define CFG_ENABLE_TWT_NAME "enable_twt"
4918#define CFG_ENABLE_TWT_MIN (0)
4919#define CFG_ENABLE_TWT_MAX (1)
4920#define CFG_ENABLE_TWT_DEFAULT (1)
4921
4922/*
4923 * <ini>
4924 * twt_congestion_timeout - Target wake time congestion timeout.
Varun Reddy Yeturuadc00902018-07-05 07:55:24 -07004925 * @Min: 0
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -07004926 * @Max: 10000
4927 * @Default: 100
4928 *
4929 * STA uses this timer to continuously monitor channel congestion levels to
4930 * decide whether to start or stop TWT. This ini is used to configure the
4931 * target wake time congestion timeout value in the units of milliseconds.
Varun Reddy Yeturuadc00902018-07-05 07:55:24 -07004932 * A value of Zero indicates that this is a host triggered TWT and all the
4933 * necessary configuration for TWT will be directed from the host.
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -07004934 *
4935 * Related: NA
4936 *
4937 * Supported Feature: 11AX
4938 *
4939 * Usage: External
4940 *
4941 * </ini>
4942 */
4943#define CFG_TWT_CONGESTION_TIMEOUT_NAME "twt_congestion_timeout"
Varun Reddy Yeturuadc00902018-07-05 07:55:24 -07004944#define CFG_TWT_CONGESTION_TIMEOUT_MIN (0)
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -07004945#define CFG_TWT_CONGESTION_TIMEOUT_MAX (10000)
4946#define CFG_TWT_CONGESTION_TIMEOUT_DEFAULT (100)
4947
Varun Reddy Yeturud33033f2018-06-11 10:58:30 -07004948#endif /* WLAN_SUPPORT_TWT */
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08004949
4950/*
Dustin Brown20b6fcf2017-05-17 15:35:17 -07004951 * <ini>
4952 * gScanBackoffMultiplier - For NLO/PNO, multiply fast scan period by this every
4953 * max cycles
4954 * @Min: 0
4955 * @Max: 255
4956 * @Default: 0
4957 *
4958 * For Network Listen Offload and Perfered Network Offload, multiply the fast
4959 * scan period by this value after max cycles have occurred. Setting this to 0
4960 * disables the feature.
4961 *
4962 * @E.g.
4963 * # Disable scan backoff multiplier
4964 * gScanBackoffMultiplier=0
4965 * # Effectively the same
4966 * gScanBackoffMultiplier=1
4967 * # Double the scan period after each max cycles have occurred
4968 * gScanBackoffMultiplier=2
4969 *
4970 * Related: NLO, PNO
4971 *
4972 * Usage: Internal/External
4973 *
4974 * </ini>
4975 */
4976#define CFG_SCAN_BACKOFF_MULTIPLIER_NAME "gScanBackoffMultiplier"
4977#define CFG_SCAN_BACKOFF_MULTIPLIER_MIN (0)
4978#define CFG_SCAN_BACKOFF_MULTIPLIER_MAX (255)
4979#define CFG_SCAN_BACKOFF_MULTIPLIER_DEFAULT (0)
4980
4981/*
Varun Reddy Yeturubba32e92017-09-06 13:31:40 -07004982 * <ini>
4983 * mawc_nlo_enabled - For NLO/PNO, enable MAWC based scan
4984 * @Min: 0
4985 * @Max: 1
4986 * @Default: 1
4987 *
4988 * Enable/Disable the Motion Aided Wireless Connectivity
4989 * based NLO using this parameter
4990 *
4991 * Related: NLO, PNO
4992 *
4993 * Usage: Internal/External
4994 *
4995 * </ini>
4996 */
4997#define CFG_MAWC_NLO_ENABLED_NAME "mawc_nlo_enabled"
4998#define CFG_MAWC_NLO_ENABLED_MIN (0)
4999#define CFG_MAWC_NLO_ENABLED_MAX (1)
5000#define CFG_MAWC_NLO_ENABLED_DEFAULT (1)
5001
5002/*
5003 * <ini>
5004 * mawc_nlo_exp_backoff_ratio - Exponential back off ratio
5005 * @Min: 0
5006 * @Max: 300
5007 * @Default: 3
5008 *
5009 * Configure the exponential back off ratio using this
5010 * parameter for MAWC based NLO
5011 * ratio of exponential backoff, next = current + current*ratio/100
5012 *
5013 * Related: NLO, PNO
5014 *
5015 * Usage: Internal/External
5016 *
5017 * </ini>
5018 */
5019#define CFG_MAWC_NLO_EXP_BACKOFF_RATIO_NAME "mawc_nlo_exp_backoff_ratio"
5020#define CFG_MAWC_NLO_EXP_BACKOFF_RATIO_MIN (0)
5021#define CFG_MAWC_NLO_EXP_BACKOFF_RATIO_MAX (300)
5022#define CFG_MAWC_NLO_EXP_BACKOFF_RATIO_DEFAULT (3)
5023
5024/*
5025 * <ini>
5026 * mawc_nlo_init_scan_interval - Initial Scan Interval
5027 * @Min: 1000
5028 * @Max: 0xFFFFFFFF
5029 * @Default: 10000
5030 *
5031 * Configure the initial scan interval using this
5032 * parameter for MAWC based NLO (Units in Milliseconds)
5033 *
5034 * Related: NLO, PNO
5035 *
5036 * Usage: Internal/External
5037 *
5038 * </ini>
5039 */
5040#define CFG_MAWC_NLO_INIT_SCAN_INTERVAL_NAME "mawc_nlo_init_scan_interval"
5041#define CFG_MAWC_NLO_INIT_SCAN_INTERVAL_MIN (1000)
5042#define CFG_MAWC_NLO_INIT_SCAN_INTERVAL_MAX (0xFFFFFFFF)
5043#define CFG_MAWC_NLO_INIT_SCAN_INTERVAL_DEFAULT (10000)
5044
5045/*
5046 * <ini>
5047 * mawc_nlo_max_scan_interval - Maximum Scan Interval
5048 * @Min: 1000
5049 * @Max: 0xFFFFFFFF
5050 * @Default: 60000
5051 *
5052 * Configure the maximum scan interval using this
5053 * parameter for MAWC based NLO (Units in Milliseconds)
5054 *
5055 * Related: NLO, PNO
5056 *
5057 * Usage: Internal/External
5058 *
5059 * </ini>
5060 */
5061#define CFG_MAWC_NLO_MAX_SCAN_INTERVAL_NAME "mawc_nlo_max_scan_interval"
5062#define CFG_MAWC_NLO_MAX_SCAN_INTERVAL_MIN (1000)
5063#define CFG_MAWC_NLO_MAX_SCAN_INTERVAL_MAX (0xFFFFFFFF)
5064#define CFG_MAWC_NLO_MAX_SCAN_INTERVAL_DEFAULT (60000)
5065
Jayachandran Sreekumaran68c952c2017-04-24 12:42:03 +05305066/*
Manjunathappa Prakashdab74fa2017-06-19 12:11:03 -07005067 * <ini>
Ashish Kumar Dhanotiyab8630ab2017-07-21 14:18:14 +05305068 * gEnableLPRx - Enable/Disable LPRx
5069 * @Min: 0
5070 * @Max: 1
5071 * @Default: 1
5072 *
5073 * This ini Enables or disables the LPRx in FW
5074 *
5075 * Usage: External
5076 *
5077 * </ini>
5078 */
5079
5080#define CFG_LPRx_NAME "gEnableLPRx"
5081#define CFG_LPRx_MIN (0)
5082#define CFG_LPRx_MAX (1)
5083#define CFG_LPRx_DEFAULT (1)
5084
5085/*
Ashish Kumar Dhanotiyab28338c2017-07-21 20:12:34 +05305086 * <ini>
Amar Singhale4a2dd52017-08-07 13:59:05 -07005087 * scan_11d_interval - 11d scan interval in ms
5088 * @Min: 1 sec
5089 * @Max: 10 hr
5090 * @Default: 1 hr
5091 *
5092 * This ini sets the 11d scan interval in FW
5093 *
5094 *
5095 *
5096 * Supported Feature: STA
5097 *
5098 * Usage: External
5099 *
5100 * </ini>
5101 */
5102
5103#define CFG_SCAN_11D_INTERVAL_NAME "scan_11d_interval"
5104#define CFG_SCAN_11D_INTERVAL_DEFAULT (3600000)
5105#define CFG_SCAN_11D_INTERVAL_MIN (1000)
5106#define CFG_SCAN_11D_INTERVAL_MAX (36000000)
Abhishek Singhb58164a2017-07-19 18:47:23 +05305107/*
5108 * <ini>
5109 * is_bssid_hint_priority - Set priority for connection with bssid_hint
5110 * BSSID.
5111 * @Min: 0
5112 * @Max: 1
5113 * @Default: 1
5114 *
5115 * This ini is used to give priority to BSS for connection which comes
5116 * as part of bssid_hint
5117 *
5118 * Related: None
5119 *
5120 * Supported Feature: STA
5121 *
5122 * Usage: External
5123 *
5124 * </ini>
5125 */
5126
5127#define CFG_IS_BSSID_HINT_PRIORITY_NAME "is_bssid_hint_priority"
gaurank kathpalia0efbb562017-12-19 18:05:00 +05305128#define CFG_IS_BSSID_HINT_PRIORITY_DEFAULT (0)
Abhishek Singhb58164a2017-07-19 18:47:23 +05305129#define CFG_IS_BSSID_HINT_PRIORITY_MIN (0)
5130#define CFG_IS_BSSID_HINT_PRIORITY_MAX (1)
Amar Singhale4a2dd52017-08-07 13:59:05 -07005131
5132/*
Padma, Santhosh Kumar3e47c632017-09-01 20:15:27 +05305133 * <ini>
5134 * sae_enabled - Enable/Disable SAE support in driver
5135 * @Min: 0
5136 * @Max: 1
5137 * @Default: 0
5138 *
5139 * This ini is used to enable/disable SAE support in driver
5140 * Driver will update config to supplicant based on this config.
5141 *
5142 * Related: None
5143 *
5144 * Supported Feature: SAE
5145 * Usage: External
5146 *
5147 * </ini>
5148 */
5149
5150#define CFG_IS_SAE_ENABLED_NAME "sae_enabled"
Padma, Santhosh Kumara5eaeb82018-04-09 18:45:26 +05305151#define CFG_IS_SAE_ENABLED_DEFAULT (1)
Padma, Santhosh Kumar3e47c632017-09-01 20:15:27 +05305152#define CFG_IS_SAE_ENABLED_MIN (0)
5153#define CFG_IS_SAE_ENABLED_MAX (1)
5154
Qiwei Cai4505fc62018-05-17 18:35:19 +08005155#ifdef WLAN_FEATURE_PACKET_FILTERING
Ashwini Patilf2bf05e2017-03-10 03:41:03 +05305156/*
Hanumanth Reddy Pothula3def8942017-10-05 16:19:36 +05305157 * <ini>
5158 * g_enable_packet_filter_bitmap - Enable Packet filters before going into
5159 * suspend mode
5160 * @Min: 0
5161 * @Max: 63
5162 * @Default: 0
5163 * Below is the Detailed bit map of the Filters
5164 * bit-0 : IPv6 multicast
5165 * bit-1 : IPv4 multicast
5166 * bit-2 : IPv4 broadcast
5167 * bit-3 : XID - Exchange station Identification packet, solicits the
5168 * identification of the receiving station
5169 * bit-4 : STP - Spanning Tree Protocol, builds logical loop free topology
5170 * bit-5 : DTP/LLC/CDP
5171 * DTP - Dynamic Trunking Protocol is used by Ciscoswitches to negotiate
5172 * whether an interconnection between two switches should be put into access or
5173 * trunk mode
5174 * LLC - Logical link control, used for multiplexing, flow & error control
5175 * CDP - Cisco Discovery Protocol packet contains information about the cisco
5176 * devices in the network
5177 *
5178 * This ini support to enable above mentioned packet filters
5179 * when target goes to suspend mode, clear those when resume
5180 *
5181 * Related: None
5182 *
5183 * Supported Feature: PACKET FILTERING
5184 *
5185 * Usage: Internal/External
5186 *
5187 * </ini>
5188 */
5189#define CFG_ENABLE_PACKET_FILTERS_NAME "g_enable_packet_filter_bitmap"
5190#define CFG_ENABLE_PACKET_FILTERS_DEFAULT (0)
5191#define CFG_ENABLE_PACKET_FILTERS_MIN (0)
5192#define CFG_ENABLE_PACKET_FILTERS_MAX (63)
Qiwei Cai4505fc62018-05-17 18:35:19 +08005193#endif /* WLAN_FEATURE_PACKET_FILTERING */
lifeng1c16b6b2017-09-25 13:59:55 +08005194
5195/*
5196 * <ini>
5197 * gDfsBeaconTxEnhanced - beacon tx enhanced
5198 * @Min: 0
5199 * @Max: 1
5200 * @Default: 0
5201 *
5202 * This ini is used to enhance dfs beacon tx
5203 *
5204 * Related: none
5205 *
5206 * Usage: External
5207 *
5208 * </ini>
5209 */
5210#define CFG_DFS_BEACON_TX_ENHANCED "gDfsBeaconTxEnhanced"
5211#define CFG_DFS_BEACON_TX_ENHANCED_MIN (0)
5212#define CFG_DFS_BEACON_TX_ENHANCED_MAX (1)
5213#define CFG_DFS_BEACON_TX_ENHANCED_DEFAULT (0)
5214
Hanumanth Reddy Pothula3def8942017-10-05 16:19:36 +05305215/*
Naveen Rawat269b4ed2017-12-07 06:47:32 -08005216 * <ini>
yeshwanth sriram guntuka41f936c2017-09-01 17:53:49 +05305217 * btm_offload_config - Configure BTM
5218 * @Min: 0x00000000
5219 * @Max: 0xFFFFFFFF
5220 * @Default: 0x00000000
5221 *
5222 * This ini is used to configure BTM
5223 *
5224 * Bit 0: Enable/Disable the BTM offload. Set this to 1 will
5225 * enable and 0 will disable BTM offload.
5226 *
5227 * BIT 2, 1: Action on non matching candidate with cache. If a BTM request
5228 * is received from AP then the candidate AP's may/may-not be present in
5229 * the firmware scan cache . Based on below config firmware will decide
5230 * whether to forward BTM frame to host or consume with firmware and proceed
5231 * with Roaming to candidate AP.
5232 * 00 scan and consume
5233 * 01 no scan and forward to host
5234 * 10, 11 reserved
5235 *
5236 * BIT 5, 4, 3: Roaming handoff decisions on multiple candidates match
5237 * 000 match if exact BSSIDs are found
5238 * 001 match if at least one top priority BSSID only
5239 * 010, 011, 100, 101, 110, 111 reserved
5240 *
Jiachao Wu84bb2ea2018-01-08 16:17:33 +08005241 * BIT 6: Set this to 1 will send BTM query frame and 0 not sent.
5242 *
5243 * BIT 7-31: Reserved
yeshwanth sriram guntuka41f936c2017-09-01 17:53:49 +05305244 *
5245 * Supported Feature: STA
5246 *
5247 * Usage: External
5248 *
5249 * </ini>
5250 */
5251#define CFG_BTM_ENABLE_NAME "btm_offload_config"
5252#define CFG_BTM_ENABLE_MIN (0x00000000)
5253#define CFG_BTM_ENABLE_MAX (0xffffffff)
Vignesh Viswanathan6177c7e2018-07-25 11:14:02 +05305254#define CFG_BTM_ENABLE_DEFAULT (0x00000001)
Jiachao Wu84bb2ea2018-01-08 16:17:33 +08005255
5256/*
5257 * <ini>
5258 * btm_solicited_timeout - timeout value for waiting BTM request
5259 * @Min: 1
5260 * @Max: 10000
5261 * @Default: 100
5262 *
5263 * This ini is used to configure timeout value for waiting BTM request.
5264 * Unit: millionsecond
5265 *
5266 * Supported Feature: STA
5267 *
5268 * Usage: External
5269 *
5270 * </ini>
5271 */
5272#define CFG_BTM_SOLICITED_TIMEOUT "btm_solicited_timeout"
5273#define CFG_BTM_SOLICITED_TIMEOUT_MIN (1)
5274#define CFG_BTM_SOLICITED_TIMEOUT_MAX (10000)
5275#define CFG_BTM_SOLICITED_TIMEOUT_DEFAULT (100)
5276
5277/*
5278 * <ini>
5279 * btm_max_attempt_cnt - Maximum attempt for sending BTM query to ESS
5280 * @Min: 1
5281 * @Max: 0xFFFFFFFF
5282 * @Default: 3
5283 *
5284 * This ini is used to configure maximum attempt for sending BTM query to ESS.
5285 *
5286 * Supported Feature: STA
5287 *
5288 * Usage: External
5289 *
5290 * </ini>
5291 */
5292#define CFG_BTM_MAX_ATTEMPT_CNT "btm_max_attempt_cnt"
5293#define CFG_BTM_MAX_ATTEMPT_CNT_MIN (0x00000001)
5294#define CFG_BTM_MAX_ATTEMPT_CNT_MAX (0xFFFFFFFF)
5295#define CFG_BTM_MAX_ATTEMPT_CNT_DEFAULT (0x00000003)
5296
5297/*
5298 * <ini>
wadesongcc2e2162018-11-12 14:42:11 +08005299 * btm_sticky_time - Stick time after roaming to new AP by BTM
Jiachao Wu4f9820f2018-02-01 19:51:34 +08005300 * @Min: 0
Jiachao Wu84bb2ea2018-01-08 16:17:33 +08005301 * @Max: 0x0000FFFF
5302 * @Default: 300
5303 *
5304 * This ini is used to configure Stick time after roaming to new AP by BTM.
5305 * Unit: seconds
5306 *
5307 * Supported Feature: STA
5308 *
5309 * Usage: External
5310 *
5311 * </ini>
5312 */
5313#define CFG_BTM_STICKY_TIME "btm_sticky_time"
Jiachao Wu4f9820f2018-02-01 19:51:34 +08005314#define CFG_BTM_STICKY_TIME_MIN (0x00000000)
Jiachao Wu84bb2ea2018-01-08 16:17:33 +08005315#define CFG_BTM_STICKY_TIME_MAX (0x0000FFFF)
5316#define CFG_BTM_STICKY_TIME_DEFAULT (300)
yeshwanth sriram guntuka41f936c2017-09-01 17:53:49 +05305317
5318/*
Ashish Kumar Dhanotiyacb14b112018-01-19 19:26:44 +05305319 * <ini>
5320 * gcmp_enabled - ini to enable/disable GCMP
5321 * @Min: 0
5322 * @Max: 1
5323 * @Default: 0
5324 *
5325 * Currently Firmware update the sequence number for each TID with 2^3
5326 * because of security issues. But with this PN mechanism, throughput drop
5327 * is observed. With this ini FW takes the decision to trade off between
5328 * security and throughput
5329 *
5330 * Supported Feature: STA/SAP/P2P
5331 *
5332 * Usage: External
5333 *
5334 * </ini>
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08005335 */
Ashish Kumar Dhanotiya9335d812017-06-30 16:57:20 +05305336
Ashish Kumar Dhanotiyacb14b112018-01-19 19:26:44 +05305337#define CFG_ENABLE_GCMP_NAME "gcmp_enabled"
5338#define CFG_ENABLE_GCMP_MIN (0)
5339#define CFG_ENABLE_GCMP_MAX (1)
Padma, Santhosh Kumara5eaeb82018-04-09 18:45:26 +05305340#define CFG_ENABLE_GCMP_DEFAULT (1)
Ashish Kumar Dhanotiyacb14b112018-01-19 19:26:44 +05305341
5342/*
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05305343 * <ini>
5344 * 11k_offload_enable_bitmask - Bitmask to enable 11k offload to FW
5345 * @Min: 0
5346 * @Max: 1
5347 * @Default: 1
5348 *
5349 * This ini is used to set which of the 11k features is offloaded to FW
5350 * Currently Neighbor Report Request is supported for offload and is enabled
5351 * by default
5352 * B0: Offload 11k neighbor report requests
5353 * B1-B31: Reserved
5354 *
5355 * Related : None
5356 *
5357 * Usage: External
5358 *
5359 * </ini>
5360 */
5361
5362#define CFG_OFFLOAD_11K_ENABLE_BITMASK_NAME "11k_offload_enable_bitmask"
5363#define CFG_OFFLOAD_11K_ENABLE_BITMASK_MIN (0)
5364#define CFG_OFFLOAD_11K_ENABLE_BITMASK_MAX (1)
5365#define CFG_OFFLOAD_11K_ENABLE_BITMASK_DEFAULT (1)
5366
5367#define OFFLOAD_11K_BITMASK_NEIGHBOR_REPORT_REQUEST 0x1
5368/*
5369 * <ini>
5370 * nr_offload_params_bitmask - bitmask to specify which of the
5371 * neighbor report offload params are valid in the ini
5372 * frame
5373 * @Min: 0
5374 * @Max: 63
5375 * @Default: 63
5376 *
5377 * This ini specifies which of the neighbor report offload params are valid
5378 * and should be considered by the FW. The bitmask is as follows
5379 * B0: nr_offload_time_offset
5380 * B1: nr_offload_low_rssi_offset
5381 * B2: nr_offload_bmiss_count_trigger
5382 * B3: nr_offload_per_threshold_offset
5383 * B4: nr_offload_cache_timeout
5384 * B5: nr_offload_max_req_cap
5385 * B6-B7: Reserved
5386 *
5387 * Related : 11k_offload_enable_bitmask
5388 *
5389 * Usage: External
5390 *
5391 * </ini>
5392 */
5393
5394#define CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_NAME \
5395 "nr_offload_params_bitmask"
5396#define CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_MIN (0)
5397#define CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_MAX (63)
5398#define CFG_OFFLOAD_NEIGHBOR_REPORT_PARAMS_BITMASK_DEFAULT (63)
5399
5400/*
5401 * <ini>
5402 * nr_offload_time_offset - time interval in seconds after the
5403 * neighbor report offload command to send the first neighbor report request
5404 * frame
Vignesh Viswanathan0fcb4d32018-02-13 14:29:46 +05305405 * @Min: 0
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05305406 * @Max: 3600
5407 * @Default: 30
5408 *
5409 * Related : nr_offload_params_bitmask
5410 *
5411 * Usage: External
5412 *
5413 * </ini>
5414 */
5415#define CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_NAME \
5416 "nr_offload_time_offset"
5417#define CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_MIN (0)
5418#define CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_MAX (3600)
5419#define CFG_OFFLOAD_NEIGHBOR_REPORT_TIME_OFFSET_DEFAULT (30)
5420
5421/*
5422 * <ini>
5423 * nr_offload_low_rssi_offset - offset from the roam RSSI threshold
5424 * to trigger the neighbor report request frame (in dBm)
5425 * @Min: 4
5426 * @Max: 10
5427 * @Default: 4
5428 *
5429 * Related : nr_offload_params_bitmask
5430 *
5431 * Usage: External
5432 *
5433 * </ini>
5434 */
5435#define CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_NAME \
5436 "nr_offload_low_rssi_offset"
5437#define CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_MIN (4)
5438#define CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_MAX (10)
5439#define CFG_OFFLOAD_NEIGHBOR_REPORT_LOW_RSSI_OFFSET_DEFAULT (4)
5440
5441/*
5442 * <ini>
5443 * nr_offload_bmiss_count_trigger - Number of beacon miss events to
5444 * trigger a neighbor report request frame
5445 * @Min: 1
5446 * @Max: 5
5447 * @Default: 1
5448 *
5449 * Related : nr_offload_params_bitmask
5450 *
5451 * Usage: External
5452 *
5453 * </ini>
5454 */
5455#define CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_NAME \
5456 "nr_offload_bmiss_count_trigger"
5457#define CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_MIN (1)
5458#define CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_MAX (5)
5459#define CFG_OFFLOAD_NEIGHBOR_REPORT_BMISS_COUNT_TRIGGER_DEFAULT (1)
5460
5461/*
5462 * <ini>
5463 * nr_offload_per_threshold_offset - offset from PER threshold to
5464 * trigger a neighbor report request frame (in %)
5465 * @Min: 5
5466 * @Max: 20
5467 * @Default: 5
5468 *
5469 * This ini is used to set the neighbor report offload parameter:
5470 *
5471 * Related : nr_offload_params_bitmask
5472 *
5473 * Usage: External
5474 *
5475 * </ini>
5476 */
5477#define CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_NAME \
5478 "nr_offload_per_threshold_offset"
5479#define CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_MIN (5)
5480#define CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_MAX (20)
5481#define CFG_OFFLOAD_NEIGHBOR_REPORT_PER_THRESHOLD_OFFSET_DEFAULT (5)
5482
5483/*
5484 * <ini>
5485 * nr_offload_cache_timeout - time in seconds after which the
5486 * neighbor report cache is marked as timed out and any of the triggers would
5487 * cause a neighbor report request frame to be sent.
Vignesh Viswanathan0fcb4d32018-02-13 14:29:46 +05305488 * @Min: 5
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05305489 * @Max: 86400
5490 * @Default: 1200
5491 *
5492 * Related : nr_offload_params_bitmask
5493 *
5494 * Usage: External
5495 *
5496 * </ini>
5497 */
5498#define CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_NAME \
5499 "nr_offload_cache_timeout"
Vignesh Viswanathan0fcb4d32018-02-13 14:29:46 +05305500#define CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_MIN (5)
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05305501#define CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_MAX (86400)
5502#define CFG_OFFLOAD_NEIGHBOR_REPORT_CACHE_TIMEOUT_DEFAULT (1200)
5503
5504/*
5505 * <ini>
5506 * nr_offload_max_req_cap - Max number of neighbor
5507 * report requests that can be sent to a connected peer in the current session.
5508 * This counter is reset once a successful roam happens or at cache timeout
5509 * @Min: 3
Vignesh Viswanathan0fcb4d32018-02-13 14:29:46 +05305510 * @Max: 300
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05305511 * @Default: 3
5512 *
5513 * Related : nr_offload_params_bitmask
5514 *
5515 * Usage: External
5516 *
5517 * </ini>
5518 */
5519#define CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_NAME \
5520 "nr_offload_max_req_cap"
5521#define CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_MIN (3)
5522#define CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_MAX (300)
5523#define CFG_OFFLOAD_NEIGHBOR_REPORT_MAX_REQ_CAP_DEFAULT (3)
5524
5525/*
Surabhi Vishnoi7f085d22018-01-30 12:11:14 +05305526 * <ini>
5527 * wmi_wq_watchdog - Sets timeout period for wmi watchdog bite
5528 * @Min: 0
5529 * @Max: 30
5530 * @Default: 20
5531 *
5532 * This ini is used to set timeout period for wmi watchdog bite. If it is
5533 * 0 then wmi watchdog bite is disabled.
5534 *
5535 * Related: None
5536 *
5537 * Supported Feature: STA
5538 *
5539 * Usage: External
5540 *
5541 * </ini>
5542 */
5543#define CFG_WMI_WQ_WATCHDOG "wmi_wq_watchdog"
5544#define CFG_WMI_WQ_WATCHDOG_MIN (0)
5545#define CFG_WMI_WQ_WATCHDOG_MAX (30) /* 30s */
5546#define CFG_WMI_WQ_WATCHDOG_DEFAULT (20) /* 20s */
Ashish Kumar Dhanotiya191d1642018-02-08 17:43:09 +05305547
5548/*
5549 * <ini>
5550 * gEnableDTIMSelectionDiversity - Enable/Disable chain
5551 * selection optimization for one chain dtim
5552 * @Min: 0
5553 * @Max: 30
5554 * @Default: 5
5555 *
5556 * Usage: External
5557 *
5558 * </ini>
5559 */
5560#define CFG_DTIM_SELECTION_DIVERSITY_NAME "gEnableDTIMSelectionDiversity"
5561#define CFG_DTIM_SELECTION_DIVERSITY_MIN (0)
5562#define CFG_DTIM_SELECTION_DIVERSITY_MAX (30)
5563#define CFG_DTIM_SELECTION_DIVERSITY_DEFAULT (5)
5564
Surabhi Vishnoi7f085d22018-01-30 12:11:14 +05305565/*
Yeshwanth Sriram Guntukadb7995d2018-01-22 16:46:59 +05305566 * <ini>
Ashish Kumar Dhanotiya48dac7d2018-03-28 14:59:50 +05305567 * gTxSchDelay - Enable/Disable Tx sch delay
5568 * @Min: 0
Ashish Kumar Dhanotiya04f09dd2018-04-02 16:25:16 +05305569 * @Max: 5
Ashish Kumar Dhanotiya214e1422018-04-19 12:44:43 +05305570 * @Default: 0
Ashish Kumar Dhanotiya48dac7d2018-03-28 14:59:50 +05305571 *
5572 * Usage: Internal/External
5573 *
5574 * </ini>
5575 */
5576
5577#define CFG_TX_SCH_DELAY_NAME "gTxSchDelay"
5578#define CFG_TX_SCH_DELAY_MIN (0)
Ashish Kumar Dhanotiya04f09dd2018-04-02 16:25:16 +05305579#define CFG_TX_SCH_DELAY_MAX (5)
Ashish Kumar Dhanotiya214e1422018-04-19 12:44:43 +05305580#define CFG_TX_SCH_DELAY_DEFAULT (0)
Ashish Kumar Dhanotiya48dac7d2018-03-28 14:59:50 +05305581
5582/*
Rajeev Kumar Sirasanagandla4725ae42018-05-24 22:33:34 +05305583 * Start of action oui inis
5584 *
5585 * To enable action oui feature, set gEnableActionOUI
5586 *
5587 * Each action oui is expected in the following format:
5588 * <Extension 1> <Extension 2> ..... <Extension 10> (maximum 10)
5589 *
5590 * whereas, each Extension is separated by space and have the following format:
5591 * <Token1> <Token2> <Token3> <Token4> <Token5> <Token6> <Token7> <Token8>
5592 * where each Token is a string of hexa-decimal digits and
5593 * following are the details about each token
5594 *
5595 * Token1 = OUI
5596 * Token2 = Data_Length
5597 * Token3 = Data
5598 * Token4 = Data_Mask
5599 * Token5 = Info_Presence_Bit
5600 * Token6 = MAC_Address
5601 * Token7 = Mac_Address Mask
5602 * Token8 = Capability
5603 *
5604 * <OUI> is mandatory and it can be either 3 or 5 bytes means 6 or 10
5605 * hexa-decimal characters
Vignesh Viswanathanc6812822018-08-14 12:47:33 +05305606 * If the OUI and Data checks needs to be ignored, the oui FFFFFF
5607 * needs to be provided as OUI and bit 0 of Info_Presence_Bit should
5608 * be set to 0.
Rajeev Kumar Sirasanagandla4725ae42018-05-24 22:33:34 +05305609 *
5610 * <Data_Length> is mandatory field and should give length of
5611 * the <Data> if present else zero
5612 *
5613 * Presence of <Data> is controlled by <Data_Length>, if <Data_Length> is 0,
5614 * then <Data> is not expected else Data of the size Data Length bytes are
5615 * expected which means the length of Data string is 2 * Data Length,
5616 * since every byte constitutes two hexa-decimal characters.
5617 *
5618 * <Data_Mask> is mandatory if <Data> is present and length of the
5619 * Data mask string depends on the <Data Length>
5620 * If <Data Length> is 06, then length of Data Mask string is
5621 * 2 characters (represents 1 byte)
5622 * data_mask_length = ((Data_Length - (Data_Length % 8)) / 8) +
5623 * ((Data_Length % 8) ? 1 : 0)
5624 * and <Data_Mask> has to be constructed from left to right.
5625 *
5626 * Presence of <Mac_Address> and <Capability> is
5627 * controlled by <Info_Presence_Bit> which is mandatory
5628 * <Info_Presence_Bit> will give the information for
Vignesh Viswanathanc6812822018-08-14 12:47:33 +05305629 * OUI – bit 0 Should be set to 1
5630 * Setting to 0 will ignore OUI and data check
Rajeev Kumar Sirasanagandla4725ae42018-05-24 22:33:34 +05305631 * Mac Address present – bit 1
5632 * NSS – bit 2
5633 * HT check – bit 3
5634 * VHT check – bit 4
5635 * Band info – bit 5
5636 * reserved – bit 6 (should always be zero)
5637 * reserved – bit 7 (should always be zero)
5638 * and should be constructed from right to left (b7b6b5b4b3b2b1b0)
5639 *
5640 * <Mac_Address_Mask> for <Mac_Address> should be constructed from left to right
5641 *
5642 * <Capability> is 1 byte long and it contains the below info
5643 * NSS – 4 bits starting from LSB (b0 – b3)
5644 * HT enabled – bit 4
5645 * VHT enabled – bit 5
5646 * 2G band – bit 6
5647 * 5G band – bit 7
5648 * and should be constructed from right to left (b7b6b5b4b3b2b1b0)
5649 * <Capability> is present if atleast one of the bit is set
5650 * from b2 - b6 in <Info_Presence_Bit>
5651 *
5652 * Example 1:
5653 *
5654 * OUI is 00-10-18, data length is 05 (hex form), data is 02-11-04-5C-DE and
5655 * need to consider first 3 bytes and last byte of data for comparision
5656 * mac-addr EE-1A-59-FE-FD-AF is present and first 3 bytes and last byte of
5657 * mac address should be considered for comparision
5658 * capability is not present
5659 * then action OUI for gActionOUIITOExtension is as follows:
5660 *
5661 * gActionOUIITOExtension=001018 05 0211045CDE E8 03 EE1A59FEFDAF E4
5662 *
5663 * data mask calculation in above example:
5664 * Data[0] = 02 ---- d0 = 1
5665 * Data[1] = 11 ---- d1 = 1
5666 * Data[2] = 04 ---- d2 = 1
5667 * Data[3] = 5C ---- d3 = 0
5668 * Data[4] = DE ---- d4 = 1
5669 * data_mask = d0d1d2d3d4 + append with zeros to complete 8-bit = 11101000 = E8
5670 *
5671 * mac mask calculation in above example:
5672 * mac_addr[0] = EE ---- m0 = 1
5673 * mac_addr[1] = 1A ---- m1 = 1
5674 * mac_addr[2] = 59 ---- m2 = 1
5675 * mac_addr[3] = FE ---- m3 = 0
5676 * mac_addr[4] = FD ---- m4 = 0
5677 * mac_addr[5] = AF ---- m5 = 1
5678 * mac_mask = m0m1m2m3m4m5 + append with zeros to complete 8-bit = 11100100 = E4
5679 *
5680 * Example 2:
5681 *
5682 * OUI is 00-10-18, data length is 00 and no Mac Address and capability
5683 *
5684 * gActionOUIITOExtension=001018 00 01
5685 *
5686 */
5687
5688/*
5689 * <ini>
5690 * gEnableActionOUI - Enable/Disable action oui feature
5691 * @Min: 0 (disable)
5692 * @Max: 1 (enable)
5693 * @Default: 1 (enable)
5694 *
5695 * This ini is used to enable the action oui feature to control
5696 * mode of connection, connected AP's in-activity time, Tx rate etc.,
5697 *
5698 * Related: If gEnableActionOUI is set, then at least one of the following inis
5699 * must be set with the proper action oui extensions:
5700 * gActionOUIConnect1x1, gActionOUIITOExtension, gActionOUICCKM1X1
5701 *
5702 * Supported Feature: action ouis
5703 *
5704 * Usage: External
5705 *
5706 * </ini>
5707 */
5708#define CFG_ENABLE_ACTION_OUI "gEnableActionOUI"
5709#define CFG_ENABLE_ACTION_OUI_MIN (0)
5710#define CFG_ENABLE_ACTION_OUI_MAX (1)
5711#define CFG_ENABLE_ACTION_OUI_DEFAULT (1)
5712
5713/*
5714 * <ini>
5715 * gActionOUIConnect1x1 - Used to specify action OUIs for 1x1 connection
5716 * @Default: 000C43 00 25 42 001018 06 02FFF02C0000 BC 25 42 001018 06 02FF040C0000 BC 25 42 00037F 00 35 6C
5717 * Note: User should strictly add new action OUIs at the end of this
5718 * default value.
5719 *
5720 * Default OUIs: (All values in Hex)
5721 * OUI 1 : 000C43
5722 * OUI data Len : 00
5723 * Info Mask : 25 - Check for NSS and Band
5724 * Capabilities: 42 - NSS == 2 && Band == 2G
5725 * OUI 2 : 001018
5726 * OUI data Len : 06
5727 * OUI Data : 02FFF02C0000
5728 * OUI data Mask: BC - 10111100
5729 * Info Mask : 25 - Check for NSS and Band
5730 * Capabilities: 42 - NSS == 2 && Band == 2G
5731 * OUI 3 : 001018
5732 * OUI data Len : 06
5733 * OUI Data : 02FF040C0000
5734 * OUI data Mask: BC - 10111100
5735 * Info Mask : 25 - Check for NSS and Band
5736 * Capabilities: 42 - NSS == 2 && Band == 2G
5737 * OUI 4 : 00037F
5738 * OUI data Len : 00
5739 * Info Mask : 35 - Check for NSS, VHT Caps and Band
5740 * Capabilities: 6C - (NSS == 3 or 4) && VHT Caps Preset && Band == 2G
5741 *
5742 * This ini is used to specify the AP OUIs with which only 1x1 connection
5743 * is allowed.
5744 *
5745 * Related: None
5746 *
5747 * Supported Feature: Action OUIs
5748 *
5749 * Usage: External
5750 *
5751 * </ini>
5752 */
5753#define CFG_ACTION_OUI_CONNECT_1X1_NAME "gActionOUIConnect1x1"
5754#define CFG_ACTION_OUI_CONNECT_1X1_DEFAULT "000C43 00 25 42 001018 06 02FFF02C0000 BC 25 42 001018 06 02FF040C0000 BC 25 42 00037F 00 35 6C"
5755
5756/*
5757 * <ini>
5758 * gActionOUIITOExtension - Used to extend in-activity time for specified APs
5759 * @Default: 00037F 06 01010000FF7F FC 01 000AEB 02 0100 C0 01 000B86 03 010408 E0 01
5760 * Note: User should strictly add new action OUIs at the end of this
5761 * default value.
5762 *
5763 * Default OUIs: (All values in Hex)
5764 * OUI 1: 00037F
5765 * OUI data Len: 06
5766 * OUI Data: 01010000FF7F
5767 * OUI data Mask: FC - 11111100
5768 * Info Mask : 01 - only OUI present in Info mask
5769 *
5770 * OUI 2: 000AEB
5771 * OUI data Len: 02
5772 * OUI Data: 0100
5773 * OUI data Mask: C0 - 11000000
5774 * Info Mask : 01 - only OUI present in Info mask
5775 *
5776 * OUI 3: 000B86
5777 * OUI data Len: 03
5778 * OUI Data: 010408
5779 * OUI data Mask: E0 - 11100000
5780 * Info Mask : 01 - only OUI present in Info mask
5781 *
5782 * This ini is used to specify AP OUIs using which station's in-activity time
5783 * can be extended with the respective APs
5784 *
5785 * Related: None
5786 *
5787 * Supported Feature: Action OUIs
5788 *
5789 * Usage: External
5790 *
5791 * </ini>
5792 */
5793#define CFG_ACTION_OUI_ITO_EXTENSION_NAME "gActionOUIITOExtension"
5794#define CFG_ACTION_OUI_ITO_EXTENSION_DEFAULT "00037F 06 01010000FF7F FC 01 000AEB 02 0100 C0 01 000B86 03 010408 E0 01"
5795
5796/*
5797 * <ini>
5798 * gActionOUICCKM1X1 - Used to specify action OUIs to control station's TX rates
5799 *
5800 * This ini is used to specify AP OUIs for which station's CCKM TX rates
5801 * should be 1x1 only.
5802 *
5803 * Related: None
5804 *
5805 * Supported Feature: Action OUIs
5806 *
5807 * Usage: External
5808 *
5809 * </ini>
5810 */
5811#define CFG_ACTION_OUI_CCKM_1X1_NAME "gActionOUICCKM1X1"
5812#define CFG_ACTION_OUI_CCKM_1X1_DEFAULT ""
5813
5814/*
5815 * <ini>
5816 * gActionOUIITOAlternate - Used to specify action OUIs to have alternate ITO in
5817 * weak RSSI state
5818 *
5819 * This ini is used to specify AP OUIs for which the stations will have
5820 * alternate ITOs for the case when the RSSI is weak.
5821 *
5822 * Related: None
5823 *
5824 * Supported Feature: Action OUIs
5825 *
5826 * Usage: External
5827 *
5828 * </ini>
5829 */
5830 #define CFG_ACTION_OUI_ITO_ALTERNATE_NAME "gActionOUIITOAlternate"
5831 #define CFG_ACTION_OUI_ITO_ALTERNATE_DEFAULT "001018 06 0202001c0000 FC 01"
5832
5833/*
5834 * <ini>
5835 * gActionOUISwitchTo11nMode - Used to specify action OUIs for switching to 11n
5836 *
5837 * This ini is used to specify which AP for which the connection has to be
5838 * made in 2x2 mode with HT capabilities only and not VHT.
5839 *
Vignesh Viswanathancbbc3582018-07-11 11:11:04 +05305840 * Default OUIs: (All values in Hex)
5841 * OUI 1 : 00904C
5842 * OUI data Len : 03
5843 * OUI Data : 0418BF
5844 * OUI data Mask: E0 - 11100000
5845 * Info Mask : 21 - Check for Band
5846 * Capabilities: 40 - Band == 2G
5847 *
Rajeev Kumar Sirasanagandla4725ae42018-05-24 22:33:34 +05305848 * Related: None
5849 *
5850 * Supported Feature: Action OUIs
5851 *
5852 * Usage: External
5853 *
5854 * </ini>
5855 */
5856#define CFG_ACTION_OUI_SWITCH_TO_11N_MODE_NAME "gActionOUISwitchTo11nMode"
Vignesh Viswanathancbbc3582018-07-11 11:11:04 +05305857#define CFG_ACTION_OUI_SWITCH_TO_11N_MODE_DEFAULT "00904C 03 0418BF E0 21 40"
Rajeev Kumar Sirasanagandla4725ae42018-05-24 22:33:34 +05305858
Vignesh Viswanathanf9a704c2018-07-30 12:57:18 +05305859/*
5860 * <ini>
5861 * gActionOUIConnect1x1with1TxRxChain - Used to specify action OUIs for
5862 * 1x1 connection with one Tx/Rx Chain
5863 * @Default:
5864 * Note: User should strictly add new action OUIs at the end of this
5865 * default value.
5866 *
5867 * Default OUIs: (All values in Hex)
5868 * OUI 1 : 001018
5869 * OUI data Len : 06
5870 * OUI Data : 02FFF0040000
5871 * OUI data Mask: BC - 10111100
5872 * Info Mask : 21 - Check for Band
5873 * Capabilities: 40 - Band == 2G
5874 *
5875 * OUI 2 : 001018
5876 * OUI data Len : 06
5877 * OUI Data : 02FFF0050000
5878 * OUI data Mask: BC - 10111100
5879 * Info Mask : 21 - Check for Band
5880 * Capabilities: 40 - Band == 2G
5881 *
5882 * OUI 3 : 001018
5883 * OUI data Len : 06
5884 * OUI Data : 02FFF4050000
5885 * OUI data Mask: BC - 10111100
5886 * Info Mask : 21 - Check for Band
5887 * Capabilities: 40 - Band == 2G
5888 *
5889 * This ini is used to specify the AP OUIs with which only 1x1 connection
5890 * with one Tx/Rx Chain is allowed.
5891 *
5892 * Related: gEnableActionOUI
5893 *
5894 * Supported Feature: Action OUIs
5895 *
5896 * Usage: External
5897 *
5898 * </ini>
5899 */
5900#define CFG_ACTION_OUI_CONNECT_1X1_WITH_1_CHAIN_NAME "gActionOUIConnect1x1with1TxRxChain"
5901#define CFG_ACTION_OUI_CONNECT_1X1_WITH_1_CHAIN_DEFAULT "001018 06 02FFF0040000 BC 21 40 001018 06 02FFF0050000 BC 21 40 001018 06 02FFF4050000 BC 21 40"
5902
Rajeev Kumar Sirasanagandla4725ae42018-05-24 22:33:34 +05305903 /* End of action oui inis */
5904
5905
5906/*
Rajeev Kumar15b40a22018-04-12 11:45:24 -07005907 * <ini>
5908 * gEnableUnitTestFramework - Enable/Disable unit test framework
5909 * @Min: 0
5910 * @Max: 1
5911 * @Default: 0
5912 *
5913 * Usage: Internal (only for dev and test team)
5914 *
5915 * </ini>
5916 */
5917#define CFG_ENABLE_UNIT_TEST_FRAMEWORK_NAME "gEnableUnitTestFramework"
5918#define CFG_ENABLE_UNIT_TEST_FRAMEWORK_MIN (0)
5919#define CFG_ENABLE_UNIT_TEST_FRAMEWORK_MAX (1)
5920#define CFG_ENABLE_UINT_TEST_FRAMEWORK_DEFAULT (0)
5921
5922/*
Naveen Rawat2b430892018-03-13 13:58:18 -07005923 * <ini>
Ashish Kumar Dhanotiya959b38c2018-04-06 21:07:57 +05305924 * gEnableSecondaryRate - Enable/Disable Secondary Retry Rate feature subset
5925 *
5926 * @Min: 0x0
5927 * @Max: 0x3F
Ashish Kumar Dhanotiyacc1d6fd2018-05-02 15:49:42 +05305928 * @Default: 0x17
Ashish Kumar Dhanotiya959b38c2018-04-06 21:07:57 +05305929 *
5930 * It is a 32 bit value such that the various bits represent as below -
5931 * Bit-0 : is Enable/Disable Control for "PPDU Secondary Retry Support"
5932 * Bit-1 : is Enable/Disable Control for "RTS Black/White-listing Support"
5933 * Bit-2 : is Enable/Disable Control for "Higher MCS retry restriction
5934 * on XRETRY failures"
5935 * Bit 3-5 : is "Xretry threshold" to use
5936 * Bit 3~31 : reserved for future use.
5937 *
5938 * Usage: External
5939 *
5940 * </ini>
5941 */
5942#define CFG_ENABLE_SECONDARY_RATE_NAME "gEnableSecondaryRate"
5943#define CFG_ENABLE_SECONDARY_RATE_MIN (0)
5944#define CFG_ENABLE_SECONDARY_RATE_MAX (0x3F)
Ashish Kumar Dhanotiyacc1d6fd2018-05-02 15:49:42 +05305945#define CFG_ENABLE_SECONDARY_RATE_DEFAULT (0x17)
Ashish Kumar Dhanotiya959b38c2018-04-06 21:07:57 +05305946
Dundi Ravitejaeab3b8d2018-07-17 18:10:41 +05305947#ifdef MWS_COEX
5948/*
5949 * <ini>
5950 * gMwsCoex4gQuickTdm - Bitmap to control MWS-COEX 4G quick FTDM policy
5951 * @Min: 0x00000000
5952 * @Max: 0xFFFFFFFF
5953 * @Default: 0x00000000
5954 *
5955 * It is a 32 bit value such that the various bits represent as below:
5956 * Bit-0 : 0 - Don't allow quick FTDM policy (Default)
5957 * 1 - Allow quick FTDM policy
5958 * Bit 1-31 : reserved for future use
5959 *
5960 * It is used to enable or disable MWS-COEX 4G (LTE) Quick FTDM
5961 *
5962 * Usage: Internal
5963 *
5964 * </ini>
5965 */
5966
5967#define CFG_MWS_COEX_4G_QUICK_FTDM_NAME "gMwsCoex4gQuickTdm"
5968#define CFG_MWS_COEX_4G_QUICK_FTDM_MIN (0x00000000)
5969#define CFG_MWS_COEX_4G_QUICK_FTDM_MAX (0xFFFFFFFF)
5970#define CFG_MWS_COEX_4G_QUICK_FTDM_DEFAULT (0x00000000)
5971
5972/*
5973 * <ini>
5974 * gMwsCoex5gnrPwrLimit - Bitmap to set MWS-COEX 5G-NR power limit
5975 * @Min: 0x00000000
5976 * @Max: 0xFFFFFFFF
5977 * @Default: 0x00000000
5978 *
5979 * It is a 32 bit value such that the various bits represent as below:
5980 * Bit-0 : Don't apply user specific power limit,
5981 * use internal power limit (Default)
5982 * Bit 1-2 : Invalid value (Ignored)
5983 * Bit 3-21 : Apply the specified value as the external power limit, in dBm
5984 * Bit 22-31 : Invalid value (Ignored)
5985 *
5986 * It is used to set MWS-COEX 5G-NR power limit
5987 *
5988 * Usage: Internal
5989 *
5990 * </ini>
5991 */
5992
5993#define CFG_MWS_COEX_5G_NR_PWR_LIMIT_NAME "gMwsCoex5gnrPwrLimit"
5994#define CFG_MWS_COEX_5G_NR_PWR_LIMIT_MIN (0x00000000)
5995#define CFG_MWS_COEX_5G_NR_PWR_LIMIT_MAX (0xFFFFFFFF)
5996#define CFG_MWS_COEX_5G_NR_PWR_LIMIT_DEFAULT (0x00000000)
5997#endif
5998
Rachit Kankane0106e382018-05-16 18:59:28 +05305999/*
Chaoli Zhou75b062f2018-06-11 12:36:54 +08006000 * <ini>
6001 * gEnableChangeChannelBandWidth - Enable/Disable change
6002 * channel&bandwidth in the mission mode
6003 * @Min: 0
6004 * @Max: 1
6005 * @Default: 0
6006 *
6007 * 0 - not allow change channel&bandwidth by setMonChan
6008 * 1 - allow change channel&bandwidth by setMonChan
6009 *
6010 * Related: None
6011 *
6012 * Supported Feature: STA
6013 *
6014 * Usage: External
6015 *
6016 * </ini>
6017 */
6018#define CFG_CHANGE_CHANNEL_BANDWIDTH_NAME "gEnableChangeChannelBandWidth"
6019#define CFG_CHANGE_CHANNEL_BANDWIDTH_MIN (0)
6020#define CFG_CHANGE_CHANNEL_BANDWIDTH_MAX (1)
6021#define CFG_CHANGE_CHANNEL_BANDWIDTH_DEFAULT (0)
6022
6023/*
Ashish Kumar Dhanotiyacb14b112018-01-19 19:26:44 +05306024 * Type declarations
6025 */
Naveen Rawat2b430892018-03-13 13:58:18 -07006026
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006027struct hdd_config {
6028 /* Bitmap to track what is explicitly configured */
6029 DECLARE_BITMAP(bExplicitCfg, MAX_CFG_INI_ITEMS);
6030
6031 /* Config parameters */
Ashish Kumar Dhanotiya470af292017-05-31 20:46:00 +05306032 bool enable_connected_scan;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006033 bool Is11dSupportEnabled;
6034 bool Is11hSupportEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006035 char PowerUsageControl[4];
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006036 bool fIsImpsEnabled;
6037 bool is_ps_enabled;
Kiran Kumar Lokere0ac679c2016-11-17 17:43:36 -08006038 uint32_t auto_bmps_timer_val;
Zhu Jianmin04392c42017-05-12 16:34:53 +08006039 uint32_t icmp_disable_ps_val;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006040 uint32_t nBmpsMaxListenInterval;
6041 uint32_t nBmpsMinListenInterval;
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07006042 enum hdd_dot11_mode dot11Mode;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006043 uint32_t nChannelBondingMode24GHz;
Abhishek Singhb59f8d42017-07-31 14:42:47 +05306044 bool override_ht20_40_24g;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006045 uint32_t nChannelBondingMode5GHz;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006046 uint32_t ScanResultAgeCount;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006047 uint8_t nRssiCatGap;
Anurag Chouhan6d760662016-02-20 16:05:43 +05306048 struct qdf_mac_addr IbssBssid;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006049 uint32_t AdHocChannel5G;
6050 uint32_t AdHocChannel24G;
6051 uint8_t intfAddrMask;
Anurag Chouhan6d760662016-02-20 16:05:43 +05306052 struct qdf_mac_addr intfMacAddr[QDF_MAX_CONCURRENCY_PERSONA];
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006053
6054 bool apUapsdEnabled;
6055 bool apRandomBssidEnabled;
6056 bool apProtEnabled;
6057 uint16_t apProtection;
6058 bool apOBSSProtEnabled;
Dustin Brownb6b0f182017-03-08 13:08:27 -08006059 enum station_keepalive_method sta_keepalive_method;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006060 uint8_t nTxPowerCap; /* In dBm */
Padma, Santhosh Kumar29df3622016-08-16 19:15:16 +05306061 bool allow_tpc_from_ap;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006062 uint8_t disablePacketFilter;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006063 bool fRrmEnable;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006064 uint16_t nRrmRandnIntvl;
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08006065 /* length includes separator */
6066 char rm_capability[3 * DOT11F_IE_RRMENABLEDCAP_MAX_LEN];
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006067
Rachit Kankanef6834c42018-08-02 18:47:50 +05306068#ifdef FEATURE_WLAN_DYNAMIC_CVM
Nachiket Kukade8983cf62017-10-12 18:14:48 +05306069 /* Bitmap for operating voltage corner mode */
6070 uint32_t vc_mode_cfg_bitmap;
Rachit Kankanef6834c42018-08-02 18:47:50 +05306071#endif
Nachiket Kukade8983cf62017-10-12 18:14:48 +05306072
Dundi Ravitejaeab3b8d2018-07-17 18:10:41 +05306073#ifdef MWS_COEX
6074 /* Bitmap for MWS-COEX 4G Quick FTDM */
6075 uint32_t mws_coex_4g_quick_tdm;
6076
6077 /* Bitmap for MWS-COEX 5G-NR power limit */
6078 uint32_t mws_coex_5g_nr_pwr_limit;
6079#endif
6080
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006081 uint16_t nNeighborScanPeriod;
Sridhar Selvaraj1b2330c2017-07-21 15:16:42 +05306082 uint16_t neighbor_scan_min_period;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006083 uint8_t nNeighborLookupRssiThreshold;
6084 uint8_t delay_before_vdev_stop;
6085 uint8_t nOpportunisticThresholdDiff;
6086 uint8_t nRoamRescanRssiDiff;
6087 uint8_t neighborScanChanList[WNI_CFG_VALID_CHANNEL_LIST_LEN];
6088 uint16_t nNeighborScanMinChanTime;
6089 uint16_t nNeighborScanMaxChanTime;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006090 uint16_t nNeighborResultsRefreshPeriod;
6091 uint16_t nEmptyScanRefreshPeriod;
6092 uint8_t nRoamBmissFirstBcnt;
6093 uint8_t nRoamBmissFinalBcnt;
6094 uint8_t nRoamBeaconRssiWeight;
6095 uint32_t nhi_rssi_scan_max_count;
6096 uint32_t nhi_rssi_scan_rssi_delta;
6097 uint32_t nhi_rssi_scan_delay;
6098 int32_t nhi_rssi_scan_rssi_ub;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006099
6100 /* Additional Handoff params */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006101 uint32_t nPassiveMaxChnTime; /* in units of milliseconds */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006102 uint32_t nActiveMaxChnTime; /* in units of milliseconds */
Kiran Kumar Lokerea2dfefe2017-06-29 19:01:24 -07006103 uint32_t scan_probe_repeat_time;
6104 uint32_t scan_num_probes;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006105
6106 uint32_t nInitialDwellTime; /* in units of milliseconds */
6107 bool initial_scan_no_dfs_chnl;
6108
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006109 uint32_t nPassiveMinChnTimeConc; /* in units of milliseconds */
6110 uint32_t nPassiveMaxChnTimeConc; /* in units of milliseconds */
6111 uint32_t nActiveMinChnTimeConc; /* in units of milliseconds */
6112 uint32_t nActiveMaxChnTimeConc; /* in units of milliseconds */
6113 uint32_t nRestTimeConc; /* in units of milliseconds */
Agrawal Ashish17bb3902016-05-05 13:29:40 +05306114 /* In units of milliseconds */
6115 uint32_t min_rest_time_conc;
6116 /* In units of milliseconds */
6117 uint32_t idle_time_conc;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006118
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006119 uint8_t nRssiFilterPeriod;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006120
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006121 bool mcc_rts_cts_prot_enable;
6122 bool mcc_bcast_prob_resp_enable;
Mukul Sharmaed92f2f2017-04-20 00:06:28 +05306123 uint8_t wow_data_inactivity_timeout;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006124
6125 /* WMM QoS Configuration */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006126 bool isFastRoamIniFeatureEnabled;
6127 bool MAWCEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006128#ifdef FEATURE_WLAN_ESE
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006129 bool isEseIniFeatureEnabled;
6130#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006131 bool isFastTransitionEnabled;
6132 uint8_t RoamRssiDiff;
6133 bool isWESModeEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006134 bool isRoamOffloadScanEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006135
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006136 uint32_t DelayedTriggerFrmInt;
6137
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07006138#ifdef FEATURE_RUNTIME_PM
6139 bool runtime_pm;
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07006140#endif
6141
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006142#ifdef FEATURE_WLAN_RA_FILTERING
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006143 uint16_t RArateLimitInterval;
6144#endif
6145#ifdef FEATURE_WLAN_SCAN_PNO
6146 bool PnoOffload;
6147#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006148
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05306149/* QDF Trace Control*/
6150 uint16_t qdf_trace_enable_wdi;
6151 uint16_t qdf_trace_enable_hdd;
6152 uint16_t qdf_trace_enable_sme;
6153 uint16_t qdf_trace_enable_pe;
6154 uint16_t qdf_trace_enable_pmc;
6155 uint16_t qdf_trace_enable_wma;
6156 uint16_t qdf_trace_enable_sys;
6157 uint16_t qdf_trace_enable_qdf;
6158 uint16_t qdf_trace_enable_sap;
6159 uint16_t qdf_trace_enable_hdd_sap;
6160 uint16_t qdf_trace_enable_bmi;
6161 uint16_t qdf_trace_enable_cfg;
Houston Hoffmanfbf05102017-08-28 11:37:01 -07006162 uint16_t qdf_trace_enable_txrx;
6163 uint16_t qdf_trace_enable_dp;
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05306164 uint16_t qdf_trace_enable_htc;
6165 uint16_t qdf_trace_enable_hif;
6166 uint16_t qdf_trace_enable_hdd_sap_data;
6167 uint16_t qdf_trace_enable_hdd_data;
6168 uint16_t qdf_trace_enable_epping;
6169 uint16_t qdf_trace_enable_qdf_devices;
Naveen Rawat7df31862017-03-01 17:09:30 -08006170 uint16_t qdf_trace_enable_wifi_pos;
Naveen Rawatf2b0dbd2017-03-27 10:00:15 -07006171 uint16_t qdf_trace_enable_nan;
Kiran Kumar Lokere798de7e2017-03-30 14:01:12 -07006172 uint16_t qdf_trace_enable_regulatory;
Naveen Rawat3cb779e2018-02-16 16:36:10 -08006173 uint16_t qdf_trace_enable_cp_stats;
Ashish Kumar Dhanotiya12f68212018-09-04 22:00:14 +05306174#ifdef ENABLE_MTRACE_LOG
6175 bool enable_mtrace;
6176#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006177 uint8_t enableDFSChnlScan;
6178 uint8_t enable_dfs_pno_chnl_scan;
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07006179 enum hdd_link_speed_rpt_type reportMaxLinkSpeed;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006180 int32_t linkSpeedRssiHigh;
6181 int32_t linkSpeedRssiMid;
6182 int32_t linkSpeedRssiLow;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006183 bool nRoamPrefer5GHz;
6184 bool nRoamIntraBand;
6185 uint8_t nProbes;
6186 uint16_t nRoamScanHomeAwayTime;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006187 uint8_t enableMCC;
6188 uint8_t allowMCCGODiffBI;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006189 uint8_t thermalMitigationEnable;
6190 uint32_t throttlePeriod;
Poddar, Siddarth83905022016-04-16 17:56:08 -07006191 uint32_t throttle_dutycycle_level0;
6192 uint32_t throttle_dutycycle_level1;
6193 uint32_t throttle_dutycycle_level2;
6194 uint32_t throttle_dutycycle_level3;
Poddar, Siddarthb61cf642016-04-28 16:02:39 +05306195#if defined(CONFIG_HL_SUPPORT) && defined(QCA_BAD_PEER_TX_FLOW_CL)
6196 bool bad_peer_txctl_enable;
6197 uint32_t bad_peer_txctl_prd;
6198 uint32_t bad_peer_txctl_txq_lmt;
6199 uint32_t bad_peer_tgt_backoff;
6200 uint32_t bad_peer_tgt_report_prd;
6201 uint32_t bad_peer_cond_ieee80211b;
6202 uint32_t bad_peer_delta_ieee80211b;
6203 uint32_t bad_peer_pct_ieee80211b;
6204 uint32_t bad_peer_tput_ieee80211b;
6205 uint32_t bad_peer_limit_ieee80211b;
6206 uint32_t bad_peer_cond_ieee80211ag;
6207 uint32_t bad_peer_delta_ieee80211ag;
6208 uint32_t bad_peer_pct_ieee80211ag;
6209 uint32_t bad_peer_tput_ieee80211ag;
6210 uint32_t bad_peer_limit_ieee80211ag;
6211 uint32_t bad_peer_cond_ieee80211n;
6212 uint32_t bad_peer_delta_ieee80211n;
6213 uint32_t bad_peer_pct_ieee80211n;
6214 uint32_t bad_peer_tput_ieee80211n;
6215 uint32_t bad_peer_limit_ieee80211n;
6216 uint32_t bad_peer_cond_ieee80211ac;
6217 uint32_t bad_peer_delta_ieee80211ac;
6218 uint32_t bad_peer_pct_ieee80211ac;
6219 uint32_t bad_peer_tput_ieee80211ac;
6220 uint32_t bad_peer_limit_ieee80211ac;
6221#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006222 bool enableFirstScan2GOnly;
Dustin Brownfe7aa872017-06-26 10:52:08 -07006223 bool prevent_link_down;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006224 uint8_t scanAgingTimeout;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006225 uint8_t disableLDPCWithTxbfAP;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006226 bool bFastRoamInConIniFeatureEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006227 bool fEnableSNRMonitoring;
6228 /*PNO related parameters */
6229#ifdef FEATURE_WLAN_SCAN_PNO
6230 bool configPNOScanSupport;
6231 uint32_t configPNOScanTimerRepeatValue;
Srinivas Girigowdabdc98162015-09-17 11:06:07 -07006232 uint32_t pno_slow_scan_multiplier;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006233#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006234 uint8_t isCoalesingInIBSSAllowed;
6235
6236 /* IBSS Power Save related parameters */
6237 uint32_t ibssATIMWinSize;
6238 uint8_t isIbssPowerSaveAllowed;
6239 uint8_t isIbssPowerCollapseAllowed;
6240 uint8_t isIbssAwakeOnTxRx;
6241 uint32_t ibssInactivityCount;
6242 uint32_t ibssTxSpEndInactivityTime;
6243 uint32_t ibssPsWarmupTime;
6244 uint32_t ibssPs1RxChainInAtimEnable;
Abhinav Kumarb074f2f2018-09-15 15:32:11 +05306245 uint32_t IpaConfig;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006246 bool IpaClkScalingEnable;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006247 uint8_t disableDFSChSwitch;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006248 uint32_t TxPower2g;
6249 uint32_t TxPower5g;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006250 bool fDfsPhyerrFilterOffload;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006251 uint8_t gDisableDfsJapanW53;
6252 bool gEnableOverLapCh;
6253 bool fRegChangeDefCountry;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006254 bool advertiseConcurrentOperation;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006255
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006256 uint8_t allowDFSChannelRoam;
6257
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006258 uint8_t enableFwModuleLogLevel[FW_MODULE_LOG_LEVEL_STRING_LENGTH];
6259
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006260 uint8_t ignoreCAC;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006261
Ganesh Kondabattini408fb8d2017-08-08 22:00:20 +05306262 bool enable_sap_mandatory_chan_list;
6263
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006264 int32_t dfsRadarPriMultiplier;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006265
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006266#ifdef FEATURE_WLAN_FORCE_SAP_SCC
6267 uint8_t SapSccChanAvoidance;
6268#endif /* FEATURE_WLAN_FORCE_SAP_SCC */
6269
Jeff Johnson60cbd2d2017-11-03 18:26:28 -07006270 bool enable_sap_suspend;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006271
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006272 bool gEnableDeauthToDisassocMap;
6273#ifdef DHCP_SERVER_OFFLOAD
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006274 uint8_t dhcpServerIP[IPADDR_STRING_LENGTH];
6275#endif /* DHCP_SERVER_OFFLOAD */
6276 bool enable_mac_spoofing;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006277 uint32_t sta_miracast_mcc_rest_time_val;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006278#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
6279 bool sap_channel_avoidance;
6280#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
Himanshu Agarwal4ecf6ca2018-05-09 16:48:56 +05306281 uint8_t sap_11ac_override;
6282 uint8_t go_11ac_override;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006283 uint8_t prefer_non_dfs_on_radar;
Nitesh Shah61c10d92016-10-19 19:29:15 +05306284 /* parameter for defer timer for enabling TDLS on p2p listen */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006285 uint32_t fine_time_meas_cap;
6286 uint8_t max_scan_count;
Kiran Kumar Lokere1a43bcf2018-05-15 15:51:58 -07006287 bool etsi13_srd_chan_in_master_mode;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006288 uint32_t dual_mac_feature_disable;
Ganesh Kondabattini930304c2017-10-10 15:25:36 +05306289 uint32_t sta_sap_scc_on_dfs_chan;
Zhu Jianmin72d32de2018-05-11 10:54:10 +08006290 uint32_t sta_sap_scc_on_lte_coex_chan;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006291 uint16_t self_gen_frm_pwr;
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07006292#ifdef FEATURE_WLAN_SCAN_PNO
6293 bool pno_channel_prediction;
6294 uint8_t top_k_num_of_channels;
6295 uint8_t stationary_thresh;
6296 uint32_t channel_prediction_full_scan;
6297#endif
Varun Reddy Yeturu05186292015-09-28 17:12:33 -07006298 bool early_stop_scan_enable;
6299 int8_t early_stop_scan_min_threshold;
6300 int8_t early_stop_scan_max_threshold;
Varun Reddy Yeturu044bda22015-11-21 22:03:40 -08006301 int8_t first_scan_bucket_threshold;
Ravi Joshi742495d2015-11-09 18:56:53 -08006302#ifdef FEATURE_LFR_SUBNET_DETECTION
6303 bool enable_lfr_subnet_detection;
6304#endif
Deepak Dhamdhere68929ec2015-08-05 15:16:35 -07006305 uint8_t inform_bss_rssi_raw;
Jeff Johnson89c66ff2016-04-22 15:21:37 -07006306#ifdef WLAN_FEATURE_TSF
Yu Wang66a250b2017-07-19 11:46:40 +08006307#ifdef WLAN_FEATURE_TSF_PLUS
6308 uint8_t tsf_ptp_options;
6309#endif /* WLAN_FEATURE_TSF_PLUS */
Jeff Johnson89c66ff2016-04-22 15:21:37 -07006310#endif
Abhinav Kumara083f212018-04-05 18:49:45 +05306311 uint32_t ho_delay_for_rx;
Abhinav Kumara95af7c2018-04-06 17:08:00 +05306312 uint32_t min_delay_btw_roam_scans;
6313 uint32_t roam_trigger_reason_bitmask;
Varun Reddy Yeturufaad37e2017-07-26 10:54:13 -07006314 uint32_t roam_bg_scan_client_bitmap;
gbian62edd7e2017-03-07 13:12:13 +08006315
Nachiket Kukadee547a482018-05-22 16:43:30 +05306316 bool apf_enabled;
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05306317 bool adaptive_dwell_mode_enabled;
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -07006318 enum scan_dwelltime_adaptive_mode scan_adaptive_dwell_mode;
6319 enum scan_dwelltime_adaptive_mode scan_adaptive_dwell_mode_nc;
Sandeep Puligillaf5ccbf62018-03-26 16:37:05 -07006320 enum scan_dwelltime_adaptive_mode extscan_adaptive_dwell_mode;
6321 enum scan_dwelltime_adaptive_mode pnoscan_adaptive_dwell_mode;
6322 enum scan_dwelltime_adaptive_mode global_adapt_dwelltime_mode;
Gupta, Kapil96c7f2f2016-04-25 19:13:41 +05306323 uint8_t adapt_dwell_lpf_weight;
6324 uint8_t adapt_dwell_passive_mon_intval;
6325 uint8_t adapt_dwell_wifi_act_threshold;
Kapil Gupta0ed58dc2016-04-22 15:35:26 +05306326 bool bug_report_for_no_scan_results;
Amar Singhal18517882016-08-08 12:26:20 -07006327 bool indoor_channel_support;
Mukul Sharmaecf8e092017-12-19 22:36:31 +05306328 /* control marking indoor channel passive to disable */
6329 bool force_ssc_disable_indoor_channel;
Yingying Tangb4832f72016-10-20 13:44:55 +08006330 uint16_t sap_tx_leakage_threshold;
Arun Khandavallicc544b32017-01-30 19:52:16 +05306331 bool sap_internal_restart;
Tushnim Bhattacharyya3efa49a2017-07-18 15:43:09 -07006332 enum restart_beaconing_on_ch_avoid_rule
6333 restart_beaconing_on_chan_avoid_event;
Nachiket Kukadee547a482018-05-22 16:43:30 +05306334 enum active_apf_mode active_uc_apf_mode;
6335 enum active_apf_mode active_mc_bc_apf_mode;
Kiran Kumar Lokere5cc2f0d2018-02-08 17:10:05 -08006336 uint8_t he_dynamic_frag_support;
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08006337#ifdef WLAN_FEATURE_11AX
6338 bool enable_ul_mimo;
6339 bool enable_ul_ofdma;
Manikandan Mohan39accff2017-05-02 16:09:00 -07006340 uint32_t he_sta_obsspd;
Krishna Kumaar Natarajan90bb6f12017-03-03 21:05:52 -08006341#endif
Varun Reddy Yeturud33033f2018-06-11 10:58:30 -07006342#ifdef WLAN_SUPPORT_TWT
Varun Reddy Yeturu96285a22018-05-08 13:37:43 -07006343 bool enable_twt;
6344 uint32_t twt_congestion_timeout;
6345#endif
Manjunathappa Prakashdab74fa2017-06-19 12:11:03 -07006346 bool tx_orphan_enable;
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05306347
Dustin Brown20b6fcf2017-05-17 15:35:17 -07006348 uint8_t scan_backoff_multiplier;
Varun Reddy Yeturubba32e92017-09-06 13:31:40 -07006349 bool mawc_nlo_enabled;
6350 uint32_t mawc_nlo_exp_backoff_ratio;
6351 uint32_t mawc_nlo_init_scan_interval;
6352 uint32_t mawc_nlo_max_scan_interval;
Naveen Rawatb2fc4132017-05-10 20:42:05 -07006353 bool is_force_1x1;
Sourav Mohapatrad9387d82018-09-07 12:28:52 +05306354 enum pmo_auto_pwr_detect_failure_mode auto_pwr_save_fail_mode;
Amar Singhal0fcce7d2018-08-01 13:20:58 -07006355 bool enable_11d_in_world_mode;
Manjeet Singha9cae432017-02-28 11:58:22 +05306356 /* 5G preference parameters for boosting RSSI */
6357 bool enable_5g_band_pref;
6358 int8_t rssi_boost_threshold_5g;
6359 uint8_t rssi_boost_factor_5g;
6360 uint8_t max_rssi_boost_5g;
6361 /* 5G preference parameters for dropping RSSI*/
6362 int8_t rssi_penalize_threshold_5g;
6363 uint8_t rssi_penalize_factor_5g;
6364 uint8_t max_rssi_penalize_5g;
Ashish Kumar Dhanotiyab8630ab2017-07-21 14:18:14 +05306365 bool enable_lprx;
Varun Reddy Yeturu168134f2017-06-26 13:46:05 -07006366 int8_t rssi_thresh_offset_5g;
Amar Singhale4a2dd52017-08-07 13:59:05 -07006367 uint32_t scan_11d_interval;
Abhishek Singhb58164a2017-07-19 18:47:23 +05306368 bool is_bssid_hint_priority;
Paul Zhang99fe8842017-12-08 14:43:46 +08006369 uint16_t wlm_latency_enable;
6370 uint16_t wlm_latency_level;
6371 uint32_t wlm_latency_flags_normal;
6372 uint32_t wlm_latency_flags_moderate;
6373 uint32_t wlm_latency_flags_low;
6374 uint32_t wlm_latency_flags_ultralow;
Sourav Mohapatrad9387d82018-09-07 12:28:52 +05306375#ifdef WLAN_FEATURE_PACKET_FILTERING
6376 uint8_t packet_filters_bitmap;
6377#endif
lifeng1c16b6b2017-09-25 13:59:55 +08006378 uint8_t dfs_beacon_tx_enhanced;
yeshwanth sriram guntuka41f936c2017-09-01 17:53:49 +05306379 uint32_t btm_offload_config;
Padma, Santhosh Kumar3e47c632017-09-01 20:15:27 +05306380#ifdef WLAN_FEATURE_SAE
6381 bool is_sae_enabled;
6382#endif
Rachit Kankane0106e382018-05-16 18:59:28 +05306383 bool enable_dtim_selection_diversity;
6384 bool gcmp_enabled;
6385 bool is_11k_offload_supported;
Jiachao Wu84bb2ea2018-01-08 16:17:33 +08006386 uint32_t btm_solicited_timeout;
6387 uint32_t btm_max_attempt_cnt;
6388 uint32_t btm_sticky_time;
Vignesh Viswanathan694e28e2018-01-18 20:53:57 +05306389 uint32_t offload_11k_enable_bitmask;
6390 uint32_t neighbor_report_offload_params_bitmask;
6391 uint32_t neighbor_report_offload_time_offset;
6392 uint32_t neighbor_report_offload_low_rssi_offset;
6393 uint32_t neighbor_report_offload_bmiss_count_trigger;
6394 uint32_t neighbor_report_offload_per_threshold_offset;
6395 uint32_t neighbor_report_offload_cache_timeout;
6396 uint32_t neighbor_report_offload_max_req_cap;
Rajeev Kumar Sirasanagandla4725ae42018-05-24 22:33:34 +05306397 bool action_oui_enable;
6398 uint8_t action_oui_str[ACTION_OUI_MAXIMUM_ID][ACTION_OUI_MAX_STR_LEN];
Rachit Kankane0106e382018-05-16 18:59:28 +05306399 uint16_t wmi_wq_watchdog_timeout;
Liangwei Dong22810e82018-03-15 03:42:12 -04006400 bool enable_bt_chain_separation;
Ashish Kumar Dhanotiya04f09dd2018-04-02 16:25:16 +05306401 uint8_t enable_tx_sch_delay;
Ashish Kumar Dhanotiya959b38c2018-04-06 21:07:57 +05306402 uint32_t enable_secondary_rate;
Rajeev Kumar15b40a22018-04-12 11:45:24 -07006403 bool is_unit_test_framework_enabled;
Abhinav Kumar271f0632018-03-29 16:01:30 +05306404 bool enable_ftopen;
Abhinav Kumaredd1d372018-05-11 15:33:35 +05306405 bool roam_force_rssi_trigger;
Chaoli Zhou75b062f2018-06-11 12:36:54 +08006406 bool enable_change_channel_bandwidth;
Dundi Raviteja8e338282018-09-25 17:16:04 +05306407
6408 /* HDD converged ini items are listed below this*/
6409 bool bug_on_reinit_failure;
6410 bool is_ramdump_enabled;
6411 uint32_t iface_change_wait_time;
6412 uint8_t multicast_host_fw_msgs;
6413 enum hdd_wext_control private_wext_control;
6414 uint32_t timer_multiplier;
6415 bool enablefwprint;
6416 uint8_t enable_fw_log;
6417
6418#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
6419 /* WLAN Logging */
6420 bool wlan_logging_enable;
6421 bool wlan_logging_to_console;
6422#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
6423
6424#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
6425 uint32_t wlan_auto_shutdown;
6426#endif
6427
6428#ifndef REMOVE_PKT_LOG
6429 bool enable_packet_log;
6430#endif
jitiphil869b9f72018-09-25 17:14:01 +05306431 uint32_t rx_mode;
6432#ifdef MSM_PLATFORM
6433 uint32_t bus_bw_high_threshold;
6434 uint32_t bus_bw_medium_threshold;
6435 uint32_t bus_bw_low_threshold;
6436 uint32_t bus_bw_compute_interval;
6437 uint32_t enable_tcp_delack;
6438 bool enable_tcp_limit_output;
6439 uint32_t enable_tcp_adv_win_scale;
6440 uint32_t tcp_delack_thres_high;
6441 uint32_t tcp_delack_thres_low;
6442 uint32_t tcp_tx_high_tput_thres;
6443 uint32_t tcp_delack_timer_count;
Alok Kumar2fad6442018-11-08 19:19:28 +05306444 bool enable_tcp_param_update;
jitiphil869b9f72018-09-25 17:14:01 +05306445 u8 periodic_stats_disp_time;
6446#endif /* MSM_PLATFORM */
6447#ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL
6448 uint32_t tx_flow_low_watermark;
6449 uint32_t tx_flow_hi_watermark_offset;
6450 uint32_t tx_flow_max_queue_depth;
6451 uint32_t tx_lbw_flow_low_watermark;
6452 uint32_t tx_lbw_flow_hi_watermark_offset;
6453 uint32_t tx_lbw_flow_max_queue_depth;
6454 uint32_t tx_hbw_flow_low_watermark;
6455 uint32_t tx_hbw_flow_hi_watermark_offset;
6456 uint32_t tx_hbw_flow_max_queue_depth;
6457#endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */
6458 uint32_t napi_cpu_affinity_mask;
6459 /* CPU affinity mask for rx_thread */
6460 uint32_t rx_thread_affinity_mask;
6461 uint8_t cpu_map_list[CFG_DP_RPS_RX_QUEUE_CPU_MAP_LIST_LEN];
jitiphil296c23e2018-11-15 16:26:14 +05306462 bool multicast_replay_filter;
6463 uint32_t rx_wakelock_timeout;
6464 uint8_t num_dp_rx_threads;
jitiphilb03ae082018-11-09 17:41:59 +05306465#ifdef CONFIG_DP_TRACE
6466 bool enable_dp_trace;
6467 uint8_t dp_trace_config[DP_TRACE_CONFIG_STRING_LENGTH];
6468#endif
6469#ifdef WLAN_NUD_TRACKING
6470 bool enable_nud_tracking;
6471#endif
Vignesh Viswanathana0358ff2018-11-27 09:53:07 +05306472 uint8_t operating_channel;
6473 uint8_t num_vdevs;
6474 uint8_t enable_concurrent_sta[CFG_CONCURRENT_IFACE_MAX_LEN];
6475 uint8_t dbs_scan_selection[CFG_DBS_SCAN_PARAM_LENGTH];
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006476};
6477
6478#define VAR_OFFSET(_Struct, _Var) (offsetof(_Struct, _Var))
6479#define VAR_SIZE(_Struct, _Var) (sizeof(((_Struct *)0)->_Var))
6480
6481#define VAR_FLAGS_NONE (0)
6482
6483/* bit 0 is Required or Optional */
6484#define VAR_FLAGS_REQUIRED (1 << 0)
6485#define VAR_FLAGS_OPTIONAL (0 << 0)
6486
6487/*
6488 * bit 1 tells if range checking is required.
6489 * If less than MIN, assume MIN.
6490 * If greater than MAX, assume MAX.
6491 */
6492#define VAR_FLAGS_RANGE_CHECK (1 << 1)
6493#define VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX (VAR_FLAGS_RANGE_CHECK)
6494
6495/*
6496 * bit 2 is range checking that assumes the DEFAULT value
6497 * If less than MIN, assume DEFAULT,
6498 * If greater than MAX, assume DEFAULT.
6499 */
6500#define VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT (1 << 2)
6501
6502/*
6503 * Bit 3 indicates that the config item can be modified dynamicially
6504 * on a running system
6505 */
6506#define VAR_FLAGS_DYNAMIC_CFG (1 << 3)
6507
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07006508enum wlan_parameter_type {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006509 WLAN_PARAM_Integer,
6510 WLAN_PARAM_SignedInteger,
6511 WLAN_PARAM_HexInteger,
6512 WLAN_PARAM_String,
6513 WLAN_PARAM_MacAddr,
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07006514};
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006515
6516#define REG_VARIABLE(_Name, _Type, _Struct, _VarName, \
6517 _Flags, _Default, _Min, _Max) \
6518 { \
6519 (_Name), \
6520 (_Type), \
6521 (_Flags), \
Qiwei Cai1c52ef62018-08-23 18:58:58 +08006522 0, \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006523 VAR_OFFSET(_Struct, _VarName), \
6524 VAR_SIZE(_Struct, _VarName), \
6525 (_Default), \
6526 (_Min), \
6527 (_Max), \
Qiwei Cai1c52ef62018-08-23 18:58:58 +08006528 NULL \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006529 }
6530
6531#define REG_DYNAMIC_VARIABLE(_Name, _Type, _Struct, _VarName, \
6532 _Flags, _Default, _Min, _Max, \
6533 _CBFunc, _CBParam) \
6534 { \
6535 (_Name), \
6536 (_Type), \
6537 (VAR_FLAGS_DYNAMIC_CFG | (_Flags)), \
Qiwei Cai1c52ef62018-08-23 18:58:58 +08006538 (_CBParam), \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006539 VAR_OFFSET(_Struct, _VarName), \
6540 VAR_SIZE(_Struct, _VarName), \
6541 (_Default), \
6542 (_Min), \
6543 (_Max), \
Qiwei Cai1c52ef62018-08-23 18:58:58 +08006544 (_CBFunc) \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006545 }
6546
6547#define REG_VARIABLE_STRING(_Name, _Type, _Struct, _VarName, \
6548 _Flags, _Default) \
6549 { \
6550 (_Name), \
6551 (_Type), \
6552 (_Flags), \
Qiwei Cai1c52ef62018-08-23 18:58:58 +08006553 0, \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006554 VAR_OFFSET(_Struct, _VarName), \
6555 VAR_SIZE(_Struct, _VarName), \
6556 (unsigned long)(_Default), \
6557 0, \
6558 0, \
Qiwei Cai1c52ef62018-08-23 18:58:58 +08006559 NULL \
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006560 }
6561
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07006562struct reg_table_entry {
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006563 char *RegName; /* variable name in the qcom_cfg.ini file */
Qiwei Cai1c52ef62018-08-23 18:58:58 +08006564 unsigned char RegType; /* variable type in hdd_config struct */
6565 unsigned char Flags; /* Specify optional parms and if RangeCheck is performed */
6566 unsigned char notifyId; /* Dynamic modification identifier */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006567 unsigned short VarOffset; /* offset to field from the base address of the structure */
6568 unsigned short VarSize; /* size (in bytes) of the field */
6569 unsigned long VarDefault; /* default value to use */
6570 unsigned long VarMin; /* minimum value, for range checking */
6571 unsigned long VarMax; /* maximum value, for range checking */
6572 /* Dynamic modification notifier */
Jeff Johnson723234b2017-09-03 08:49:15 -07006573 void (*pfnDynamicnotify)(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006574 unsigned long notifyId);
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07006575};
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006576
Krunal Soni707eb782018-01-18 12:04:19 -08006577/**
6578 * hdd_to_csr_wmm_mode() - Utility function to convert HDD to CSR WMM mode
6579 *
Abhinav Kumar7d6f1ac2018-09-01 18:33:56 +05306580 * @uint8_t mode - hdd WMM user mode
Krunal Soni707eb782018-01-18 12:04:19 -08006581 *
6582 * Return: CSR WMM mode
6583 */
Abhinav Kumar7d6f1ac2018-09-01 18:33:56 +05306584eCsrRoamWmmUserModeType hdd_to_csr_wmm_mode(uint8_t mode);
Krunal Soni707eb782018-01-18 12:04:19 -08006585
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006586/* Function declarations and documenation */
Jeff Johnson723234b2017-09-03 08:49:15 -07006587QDF_STATUS hdd_parse_config_ini(struct hdd_context *hdd_ctx);
Rajeev Kumar Sirasanagandlaaec0b082017-06-21 11:59:41 +05306588
Jeff Johnson723234b2017-09-03 08:49:15 -07006589QDF_STATUS hdd_update_mac_config(struct hdd_context *hdd_ctx);
6590QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx);
6591QDF_STATUS hdd_set_policy_mgr_user_cfg(struct hdd_context *hdd_ctx);
Jeff Johnsonb6909be2017-08-28 12:07:19 -07006592QDF_STATUS hdd_set_sme_chan_list(struct hdd_context *hdd_ctx);
Jeff Johnson723234b2017-09-03 08:49:15 -07006593bool hdd_update_config_cfg(struct hdd_context *hdd_ctx);
Nirav Shah5c083da2018-08-03 13:46:02 +05306594void hdd_cfg_get_global_config(struct hdd_context *hdd_ctx, char *buf,
6595 int buflen);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006596
Srinivas Girigowda2fb677c2017-03-25 15:35:34 -07006597eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode(enum hdd_dot11_mode dot11Mode);
Jeff Johnson723234b2017-09-03 08:49:15 -07006598QDF_STATUS hdd_execute_global_config_command(struct hdd_context *hdd_ctx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006599 char *command);
6600
Jeff Johnson723234b2017-09-03 08:49:15 -07006601bool hdd_is_okc_mode_enabled(struct hdd_context *hdd_ctx);
Arunk Khandavalli847969d2017-09-25 15:15:36 +05306602QDF_STATUS hdd_set_idle_ps_config(struct hdd_context *hdd_ctx, bool val);
Jeff Johnson723234b2017-09-03 08:49:15 -07006603void hdd_get_pmkid_modes(struct hdd_context *hdd_ctx,
Deepak Dhamdhere828f1892017-02-09 11:51:19 -08006604 struct pmkid_mode_bits *pmkid_modes);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006605
Jeff Johnson8abc5932018-06-02 22:51:37 -07006606void hdd_update_tgt_cfg(hdd_handle_t hdd_handle, struct wma_tgt_cfg *cfg);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006607
Jeff Johnson9268e092017-11-03 08:18:24 -07006608/**
6609 * hdd_string_to_u8_array() - used to convert decimal string into u8 array
6610 * @str: Decimal string
6611 * @array: Array where converted value is stored
6612 * @len: Length of the populated array
6613 * @array_max_len: Maximum length of the array
6614 *
6615 * This API is called to convert decimal string (each byte separated by
6616 * a comma) into an u8 array
6617 *
6618 * Return: QDF_STATUS
6619 */
6620QDF_STATUS hdd_string_to_u8_array(char *str, uint8_t *array,
Jiachao Wu6e9b9f92018-01-03 13:35:40 +08006621 uint8_t *len, uint16_t array_max_len);
Jeff Johnson9268e092017-11-03 08:18:24 -07006622
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05306623QDF_STATUS hdd_hex_string_to_u16_array(char *str, uint16_t *int_array,
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08006624 uint8_t *len, uint8_t int_array_max_len);
6625
Nirav Shah5c083da2018-08-03 13:46:02 +05306626void hdd_cfg_print_global_config(struct hdd_context *hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006627
Kiran Kumar Lokere44a29432018-01-24 16:10:30 -08006628QDF_STATUS hdd_update_nss(struct hdd_adapter *adapter, uint8_t nss);
Arif Hussaincd151632017-02-11 16:57:19 -08006629
6630/**
6631 * hdd_dfs_indicate_radar() - Block tx as radar found on the channel
6632 * @hdd_ctxt: HDD context pointer
6633 *
6634 * This function is invoked in atomic context when a radar
6635 * is found on the SAP current operating channel and Data Tx
6636 * from netif has to be stopped to honor the DFS regulations.
6637 * Actions: Stop the netif Tx queues,Indicate Radar present
6638 * in HDD context for future usage.
6639 *
6640 * Return: true on success, else false
6641 */
Jeff Johnsonb6909be2017-08-28 12:07:19 -07006642bool hdd_dfs_indicate_radar(struct hdd_context *hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08006643#endif