blob: 703fa19bf6a7b47a75a1931e08d6c38915c99144 [file] [log] [blame]
Wu Gao55f21712018-09-17 10:57:49 +08001/*
Abhishek Ambure2372a902020-01-24 12:33:44 +05302 * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
Wu Gao55f21712018-09-17 10:57:49 +08003 *
4 * 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
19/**
20 * DOC: This file contains configuration definitions for MLME LFR.
21 */
22
23#ifndef CFG_MLME_LFR_H__
24#define CFG_MLME_LFR_H__
25
26/*
27 * <ini>
28 * mawc_roam_enabled - Enable/Disable MAWC during roaming
29 * @Min: 0 - Disabled
30 * @Max: 1 - Enabled
31 * @Default: 0
32 *
33 * This ini is used to control MAWC during roaming.
34 *
35 * Related: MAWCEnabled.
36 *
37 * Supported Feature: MAWC Roaming
38 *
39 * Usage: Internal/External
40 *
41 * </ini>
42 */
43#define CFG_LFR_MAWC_ROAM_ENABLED CFG_INI_BOOL( \
44 "mawc_roam_enabled", \
45 0, \
46 "Enable/Disable MAWC during roaming")
47
48/*
49 * <ini>
50 * mawc_roam_traffic_threshold - Configure traffic threshold
51 * @Min: 0
52 * @Max: 0xFFFFFFFF
53 * @Default: 300
54 *
55 * This ini is used to configure the data traffic load in kbps to
56 * register CMC.
57 *
58 * Related: mawc_roam_enabled.
59 *
60 * Supported Feature: MAWC Roaming
61 *
62 * Usage: Internal/External
63 *
64 * </ini>
65 */
66#define CFG_LFR_MAWC_ROAM_TRAFFIC_THRESHOLD CFG_INI_UINT( \
67 "mawc_roam_traffic_threshold", \
68 0, \
69 0xFFFFFFFF, \
70 300, \
71 CFG_VALUE_OR_DEFAULT, \
72 "Configure traffic threshold")
73
74/*
75 * <ini>
76 * mawc_roam_ap_rssi_threshold - Best AP RSSI threshold
77 * @Min: -120
78 * @Max: 0
79 * @Default: -66
80 *
81 * This ini is used to specify the RSSI threshold to scan for the AP.
82 *
83 * Related: mawc_roam_enabled.
84 *
85 * Supported Feature: MAWC Roaming
86 *
87 * Usage: Internal/External
88 *
89 * </ini>
90 */
91#define CFG_LFR_MAWC_ROAM_AP_RSSI_THRESHOLD CFG_INI_INT( \
92 "mawc_roam_ap_rssi_threshold", \
93 -120, \
94 0, \
95 -66, \
96 CFG_VALUE_OR_DEFAULT, \
97 "Best AP RSSI threshold")
98
99/*
100 * <ini>
101 * mawc_roam_rssi_high_adjust - Adjust MAWC roam high RSSI
102 * @Min: 3
103 * @Max: 5
104 * @Default: 5
105 *
106 * This ini is used for high RSSI threshold adjustment in stationary state
107 * to suppress the scan.
108 *
109 * Related: mawc_roam_enabled.
110 *
111 * Supported Feature: MAWC Roaming
112 *
113 * Usage: Internal/External
114 *
115 * </ini>
116 */
117#define CFG_LFR_MAWC_ROAM_RSSI_HIGH_ADJUST CFG_INI_UINT( \
118 "mawc_roam_ap_rssi_threshold", \
119 3, \
120 5, \
121 5, \
122 CFG_VALUE_OR_DEFAULT, \
123 "Adjust MAWC roam high RSSI")
124
125/*
126 * <ini>
127 * mawc_roam_rssi_low_adjust - Adjust MAWC roam low RSSI
128 * @Min: 3
129 * @Max: 5
130 * @Default: 5
131 *
132 * This ini is used for low RSSI threshold adjustment in stationary state
133 * to suppress the scan.
134 *
135 * Related: mawc_roam_enabled.
136 *
137 * Supported Feature: MAWC Roaming
138 *
139 * Usage: Internal/External
140 *
141 * </ini>
142 */
143#define CFG_LFR_MAWC_ROAM_RSSI_LOW_ADJUST CFG_INI_UINT( \
144 "mawc_roam_rssi_low_adjust", \
145 3, \
146 5, \
147 5, \
148 CFG_VALUE_OR_DEFAULT, \
149 "Adjust MAWC roam low RSSI")
150
151/*
152 * <ini>
153 * rssi_abs_thresh - The min RSSI of the candidate AP to consider roam
154 * @Min: -96
155 * @Max: 0
156 * @Default: 0
157 *
158 * The RSSI value of the candidate AP should be higher than rssi_abs_thresh
159 * to roam to the AP. 0 means no absolute minimum RSSI is required.
160 *
161 * Related: None
162 *
163 * Supported Feature: Roaming
164 *
165 * Usage: External
166 *
167 * </ini>
168 */
169#define CFG_LFR_ROAM_RSSI_ABS_THRESHOLD CFG_INI_INT( \
170 "rssi_abs_thresh", \
171 -96, \
172 0, \
173 0, \
174 CFG_VALUE_OR_DEFAULT, \
175 "The min RSSI of the candidate AP to consider roam")
176
177/*
178 * <ini>
179 * lookup_threshold_5g_offset - Lookup threshold offset for 5G band
180 * @Min: -120
181 * @Max: 120
182 * @Default: 0
183 *
184 * This ini is used to set the 5G band lookup threshold for roaming.
185 * It depends on another INI which is gNeighborLookupThreshold.
186 * gNeighborLookupThreshold is a legacy INI item which will be used to
187 * set the RSSI lookup threshold for both 2G and 5G bands. If the
188 * user wants to setup a different threshold for a 5G band, then user
189 * can use this offset value which will be summed up to the value of
190 * gNeighborLookupThreshold and used for 5G
191 * e.g: gNeighborLookupThreshold = -76dBm
192 * lookup_threshold_5g_offset = 6dBm
193 * Then the 5G band will be configured to -76+6 = -70dBm
194 * A default value of Zero to lookup_threshold_5g_offset will keep the
195 * thresholds same for both 2G and 5G bands
196 *
197 * Related: gNeighborLookupThreshold
198 *
199 * Supported Feature: Roaming
200 *
201 * Usage: Internal/External
202 *
203 * </ini>
204 */
205#define CFG_LFR_5G_RSSI_THRESHOLD_OFFSET CFG_INI_INT( \
206 "lookup_threshold_5g_offset", \
207 -120, \
208 120, \
209 0, \
210 CFG_VALUE_OR_DEFAULT, \
211 "Lookup threshold offset for 5G band")
212
213/*
214 * <ini>
215 * gEnableFastRoamInConcurrency - Enable LFR roaming on STA during concurrency
216 * @Min: 0
217 * @Max: 1
218 * @Default: 1
219 *
220 * This INI is used to enable Legacy fast roaming(LFR) on STA link during
221 * concurrent sessions.
222 *
223 * Related: None
224 *
225 * Supported Feature: Roaming
226 *
227 * Usage: External
228 *
229 * </ini>
230 */
231#define CFG_LFR_ENABLE_FAST_ROAM_IN_CONCURRENCY CFG_INI_BOOL( \
232 "gEnableFastRoamInConcurrency", \
233 1, \
234 "Enable LFR roaming on STA during concurrency")
235
236/*
237 * <ini>
Wu Gao55f21712018-09-17 10:57:49 +0800238 * gEnableEarlyStopScan - Set early stop scan
239 * @Min: 0
240 * @Max: 1
Tushnim Bhattacharyya1fdefe52018-09-25 11:50:42 -0700241 * @Default: 0
Wu Gao55f21712018-09-17 10:57:49 +0800242 *
243 * This ini is used to set early stop scan. Early stop
244 * scan is a feature for roaming to stop the scans at
245 * an early stage as soon as we find a better AP to roam.
246 * This would make the roaming happen quickly.
247 *
248 * Related: None
249 *
250 * Supported Feature: LFR Scan
251 *
252 * Usage: External
253 *
254 * </ini>
255 */
256#define CFG_LFR_EARLY_STOP_SCAN_ENABLE CFG_INI_BOOL( \
257 "gEnableEarlyStopScan", \
Tushnim Bhattacharyya1fdefe52018-09-25 11:50:42 -0700258 0, \
Wu Gao55f21712018-09-17 10:57:49 +0800259 "Set early stop scan")
260
261/*
262 * <ini>
263 * gEarlyStopScanMinThreshold - Set early stop scan min
264 * threshold
265 * @Min: -80
266 * @Max: -70
267 * @Default: -73
268 *
269 * This ini is used to set the early stop scan minimum
270 * threshold. Early stop scan minimum threshold is the
271 * minimum threshold to be considered for stopping the
272 * scan. The algorithm starts with a scan on the greedy
273 * channel list with the maximum threshold and steps down
274 * the threshold by 20% for each further channel. It can
275 * step down on each channel but cannot go lower than the
276 * minimum threshold.
277 *
278 * Related: None
279 *
280 * Supported Feature: Scan
281 *
282 * Usage: External
283 *
284 * </ini>
285 */
286#define CFG_LFR_EARLY_STOP_SCAN_MIN_THRESHOLD CFG_INI_INT( \
287 "gEarlyStopScanMinThreshold", \
288 -80, \
289 -70, \
290 -73, \
291 CFG_VALUE_OR_DEFAULT, \
292 "Set early stop scan min")
293
294/*
295 * <ini>
296 * gEarlyStopScanMaxThreshold - Set early stop scan max
297 * threshold
298 * @Min: -60
299 * @Max: -40
300 * @Default: -43
301 *
302 * This ini is used to set the the early stop scan maximum
303 * threshold at which the candidate AP should be to be
304 * qualified as a potential roam candidate and good enough
305 * to stop the roaming scan.
306 *
307 * Related: None
308 *
309 * Supported Feature: Scan
310 *
311 * Usage: External
312 *
313 * </ini>
314 */
315#define CFG_LFR_EARLY_STOP_SCAN_MAX_THRESHOLD CFG_INI_INT( \
316 "gEarlyStopScanMaxThreshold", \
317 -60, \
318 -40, \
319 -43, \
320 CFG_VALUE_OR_DEFAULT, \
321 "Set early stop scan max")
322
323/*
324 * <ini>
325 * gFirstScanBucketThreshold - Set first scan bucket
326 * threshold
327 * @Min: -50
328 * @Max: -30
329 * @Default: -30
330 *
331 * This ini will configure the first scan bucket
332 * threshold to the mentioned value and all the AP's which
333 * have RSSI under this threshold will fall under this
334 * bucket. This configuration item used to tweak and
335 * test the input for internal algorithm.
336 *
337 * Related: None
338 *
339 * Supported Feature: Scan
340 *
341 * Usage: Internal
342 *
343 * </ini>
344 */
345#define CFG_LFR_FIRST_SCAN_BUCKET_THRESHOLD CFG_INI_INT( \
346 "gFirstScanBucketThreshold", \
347 -50, \
348 -30, \
349 -30, \
350 CFG_VALUE_OR_DEFAULT, \
351 "Set first scan bucket")
352
353/*
354 * <ini>
Wu Gao55f21712018-09-17 10:57:49 +0800355 * gtraffic_threshold - Dense traffic threshold
356 * @Min: 0
357 * @Max: 0xffffffff
358 * @Default: 400
359 *
360 * Dense traffic threshold
361 * traffic threshold required for dense roam scan
362 * Measured in kbps
363 *
364 * Related: None
365 *
366 * Supported Feature: Roaming
367 *
368 * Usage: External
369 *
370 * </ini>
371 */
372#define CFG_LFR_ROAM_DENSE_TRAFFIC_THRESHOLD CFG_INI_UINT( \
373 "gtraffic_threshold", \
374 0, \
375 0xffffffff, \
376 400, \
377 CFG_VALUE_OR_DEFAULT, \
378 "Dense traffic threshold")
379
380/*
381 * <ini>
382 * groam_dense_rssi_thresh_offset - Sets dense roam RSSI threshold diff
383 * @Min: 0
384 * @Max: 20
385 * @Default: 10
386 *
387 * This INI is used to set offset value from normal RSSI threshold to dense
388 * RSSI threshold FW will optimize roaming based on new RSSI threshold once
389 * it detects dense environment.
390 *
391 * Related: None
392 *
393 * Supported Feature: Roaming
394 *
395 * Usage: External
396 *
397 * </ini>
398 */
399#define CFG_LFR_ROAM_DENSE_RSSI_THRE_OFFSET CFG_INI_UINT( \
400 "groam_dense_rssi_thresh_offset", \
401 0, \
402 20, \
403 10, \
404 CFG_VALUE_OR_DEFAULT, \
405 "Dense traffic threshold")
406
407/*
408 * <ini>
409 * groam_dense_min_aps - Sets minimum number of AP for dense roam
410 * @Min: 1
411 * @Max: 5
412 * @Default: 3
413 *
414 * Minimum number of APs required for dense roam. FW will consider
415 * environment as dense once it detects #APs operating is more than
416 * groam_dense_min_aps.
417 *
418 * Related: None
419 *
420 * Supported Feature: Roaming
421 *
422 * Usage: External
423 *
424 * </ini>
425 */
426#define CFG_LFR_ROAM_DENSE_MIN_APS CFG_INI_UINT( \
427 "groam_dense_min_aps", \
428 1, \
429 5, \
430 3, \
431 CFG_VALUE_OR_DEFAULT, \
432 "Sets minimum number of AP for dense roam")
433
434/*
435 * <ini>
436 * roam_bg_scan_bad_rssi_thresh - RSSI threshold for background roam
437 * @Min: -96
438 * @Max: 0
439 * @Default: -76
440 *
441 * If the DUT is connected to an AP with weak signal, then the bad RSSI
442 * threshold will be used as an opportunity to use the scan results
443 * from other scan clients and try to roam if there is a better AP
444 * available in the environment.
445 *
446 * Related: None
447 *
448 * Supported Feature: Roaming
449 *
450 * Usage: External
451 *
452 * </ini>
453 */
454#define CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD CFG_INI_INT( \
455 "roam_bg_scan_bad_rssi_thresh", \
456 -96, \
457 0, \
458 -76, \
459 CFG_VALUE_OR_DEFAULT, \
460 "RSSI threshold for background roam")
461
462/*
463 * <ini>
464 * roam_bg_scan_client_bitmap - Bitmap used to identify the scan clients
465 * @Min: 0
466 * @Max: 0x7FF
467 * @Default: 0x424
468 *
469 * This bitmap is used to define the client scans that need to be used
470 * by the roaming module to perform a background roaming.
471 * Currently supported bit positions are as follows:
472 * Bit 0 is reserved in the firmware.
473 * WMI_SCAN_CLIENT_NLO - 1
474 * WMI_SCAN_CLIENT_EXTSCAN - 2
475 * WMI_SCAN_CLIENT_ROAM - 3
476 * WMI_SCAN_CLIENT_P2P - 4
477 * WMI_SCAN_CLIENT_LPI - 5
478 * WMI_SCAN_CLIENT_NAN - 6
479 * WMI_SCAN_CLIENT_ANQP - 7
480 * WMI_SCAN_CLIENT_OBSS - 8
481 * WMI_SCAN_CLIENT_PLM - 9
482 * WMI_SCAN_CLIENT_HOST - 10
483 *
484 * Related: None
485 *
486 * Supported Feature: Roaming
487 *
488 * Usage: External
489 *
490 * </ini>
491 */
492#define CFG_LFR_ROAM_BG_SCAN_CLIENT_BITMAP CFG_INI_UINT( \
493 "roam_bg_scan_client_bitmap", \
494 0, \
495 0x7FF, \
496 0x424, \
497 CFG_VALUE_OR_DEFAULT, \
498 "Bitmap used to identify the scan clients")
499
500/*
501 * <ini>
502 * roam_bad_rssi_thresh_offset_2g - RSSI threshold offset for 2G to 5G roam
503 * @Min: 0
504 * @Max: 86
505 * @Default: 40
506 *
507 * If the DUT is connected to an AP with weak signal in 2G band, then the
508 * bad RSSI offset for 2g would be used as offset from the bad RSSI
509 * threshold configured and then use the resulting rssi for an opportunity
510 * to use the scan results from other scan clients and try to roam to
511 * 5G Band ONLY if there is a better AP available in the environment.
512 *
513 * For example if the roam_bg_scan_bad_rssi_thresh is -76 and
514 * roam_bad_rssi_thresh_offset_2g is 40 then the difference of -36 would be
515 * used as a trigger to roam to a 5G AP if DUT initially connected to a 2G AP
516 *
517 * Related: roam_bg_scan_bad_rssi_thresh
518 *
519 * Supported Feature: Roaming
520 *
521 * Usage: External
522 *
523 * </ini>
524 */
525#define CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G CFG_INI_UINT( \
526 "roam_bad_rssi_thresh_offset_2g", \
527 0, \
528 86, \
529 40, \
530 CFG_VALUE_OR_DEFAULT, \
531 "RSSI threshold offset for 2G to 5G roam")
532
533/*
534 * <ini>
535 * roamscan_adaptive_dwell_mode - Sets dwell time adaptive mode
536 * @Min: 0
537 * @Max: 4
Jianmin Zhu0423e332019-04-21 14:26:28 +0800538 * @Default: 4
Wu Gao55f21712018-09-17 10:57:49 +0800539 *
540 * This parameter will set the algo used in dwell time optimization during
541 * roam scan. see enum scan_dwelltime_adaptive_mode.
542 * Acceptable values for this:
543 * 0: Default (Use firmware default mode)
544 * 1: Conservative optimization
545 * 2: Moderate optimization
546 * 3: Aggressive optimization
547 * 4: Static
548 *
549 * Related: None
550 *
551 * Supported Feature: Roaming
552 *
553 * Usage: External
554 *
555 * </ini>
556 */
557#define CFG_LFR_ADAPTIVE_ROAMSCAN_DWELL_MODE CFG_INI_UINT( \
558 "roamscan_adaptive_dwell_mode", \
559 0, \
560 4, \
Jianmin Zhu0423e332019-04-21 14:26:28 +0800561 4, \
Wu Gao55f21712018-09-17 10:57:49 +0800562 CFG_VALUE_OR_DEFAULT, \
563 "Sets dwell time adaptive mode")
564
565/*
566 * <ini>
567 * gper_roam_enabled - To enabled/disable PER based roaming in FW
568 * @Min: 0
569 * @Max: 3
570 * @Default: 3
571 *
572 * This ini is used to enable/disable Packet error based roaming, enabling this
573 * will cause DUT to monitor Tx and Rx traffic and roam to a better candidate
574 * if current is not good enough.
575 *
576 * Values supported:
577 * 0: disabled
578 * 1: enabled for Rx traffic
579 * 2: enabled for Tx traffic
580 * 3: enabled for Tx and Rx traffic
581 *
582 * Related: gper_roam_high_rate_th, gper_roam_low_rate_th,
583 * gper_roam_th_percent, gper_roam_rest_time
584 *
585 * Supported Feature: LFR-3.0
586 *
587 * Usage: Internal
588 *
589 * </ini>
590 */
591#define CFG_LFR_PER_ROAM_ENABLE CFG_INI_UINT( \
592 "gper_roam_enabled", \
593 0, \
594 3, \
595 3, \
596 CFG_VALUE_OR_DEFAULT, \
597 "To enabled/disable PER based roaming in FW")
598
599/*
600 * <ini>
601 * gper_roam_high_rate_th - Rate at which PER based roam will stop
602 * @Min: 1 Mbps
603 * @Max: 0xffffffff
604 * @Default: 40 Mbps
605 *
606 * This ini is used to define the data rate in mbps*10 at which FW will stop
607 * monitoring the traffic for PER based roam.
608 *
609 * Related: gper_roam_enabled, gper_roam_low_rate_th,
610 * gper_roam_th_percent, gper_roam_rest_time
611 *
612 * Supported Feature: LFR-3.0
613 *
614 * Usage: Internal
615 *
616 * </ini>
617 */
618#define CFG_LFR_PER_ROAM_CONFIG_HIGH_RATE_TH CFG_INI_UINT( \
619 "gper_roam_high_rate_th", \
620 10, \
621 0xffffffff, \
622 400, \
623 CFG_VALUE_OR_DEFAULT, \
624 "Rate at which PER based roam will stop")
625
626/*
627 * <ini>
628 * gper_roam_low_rate_th - Rate at which FW starts considering traffic for PER
629 * based roam.
630 *
631 * @Min: 1 Mbps
632 * @Max: 0xffffffff
633 * @Default: 20 Mbps
634 *
635 * This ini is used to define the rate in mbps*10 at which FW starts considering
636 * traffic for PER based roam, if gper_roam_th_percent of data is below this
637 * rate, FW will issue a roam scan.
638 *
639 * Related: gper_roam_enabled, gper_roam_high_rate_th,
640 * gper_roam_th_percent, gper_roam_rest_time
641 *
642 * Supported Feature: LFR-3.0
643 *
644 * Usage: Internal
645 *
646 * </ini>
647 */
648#define CFG_LFR_PER_ROAM_CONFIG_LOW_RATE_TH CFG_INI_UINT( \
649 "gper_roam_low_rate_th", \
650 10, \
651 0xffffffff, \
652 200, \
653 CFG_VALUE_OR_DEFAULT, \
654 "Rate at which FW starts considering traffic for PER")
655
656/*
657 * <ini>
658 * gper_roam_th_percent - Percentage at which FW will issue a roam scan if
659 * traffic is below gper_roam_low_rate_th rate.
660 *
661 * @Min: 10%
662 * @Max: 100%
663 * @Default: 60%
664 *
665 * This ini is used to define the percentage at which FW will issue a roam scan
666 * if traffic is below gper_roam_low_rate_th rate.
667 *
668 * Related: gper_roam_enabled, gper_roam_high_rate_th,
669 * gper_roam_high_rate_th, gper_roam_rest_time
670 *
671 * Supported Feature: LFR-3.0
672 *
673 * Usage: Internal
674 *
675 * </ini>
676 */
677#define CFG_LFR_PER_ROAM_CONFIG_RATE_TH_PERCENT CFG_INI_UINT( \
678 "gper_roam_th_percent", \
679 10, \
680 100, \
681 60, \
682 CFG_VALUE_OR_DEFAULT, \
683 "Percentage at which FW will issue a roam scan")
684
685/*
686 * <ini>
687 * gper_roam_rest_time - Time for which FW will wait once it issues a
688 * roam scan.
689 *
690 * @Min: 10 seconds
691 * @Max: 3600 seconds
692 * @Default: 300 seconds
693 *
694 * This ini is used to define the time for which FW will wait once it issues a
695 * PER based roam scan.
696 *
697 * Related: gper_roam_enabled, gper_roam_high_rate_th,
698 * gper_roam_high_rate_th, gper_roam_th_percent
699 *
700 * Supported Feature: LFR-3.0
701 *
702 * Usage: Internal
703 *
704 * </ini>
705 */
706#define CFG_LFR_PER_ROAM_REST_TIME CFG_INI_UINT( \
707 "gper_roam_rest_time", \
708 10, \
709 3600, \
710 300, \
711 CFG_VALUE_OR_DEFAULT, \
712 "Time for which FW will wait once it issues a roam scan")
713
714/*
715 * <ini>
716 * gper_roam_mon_time - Minimum time required in seconds to
717 * be considered as valid scenario for PER based roam
718 * @Min: 5
719 * @Max: 25
720 * @Default: 25
721 *
722 * This ini is used to define minimum time in seconds for which DUT has
723 * collected the PER stats before it can consider the stats hysteresis to be
724 * valid for PER based scan.
725 * DUT collects following information during this period:
726 * 1. % of packets below gper_roam_low_rate_th
727 * 2. # packets above gper_roam_high_rate_th
728 * if DUT gets (1) greater than gper_roam_th_percent and (2) is zero during
729 * this period, it triggers PER based roam scan.
730 *
731 * Related: gper_roam_enabled, gper_roam_high_rate_th, gper_roam_low_rate_th,
732 * gper_roam_th_percent, gper_roam_rest_time
733 *
734 * Supported Feature: LFR-3.0
735 *
736 * Usage: Internal
737 *
738 * </ini>
739 */
740#define CFG_LFR_PER_ROAM_MONITOR_TIME CFG_INI_UINT( \
741 "gper_roam_mon_time", \
742 5, \
743 25, \
744 25, \
745 CFG_VALUE_OR_DEFAULT, \
746 "Minimum time to be considered as valid scenario for PER based roam")
747
748/*
749 * <ini>
750 * gper_min_rssi_threshold_for_roam - Minimum roamable AP RSSI for
751 * candidate selection for PER based roam
752 * @Min: 0
753 * @Max: 96
754 * @Default: 83
755 *
756 * Minimum roamable AP RSSI for candidate selection for PER based roam
757 *
758 * Related: gper_roam_enabled, gper_roam_high_rate_th, gper_roam_low_rate_th,
759 * gper_roam_th_percent, gper_roam_rest_time
760 *
761 * Supported Feature: LFR-3.0
762 *
763 * Usage: Internal
764 *
765 * </ini>
766 */
767#define CFG_LFR_PER_ROAM_MIN_CANDIDATE_RSSI CFG_INI_UINT( \
768 "gper_min_rssi_threshold_for_roam", \
769 10, \
770 96, \
771 83, \
772 CFG_VALUE_OR_DEFAULT, \
773 "Minimum roamable AP RSSI for candidate selection for PER based roam")
774
775/*
776 * <ini>
777 * groam_disallow_duration - disallow duration before roaming
778 * @Min: 0
779 * @Max: 3600
780 * @Default: 30
781 *
782 * This ini is used to configure how long LCA[Last Connected AP] AP will
783 * be disallowed before it can be a roaming candidate again, in units of
784 * seconds.
785 *
786 * Related: LFR
787 *
788 * Usage: Internal
789 *
790 * </ini>
791 */
792#define CFG_LFR3_ROAM_DISALLOW_DURATION CFG_INI_UINT( \
793 "groam_disallow_duration", \
794 0, \
795 3600, \
796 30, \
797 CFG_VALUE_OR_DEFAULT, \
798 "disallow duration before roaming")
799
800/*
801 * <ini>
802 * grssi_channel_penalization - RSSI penalization
803 * @Min: 0
804 * @Max: 15
805 * @Default: 5
806 *
807 * This ini is used to configure RSSI that will be penalized if candidate(s)
808 * are found to be in the same channel as disallowed AP's, in units of db.
809 *
810 * Related: LFR
811 *
812 * Usage: Internal
813 *
814 * </ini>
815 */
816#define CFG_LFR3_ROAM_RSSI_CHANNEL_PENALIZATION CFG_INI_UINT( \
817 "grssi_channel_penalization", \
818 0, \
819 15, \
820 5, \
821 CFG_VALUE_OR_DEFAULT, \
822 "RSSI penalization")
823
824/*
825 * <ini>
826 * groam_num_disallowed_aps - Max number of AP's to maintain in LCA list
827 * @Min: 0
828 * @Max: 8
829 * @Default: 3
830 *
831 * This ini is used to set the maximum number of AP's to be maintained
832 * in LCA [Last Connected AP] list.
833 *
834 * Related: LFR
835 *
836 * Usage: Internal
837 *
838 * </ini>
839 */
840#define CFG_LFR3_ROAM_NUM_DISALLOWED_APS CFG_INI_UINT( \
841 "groam_num_disallowed_aps", \
842 0, \
843 8, \
844 3, \
845 CFG_VALUE_OR_DEFAULT, \
846 "Max number of AP's to maintain in LCA list")
847
848/*
849 * <ini>
850 * enable_5g_band_pref - Enable preference for 5G from INI.
851 * @Min: 0
852 * @Max: 1
853 * @Default: 0
854 * This ini is used to enable 5G preference parameters.
855 *
856 * Related: 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
857 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
858 *
859 * Supported Feature: 5G band preference
860 *
861 * Usage: External
862 *
863 * </ini>
864 */
865#define CFG_LFR_ENABLE_5G_BAND_PREF CFG_INI_BOOL( \
866 "enable_5g_band_pref", \
867 0, \
868 "Enable preference for 5G from INI")
869
870/*
871 * <ini>
872 * 5g_rssi_boost_threshold - A_band_boost_threshold above which 5G is favored.
Rajeev Kumar Sirasanagandla31fe28f2019-05-15 19:36:52 +0530873 * @Min: -70
874 * @Max: -55
Wu Gao55f21712018-09-17 10:57:49 +0800875 * @Default: -60
876 * This ini is used to set threshold for 5GHz band preference.
877 *
878 * Related: 5g_rssi_boost_factor, 5g_max_rssi_boost
879 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
880 *
881 * Supported Feature: 5G band preference
882 *
883 * Usage: External
884 *
885 * </ini>
886 */
887#define CFG_LFR_5G_RSSI_BOOST_THRESHOLD CFG_INI_INT( \
888 "5g_rssi_boost_threshold", \
Wu Gao55f21712018-09-17 10:57:49 +0800889 -70, \
Rajeev Kumar Sirasanagandla31fe28f2019-05-15 19:36:52 +0530890 -55, \
Wu Gao55f21712018-09-17 10:57:49 +0800891 -60, \
892 CFG_VALUE_OR_DEFAULT, \
893 "A_band_boost_threshold above which 5 GHz is favored")
894
895/*
896 * <ini>
897 * 5g_rssi_boost_factor - Factor by which 5GHz RSSI is boosted.
898 * @Min: 0
899 * @Max: 2
900 * @Default: 1
901 * This ini is used to set the 5Ghz boost factor.
902 *
903 * Related: 5g_rssi_boost_threshold, 5g_max_rssi_boost
904 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
905 *
906 * Supported Feature: 5G band preference
907 *
908 * Usage: External
909 *
910 * </ini>
911 */
912#define CFG_LFR_5G_RSSI_BOOST_FACTOR CFG_INI_UINT( \
913 "5g_rssi_boost_factor", \
914 0, \
915 2, \
916 1, \
917 CFG_VALUE_OR_DEFAULT, \
918 "Factor by which 5GHz RSSI is boosted")
919
920/*
921 * <ini>
922 * 5g_max_rssi_boost - Maximum boost that can be applied to 5GHz RSSI.
923 * @Min: 0
924 * @Max: 20
925 * @Default: 10
926 * This ini is used to set maximum boost which can be given to a 5Ghz network.
927 *
928 * Related: 5g_rssi_boost_threshold, 5g_rssi_boost_factor
929 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
930 *
931 * Supported Feature: 5G band preference
932 *
933 * Usage: External
934 *
935 * </ini>
936 */
937#define CFG_LFR_5G_MAX_RSSI_BOOST CFG_INI_UINT( \
938 "5g_max_rssi_boost", \
939 0, \
940 20, \
941 10, \
942 CFG_VALUE_OR_DEFAULT, \
943 "Maximum boost that can be applied to 5GHz RSSI")
944
945/*
946 * <ini>
947 * 5g_rssi_penalize_threshold - A_band_penalize_threshold above which
948 * 5 GHz is not favored.
Rajeev Kumar Sirasanagandla31fe28f2019-05-15 19:36:52 +0530949 * @Min: -80
950 * @Max: -65
Wu Gao55f21712018-09-17 10:57:49 +0800951 * @Default: -70
952 * This ini is used to set threshold for 5GHz band preference.
953 *
954 * Related: 5g_rssi_penalize_factor, 5g_max_rssi_penalize
955 * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
956 *
957 * Supported Feature: 5G band preference
958 *
959 * Usage: External
960 *
961 * </ini>
962 */
963#define CFG_LFR_5G_RSSI_PENALIZE_THRESHOLD CFG_INI_INT( \
964 "5g_rssi_penalize_threshold", \
Wu Gao55f21712018-09-17 10:57:49 +0800965 -80, \
Rajeev Kumar Sirasanagandla31fe28f2019-05-15 19:36:52 +0530966 -65, \
Wu Gao55f21712018-09-17 10:57:49 +0800967 -70, \
968 CFG_VALUE_OR_DEFAULT, \
969 "A_band_penalize_threshold above which 5 GHz is not favored")
970
971/*
972 * <ini>
973 * 5g_rssi_penalize_factor - Factor by which 5GHz RSSI is penalizeed.
974 * @Min: 0
975 * @Max: 2
976 * @Default: 1
977 * This ini is used to set the 5Ghz penalize factor.
978 *
979 * Related: 5g_rssi_penalize_threshold, 5g_max_rssi_penalize
980 * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
981 *
982 * Supported Feature: 5G band preference
983 *
984 * Usage: External
985 *
986 * </ini>
987 */
988#define CFG_LFR_5G_RSSI_PENALIZE_FACTOR CFG_INI_UINT( \
989 "5g_rssi_penalize_factor", \
990 0, \
991 2, \
992 1, \
993 CFG_VALUE_OR_DEFAULT, \
994 "Factor by which 5GHz RSSI is penalizeed")
995
996/*
997 * <ini>
998 * 5g_max_rssi_penalize - Maximum penalty that can be applied to 5GHz RSSI.
999 * @Min: 0
1000 * @Max: 20
1001 * @Default: 10
1002 * This ini is used to set maximum penalty which can be given to a 5Ghz network.
1003 *
1004 * Related: 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor
1005 * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
1006 *
1007 * Supported Feature: 5G band preference
1008 *
1009 * Usage: External
1010 *
1011 * </ini>
1012 */
1013#define CFG_LFR_5G_MAX_RSSI_PENALIZE CFG_INI_UINT( \
1014 "5g_max_rssi_penalize", \
1015 0, \
1016 20, \
1017 10, \
1018 CFG_VALUE_OR_DEFAULT, \
1019 "Maximum penalty that can be applied to 5GHz RSSI")
1020
1021/*
1022 * max_num_pre_auth - Configure max number of pre-auth
1023 * @Min: 0
1024 * @Max: 256
1025 * @Default: 64
1026 *
1027 * This ini is used to configure the data max number of pre-auth
1028 *
1029 * Usage: Internal
1030 *
1031 */
1032#define CFG_LFR_MAX_NUM_PRE_AUTH CFG_UINT( \
1033 "max_num_pre_auth", \
1034 0, \
1035 256, \
1036 64, \
1037 CFG_VALUE_OR_DEFAULT, \
1038 "")
1039
Sourav Mohapatra5ba8da32018-07-16 09:21:15 +05301040/*
1041 * roam_preauth_retry_count
1042 *
1043 * @Min: 1
1044 * @Max: 10
1045 * @Default: 5
1046 *
1047 * The maximum number of software retries for preauth or
1048 * reassoc made before picking up the next candidate for
1049 * connection during roaming.
1050 *
1051 * Related: N/A
1052 *
1053 * Supported Features: Roaming
1054 *
1055 * Usage: Internal/External
1056 *
1057 * </ini>
1058 */
1059#define CFG_LFR3_ROAM_PREAUTH_RETRY_COUNT CFG_INI_INT( \
1060 "roam_preauth_retry_count", \
1061 1, \
1062 10, \
1063 5, \
1064 CFG_VALUE_OR_DEFAULT, \
1065 "The maximum number of software retries for preauth")
1066
1067/*
1068 * <ini>
1069 * roam_preauth_no_ack_timeout
1070 *
1071 * @Min: 5
1072 * @Max: 50
1073 * @Default: 5
1074 *
1075 * Time to wait (in ms) after sending an preauth or reassoc
1076 * request which didn’t have an ack, before considering
1077 * it as a failure and making another software retry.
1078 *
1079 * Related: N/A
1080 *
1081 * Supported Features: Roaming
1082 *
1083 * Usage: Internal/External
1084 *
1085 * </ini>
1086 */
1087#define CFG_LFR3_ROAM_PREAUTH_NO_ACK_TIMEOUT CFG_INI_INT( \
1088 "roam_preauth_no_ack_timeout", \
1089 5, \
1090 50, \
1091 5, \
1092 CFG_VALUE_OR_DEFAULT, \
1093 "Time to wait after sending an preauth or reassoc")
1094
Wu Gao5d23d782018-11-08 16:09:47 +08001095/*
1096 * <ini>
1097 * FastRoamEnabled - Enable fast roaming
1098 * @Min: 0
1099 * @Max: 1
1100 * @Default: 0
1101 *
1102 * This ini is used to inform FW to enable fast roaming
1103 *
1104 * Related: None
1105 *
1106 * Supported Feature: Roaming
1107 *
1108 * Usage: External
1109 *
1110 * </ini>
1111 */
1112#define CFG_LFR_FEATURE_ENABLED CFG_INI_BOOL( \
1113 "FastRoamEnabled", \
1114 0, \
1115 "Enable fast roaming")
1116
1117/*
1118 * <ini>
1119 * MAWCEnabled - Enable/Disable Motion Aided Wireless Connectivity Global
1120 * @Min: 0 - Disabled
1121 * @Max: 1 - Enabled
1122 * @Default: 0
1123 *
1124 * This ini is used to controls the MAWC feature globally.
1125 * MAWC is Motion Aided Wireless Connectivity.
1126 *
1127 * Related: mawc_roam_enabled.
1128 *
1129 * Supported Feature: Roaming and PNO/NLO
1130 *
1131 * Usage: Internal/External
1132 *
1133 * </ini>
1134 */
1135#define CFG_LFR_MAWC_FEATURE_ENABLED CFG_INI_BOOL( \
1136 "MAWCEnabled", \
1137 0, \
1138 "Enable MAWC")
1139
1140/*
1141 * <ini>
1142 * FastTransitionEnabled - Enable fast transition in case of 11r and ese.
1143 * @Min: 0
1144 * @Max: 1
1145 * @Default: 1
1146 *
1147 * This ini is used to turn ON/OFF the whole neighbor roam, pre-auth, reassoc.
1148 * With this turned OFF 11r will completely not work. For 11r this flag has to
1149 * be ON. For ESE fastroam will not work.
1150 *
1151 * Related: None
1152 *
1153 * Supported Feature: Roaming
1154 *
1155 * Usage: External
1156 *
1157 * </ini>
1158 */
1159#define CFG_LFR_FAST_TRANSITION_ENABLED CFG_INI_BOOL( \
1160 "FastTransitionEnabled", \
1161 1, \
1162 "Enable fast transition")
1163
1164/*
1165 * <ini>
1166 * RoamRssiDiff - Enable roam based on rssi
1167 * @Min: 0
Abhishek Ambure2372a902020-01-24 12:33:44 +05301168 * @Max: 100
Wu Gao5d23d782018-11-08 16:09:47 +08001169 * @Default: 5
1170 *
1171 * This INI is used to decide whether to Roam or not based on RSSI. AP1 is the
1172 * currently associated AP and AP2 is chosen for roaming. The Roaming will
1173 * happen only if AP2 has better Signal Quality and it has a RSSI better than
1174 * AP2. RoamRssiDiff is the number of units (typically measured in dB) AP2
1175 * is better than AP1.
1176 *
1177 * Related: None
1178 *
1179 * Supported Feature: Roaming
1180 *
1181 * Usage: External
1182 *
1183 * </ini>
1184 */
1185#define CFG_LFR_ROAM_RSSI_DIFF CFG_INI_UINT( \
1186 "RoamRssiDiff", \
1187 0, \
Abhishek Ambure2372a902020-01-24 12:33:44 +05301188 100, \
Wu Gao5d23d782018-11-08 16:09:47 +08001189 5, \
1190 CFG_VALUE_OR_DEFAULT, \
1191 "Enable roam based on rssi")
1192
1193/*
1194 * <ini>
1195 * gWESModeEnabled - Enable WES mode
1196 * @Min: 0
1197 * @Max: 1
1198 * @Default: 0
1199 *
1200 * This ini is used to enable/disable Wireless Extended Security mode.
1201 *
1202 * Related: None
1203 *
1204 * Supported Feature: Roaming
1205 *
1206 * Usage: External
1207 *
1208 * </ini>
1209 */
1210#define CFG_LFR_ENABLE_WES_MODE CFG_INI_BOOL( \
1211 "gWESModeEnabled", \
1212 0, \
1213 "Enable WES mode")
1214
1215/*
1216 * <ini>
1217 * gRoamScanOffloadEnabled - Enable Roam Scan Offload
1218 * @Min: 0
1219 * @Max: 1
1220 * @Default: 1
1221 *
1222 * This INI is used to enable Roam Scan Offload in firmware
1223 *
1224 * Related: None
1225 *
1226 * Supported Feature: Roaming
1227 *
1228 * Usage: External
1229 *
1230 * </ini>
1231 */
1232#define CFG_LFR_ROAM_SCAN_OFFLOAD_ENABLED CFG_INI_BOOL( \
1233 "gRoamScanOffloadEnabled", \
1234 1, \
1235 "Enable Roam Scan Offload")
1236
1237/*
1238 * <ini>
1239 * gNeighborScanChannelList - Set channels to be scanned
1240 * by firmware for LFR scan
1241 * @Default: ""
1242 *
1243 * This ini is used to set the channels to be scanned
1244 * by firmware for LFR scan.
1245 *
1246 * Related: None
1247 *
1248 * Supported Feature: LFR Scan
1249 *
1250 * Usage: External
1251 *
1252 * </ini>
1253 */
1254
1255#define CFG_LFR_NEIGHBOR_SCAN_CHANNEL_LIST CFG_INI_STRING( \
1256 "gNeighborScanChanList", \
1257 0, \
1258 CFG_VALID_CHANNEL_LIST_STRING_LEN, \
1259 "", \
1260 "Set channels to be scanned")
1261
1262/*
1263 * <ini>
1264 * gNeighborScanTimerPeriod - Set neighbor scan timer period
1265 * @Min: 3
1266 * @Max: 300
1267 * @Default: 100
1268 *
1269 * This ini is used to set the timer period in secs after
1270 * which neighbor scan is trigerred.
1271 *
1272 * Related: None
1273 *
1274 * Supported Feature: LFR Scan
1275 *
1276 * Usage: External
1277 *
1278 * </ini>
1279 */
1280#define CFG_LFR_NEIGHBOR_SCAN_TIMER_PERIOD CFG_INI_UINT( \
1281 "gNeighborScanTimerPeriod", \
1282 3, \
1283 300, \
1284 100, \
1285 CFG_VALUE_OR_DEFAULT, \
1286 "Neighbor scan timer period")
1287
1288/*
1289 * <ini>
1290 * gRoamRestTimeMin - Set min neighbor scan timer period
1291 * @Min: 3
1292 * @Max: 300
1293 * @Default: 50
1294 *
1295 * This is the min rest time after which firmware will check for traffic
1296 * and if there no traffic it will move to a new channel to scan
1297 * else it will stay on the home channel till gNeighborScanTimerPeriod time
1298 * and then will move to a new channel to scan.
1299 *
1300 * Related: None
1301 *
1302 * Supported Feature: LFR Scan
1303 *
1304 * Usage: External
1305 *
1306 * </ini>
1307 */
1308#define CFG_LFR_NEIGHBOR_SCAN_MIN_TIMER_PERIOD CFG_INI_UINT( \
1309 "gRoamRestTimeMin", \
1310 3, \
1311 300, \
1312 50, \
1313 CFG_VALUE_OR_DEFAULT, \
1314 "Min neighbor scan timer period")
1315
1316/*
1317 * <ini>
1318 * gNeighborLookupThreshold - Set neighbor lookup rssi threshold
1319 * @Min: 10
1320 * @Max: 120
1321 * @Default: 78
1322 *
1323 * This is used to control the RSSI threshold for neighbor lookup.
1324 *
1325 * Related: None
1326 *
1327 * Supported Feature: LFR Scan
1328 *
1329 * Usage: External
1330 *
1331 * </ini>
1332 */
1333#define CFG_LFR_NEIGHBOR_LOOKUP_RSSI_THRESHOLD CFG_INI_UINT( \
1334 "gNeighborLookupThreshold", \
1335 10, \
1336 120, \
1337 78, \
1338 CFG_VALUE_OR_DEFAULT, \
1339 "Neighbor lookup rssi threshold")
1340
1341/*
1342 * <ini>
1343 * gOpportunisticThresholdDiff - Set oppurtunistic threshold diff
1344 * @Min: 0
1345 * @Max: 127
1346 * @Default: 0
1347 *
1348 * This ini is used to set opportunistic threshold diff.
1349 * This parameter is the RSSI diff above neighbor lookup
1350 * threshold, when opportunistic scan should be triggered.
1351 * MAX value is chosen so that this type of scan can be
1352 * always enabled by user.
1353 * MIN value will cause opportunistic scan to be triggered
1354 * in neighbor lookup RSSI range.
1355 *
1356 * Related: None
1357 *
1358 * Supported Feature: LFR Scan
1359 *
1360 * Usage: External
1361 *
1362 * </ini>
1363 */
1364#define CFG_LFR_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF CFG_INI_UINT( \
1365 "gOpportunisticThresholdDiff", \
1366 0, \
1367 127, \
1368 0, \
1369 CFG_VALUE_OR_DEFAULT, \
1370 "Set oppurtunistic threshold diff")
1371
1372/*
1373 * <ini>
1374 * gRoamRescanRssiDiff - Sets RSSI for Scan trigger in firmware
1375 * @Min: 0
1376 * @Max: 100
1377 * @Default: 5
1378 *
1379 * This INI is the drop in RSSI value that will trigger a precautionary
1380 * scan by firmware. Max value is chosen in such a way that this type
1381 * of scan can be disabled by user.
1382 *
1383 * Related: None
1384 *
1385 * Supported Feature: Roaming
1386 *
1387 * Usage: External
1388 *
1389 * </ini>
1390 */
1391#define CFG_LFR_ROAM_RESCAN_RSSI_DIFF CFG_INI_UINT( \
1392 "gRoamRescanRssiDiff", \
1393 0, \
1394 100, \
1395 5, \
1396 CFG_VALUE_OR_DEFAULT, \
1397 "Sets RSSI for Scan trigger in firmware")
1398
1399/*
1400 * <ini>
1401 * gNeighborScanChannelMinTime - Set neighbor scan channel min time
1402 * @Min: 10
1403 * @Max: 40
1404 * @Default: 20
1405 *
1406 * This ini is used to set the minimum time in secs spent on each
1407 * channel in LFR scan inside firmware.
1408 *
1409 * Related: None
1410 *
1411 * Supported Feature: LFR Scan
1412 *
1413 * Usage: External
1414 *
1415 * </ini>
1416 */
1417#define CFG_LFR_NEIGHBOR_SCAN_MIN_CHAN_TIME CFG_INI_UINT( \
1418 "gNeighborScanChannelMinTime", \
1419 10, \
1420 40, \
1421 20, \
1422 CFG_VALUE_OR_DEFAULT, \
1423 "Neighbor scan channel min time")
1424
1425/*
1426 * <ini>
1427 * gNeighborScanChannelMaxTime - Set neighbor scan channel max time
1428 * @Min: 3
1429 * @Max: 300
Abhinav Kumar9d473042019-07-09 12:35:33 +05301430 * @Default: 40
Wu Gao5d23d782018-11-08 16:09:47 +08001431 *
1432 * This ini is used to set the maximum time in secs spent on each
1433 * channel in LFR scan inside firmware.
1434 *
1435 * Related: None
1436 *
1437 * Supported Feature: LFR Scan
1438 *
1439 * Usage: External
1440 *
1441 * </ini>
1442 */
1443#define CFG_LFR_NEIGHBOR_SCAN_MAX_CHAN_TIME CFG_INI_UINT( \
1444 "gNeighborScanChannelMaxTime", \
1445 3, \
1446 300, \
Abhinav Kumar9d473042019-07-09 12:35:33 +05301447 40, \
Wu Gao5d23d782018-11-08 16:09:47 +08001448 CFG_VALUE_OR_DEFAULT, \
1449 "Neighbor scan channel max time")
1450
1451/*
1452 * <ini>
1453 * gNeighborScanRefreshPeriod - Set neighbor scan refresh period
1454 * @Min: 1000
1455 * @Max: 60000
1456 * @Default: 20000
1457 *
1458 * This ini is used by firmware to set scan refresh period
1459 * in msecs for lfr scan.
1460 *
1461 * Related: None
1462 *
1463 * Supported Feature: LFR Scan
1464 *
1465 * Usage: External
1466 *
1467 * </ini>
1468 */
1469#define CFG_LFR_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD CFG_INI_UINT( \
1470 "gNeighborScanRefreshPeriod", \
1471 1000, \
1472 60000, \
1473 20000, \
1474 CFG_VALUE_OR_DEFAULT, \
1475 "Neighbor scan refresh period")
1476
1477/*
1478 * <ini>
Srinivas Dasari225abbf2019-08-04 23:28:09 +05301479 * gFullRoamScanPeriod - Set full roam scan refresh period
1480 * @Min: 0
1481 * @Max: 600
1482 * @Default: 0
1483 *
1484 * This ini is used by firmware to set full roam scan period in secs.
1485 * Full roam scan period is the minimum idle period in seconds between two
1486 * successive full channel roam scans. If this is configured as a non-zero,
1487 * full roam scan will be triggered for every configured interval.
1488 * If this configured as 0, full roam scan will not be triggered at all.
1489 *
1490 * Related: None
1491 *
1492 * Supported Feature: LFR Scan
1493 *
1494 * Usage: External
1495 *
1496 * </ini>
1497 */
1498#define CFG_LFR_FULL_ROAM_SCAN_REFRESH_PERIOD CFG_INI_UINT( \
1499 "gFullRoamScanPeriod", \
1500 0, \
1501 600, \
1502 0, \
1503 CFG_VALUE_OR_DEFAULT, \
1504 "Full roam scan refresh period")
1505
1506/*
1507 * <ini>
Wu Gao5d23d782018-11-08 16:09:47 +08001508 * gEmptyScanRefreshPeriod - Set empty scan refresh period
1509 * @Min: 0
1510 * @Max: 60000
1511 * @Default: 0
1512 *
1513 * This ini is used by firmware to set scan period in msecs
1514 * following empty scan results.
1515 *
1516 * Related: None
1517 *
1518 * Supported Feature: LFR Scan
1519 *
1520 * Usage: External
1521 *
1522 * </ini>
1523 */
1524#define CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD CFG_INI_UINT( \
1525 "gEmptyScanRefreshPeriod", \
1526 0, \
1527 60000, \
1528 0, \
1529 CFG_VALUE_OR_DEFAULT, \
1530 "Empty scan refresh period")
1531
1532/*
1533 * <ini>
1534 * gRoamBmissFirstBcnt - Beacon miss count to trigger 1st bmiss event
1535 * @Min: 5
1536 * @Max: 100
1537 * @Default: 10
1538 *
1539 * This ini used to control how many beacon miss will trigger first bmiss
1540 * event. First bmiss event will result in roaming scan.
1541 *
1542 * Related: None
1543 *
1544 * Usage: External
1545 *
1546 * </ini>
1547 */
1548#define CFG_LFR_ROAM_BMISS_FIRST_BCNT CFG_INI_UINT( \
1549 "gRoamBmissFirstBcnt", \
1550 5, \
1551 100, \
1552 10, \
1553 CFG_VALUE_OR_DEFAULT, \
1554 "First beacon miss count")
1555
1556/*
1557 * <ini>
1558 * gRoamBmissFinalBcnt - Beacon miss count to trigger final bmiss event
1559 * @Min: 5
1560 * @Max: 100
1561 * @Default: 20
1562 *
1563 * This ini used to control how many beacon miss will trigger final bmiss
1564 * event. Final bmiss event will make roaming take place or cause the
1565 * indication of final bmiss event.
1566 *
1567 * Related: None
1568 *
1569 * Usage: External
1570 *
1571 * </ini>
1572 */
1573#define CFG_LFR_ROAM_BMISS_FINAL_BCNT CFG_INI_UINT( \
1574 "gRoamBmissFinalBcnt", \
1575 5, \
1576 100, \
1577 20, \
1578 CFG_VALUE_OR_DEFAULT, \
1579 "Final beacon miss count")
1580
1581/*
1582 * <ini>
1583 * gRoamBeaconRssiWeight - Set beacon miss weight
1584 * @Min: 5
1585 * @Max: 16
1586 * @Default: 14
1587 *
1588 * This ini controls how many beacons' RSSI values will be used to calculate
1589 * the average value of RSSI.
1590 *
1591 * Related: None
1592 *
1593 * Usage: External
1594 *
1595 * </ini>
1596 */
1597#define CFG_LFR_ROAM_BEACON_RSSI_WEIGHT CFG_INI_UINT( \
1598 "gRoamBeaconRssiWeight", \
1599 0, \
1600 16, \
1601 14, \
1602 CFG_VALUE_OR_DEFAULT, \
1603 "Beacon miss weight")
1604
1605/*
1606 * <ini>
1607 * gAllowDFSChannelRoam - Allow dfs channel in roam
1608 * @Min: 0
1609 * @Max: 2
1610 * @Default: 0
1611 *
1612 * This ini is used to set default dfs channel
1613 *
1614 * Related: None
1615 *
1616 * Supported Feature: STA
1617 *
1618 * Usage: Internal/External
1619 *
1620 * </ini>
1621 */
1622#define CFG_LFR_ROAMING_DFS_CHANNEL CFG_INI_UINT( \
1623 "gAllowDFSChannelRoam", \
1624 0, \
1625 2, \
1626 0, \
1627 CFG_VALUE_OR_DEFAULT, \
1628 "Allow dfs channel in roam")
1629
1630/*
1631 * <ini>
1632 * gRoamScanHiRssiMaxCount - Sets 5GHz maximum scan count
1633 * @Min: 0
1634 * @Max: 10
1635 * @Default: 3
1636 *
1637 * This INI is used to set maximum scan count in 5GHz
1638 *
1639 * Related: None
1640 *
1641 * Supported Feature: Roaming
1642 *
1643 * Usage: External
1644 *
1645 * </ini>
1646 */
1647#define CFG_LFR_ROAM_SCAN_HI_RSSI_MAXCOUNT CFG_INI_UINT( \
1648 "gRoamScanHiRssiMaxCount", \
1649 0, \
1650 10, \
1651 3, \
1652 CFG_VALUE_OR_DEFAULT, \
1653 "5GHz maximum scan count")
1654
1655/*
1656 * <ini>
1657 * gRoamScanHiRssiDelta - Sets RSSI Delta for scan trigger
1658 * @Min: 0
1659 * @Max: 16
1660 * @Default: 10
1661 *
1662 * This INI is used to set change in RSSI at which scan is triggered
1663 * in 5GHz.
1664 *
1665 * Related: None
1666 *
1667 * Supported Feature: Roaming
1668 *
1669 * Usage: External
1670 *
1671 * </ini>
1672 */
1673#define CFG_LFR_ROAM_SCAN_HI_RSSI_DELTA CFG_INI_UINT( \
1674 "gRoamScanHiRssiDelta", \
1675 0, \
1676 16, \
1677 10, \
1678 CFG_VALUE_OR_DEFAULT, \
1679 "RSSI Delta for scan trigger")
1680
1681/*
1682 * <ini>
1683 * gRoamScanHiRssiDelay - Sets minimum delay between 5GHz scans
1684 * @Min: 5000
1685 * @Max: 0x7fffffff
1686 * @Default: 15000
1687 *
1688 * This INI is used to set the minimum delay between 5GHz scans.
1689 *
1690 * Related: None
1691 *
1692 * Supported Feature: Roaming
1693 *
1694 * Usage: External
1695 *
1696 * </ini>
1697 */
1698#define CFG_LFR_ROAM_SCAN_HI_RSSI_DELAY CFG_INI_UINT( \
1699 "gRoamScanHiRssiDelay", \
1700 5000, \
1701 0x7fffffff, \
1702 15000, \
1703 CFG_VALUE_OR_DEFAULT, \
1704 "Minimum delay between 5GHz scans")
1705
1706/*
1707 * <ini>
1708 * gRoamScanHiRssiUpperBound - Sets upper bound after which 5GHz scan
1709 * @Min: -66
1710 * @Max: 0
1711 * @Default: -30
1712 *
1713 * This INI is used to set the RSSI upper bound above which the 5GHz scan
1714 * will not be performed.
1715 *
1716 * Related: None
1717 *
1718 * Supported Feature: Roaming
1719 *
1720 * Usage: External
1721 *
1722 * </ini>
1723 */
1724#define CFG_LFR_ROAM_SCAN_HI_RSSI_UB CFG_INI_INT( \
1725 "gRoamScanHiRssiUpperBound", \
1726 -66, \
1727 0, \
1728 -30, \
1729 CFG_VALUE_OR_DEFAULT, \
1730 "Upper bound after which 5GHz scan")
1731
1732/*
1733 * <ini>
1734 * gRoamPrefer5GHz - Prefer roaming to 5GHz Bss
1735 * @Min: 0
1736 * @Max: 1
1737 * @Default: 1
1738 *
1739 * This ini is used to inform FW to prefer roaming to 5GHz BSS
1740 *
1741 * Related: None
1742 *
1743 * Supported Feature: Roaming
1744 *
1745 * Usage: External
1746 *
1747 * </ini>
1748 */
1749#define CFG_LFR_ROAM_PREFER_5GHZ CFG_INI_BOOL( \
1750 "gRoamPrefer5GHz", \
1751 1, \
1752 "Prefer roaming to 5GHz Bss")
1753
1754/*
1755 * <ini>
1756 * gRoamIntraBand - Prefer roaming within Band
1757 * @Min: 0
1758 * @Max: 1
1759 * @Default: 0
1760 *
1761 * This ini is used to inform FW to prefer roaming within band
1762 *
1763 * Related: None
1764 *
1765 * Supported Feature: Roaming
1766 *
1767 * Usage: External
1768 *
1769 * </ini>
1770 */
1771#define CFG_LFR_ROAM_INTRA_BAND CFG_INI_BOOL( \
1772 "gRoamIntraBand", \
1773 0, \
1774 "Prefer roaming within Band")
1775
1776/*
1777 * <ini>
1778 * gRoamScanNProbes - Sets the number of probes to be sent for firmware roaming
1779 * @Min: 1
1780 * @Max: 10
1781 * @Default: 2
1782 *
1783 * This INI is used to set the maximum number of probes the firmware can send
1784 * for firmware internal roaming cases.
1785 *
1786 * Related: None
1787 *
1788 * Supported Feature: Roaming
1789 *
1790 * Usage: External
1791 *
1792 * </ini>
1793 */
1794#define CFG_LFR_ROAM_SCAN_N_PROBES CFG_INI_UINT( \
1795 "gRoamScanNProbes", \
1796 1, \
1797 10, \
1798 2, \
1799 CFG_VALUE_OR_DEFAULT, \
1800 "The number of probes to be sent for firmware roaming")
1801
1802/*
1803 * <ini>
1804 * gRoamScanHomeAwayTime - Sets the Home Away Time to firmware
1805 * @Min: 0
1806 * @Max: 300
1807 * @Default: 0
1808 *
1809 * Home Away Time should be at least equal to (gNeighborScanChannelMaxTime
1810 * + (2*RFS)), where RFS is the RF Switching time(3). It is twice RFS
1811 * to consider the time to go off channel and return to the home channel.
1812 *
1813 * Related: gNeighborScanChannelMaxTime
1814 *
1815 * Supported Feature: Roaming
1816 *
1817 * Usage: External
1818 *
1819 * </ini>
1820 */
1821#define CFG_LFR_ROAM_SCAN_HOME_AWAY_TIME CFG_INI_UINT( \
1822 "gRoamScanHomeAwayTime", \
1823 0, \
1824 300, \
1825 0, \
1826 CFG_VALUE_OR_DEFAULT, \
1827 "the home away time to firmware")
1828
1829/*
1830 * <ini>
1831 * gDelayBeforeVdevStop - wait time for tx complete before vdev stop
1832 * @Min: 2
1833 * @Max: 200
1834 * @Default: 20
1835 *
1836 * This INI is used to set wait time for tx complete before vdev stop.
1837 *
1838 * Related: None
1839 *
1840 * Usage: External
1841 *
1842 * </ini>
1843 */
1844#define CFG_LFR_DELAY_BEFORE_VDEV_STOP CFG_INI_UINT( \
1845 "gDelayBeforeVdevStop", \
1846 2, \
1847 200, \
1848 20, \
1849 CFG_VALUE_OR_DEFAULT, \
1850 "wait time for tx complete before vdev stop")
Pragaspathi Thilagaraj69f0b692018-12-16 22:23:04 +05301851/*
1852 * <ini>
1853 * enable_bss_load_roam_trigger - enable/disable bss load based roam trigger
1854 * @Min: 0
1855 * @Max: 1
Pragaspathi Thilagaraj39d61602018-12-24 14:46:53 +05301856 * @Default: 0
Pragaspathi Thilagaraj69f0b692018-12-16 22:23:04 +05301857 *
1858 * This ini when enabled, allows the firmware to roam when bss load outpaces
1859 * the configured bss load threshold. When this ini is disabled, firmware
1860 * doesn't consider bss load values to trigger roam.
1861 *
1862 * Related: None
1863 *
1864 * Supported Feature: Roaming
1865 *
1866 * Usage: External
1867 *
1868 * </ini>
1869 */
1870#define CFG_ENABLE_BSS_LOAD_TRIGGERED_ROAM CFG_INI_BOOL( \
1871 "enable_bss_load_roam_trigger", \
Pragaspathi Thilagaraj39d61602018-12-24 14:46:53 +05301872 0, \
Pragaspathi Thilagaraj69f0b692018-12-16 22:23:04 +05301873 "enable bss load triggered roaming")
1874
1875/*
1876 * <ini>
1877 * bss_load_threshold - bss load above which the STA should trigger roaming
1878 * @Min: 0
1879 * @Max: 100
1880 * @Default: 70
1881 *
1882 * When the bss laod value that is sampled exceeds this threshold, firmware
1883 * will trigger roaming if bss load trigger is enabled.
1884 *
1885 * Related: None
1886 *
1887 * Supported Feature: Roaming
1888 *
1889 * Usage: External
1890 *
1891 * </ini>
1892 */
1893#define CFG_BSS_LOAD_THRESHOLD CFG_INI_UINT( \
1894 "bss_load_threshold", \
1895 0, \
1896 100, \
1897 70, \
1898 CFG_VALUE_OR_DEFAULT, \
1899 "bss load threshold")
1900
Pragaspathi Thilagaraj39d61602018-12-24 14:46:53 +05301901/*
1902 * <ini>
1903 * bss_load_sample_time - Time in milliseconds for which the bss load values
1904 * obtained from the beacons is sampled.
1905 * @Min: 0
1906 * @Max: 0xffffffff
1907 * @Default: 10000
1908 *
1909 * Related: None
1910 *
1911 * Supported Feature: Roaming
1912 *
1913 * Usage: External
1914 *
1915 * </ini>
1916 */
1917#define CFG_BSS_LOAD_SAMPLE_TIME CFG_INI_UINT( \
1918 "bss_load_sample_time", \
1919 0, \
1920 0xffffffff, \
1921 10000, \
1922 CFG_VALUE_OR_DEFAULT, \
1923 "bss load sampling time")
Wu Gao5d23d782018-11-08 16:09:47 +08001924
Wu Gao6294afc2019-01-05 00:00:58 +08001925/*
1926 * <ini>
Pragaspathi Thilagaraj2b8ea352019-04-12 02:23:50 +05301927 * bss_load_trigger_5g_rssi_threshold - Current AP minimum RSSI in dBm below
1928 * which roaming can be triggered if BSS load exceeds bss_load_threshold.
1929 * @Min: -120
1930 * @Max: 0
1931 * @Default: -70
1932 *
1933 * If connected AP is in 5Ghz, then consider bss load roam triggered only if
1934 * load % > bss_load_threshold && connected AP rssi is worse than
1935 * bss_load_trigger_5g_rssi_threshold
1936 *
1937 * Related: "bss_load_threshold"
1938 *
1939 * Supported Feature: Roaming
1940 *
1941 * Usage: Internal/External
1942 *
1943 * </ini>
1944 */
1945#define CFG_BSS_LOAD_TRIG_5G_RSSI_THRES CFG_INI_INT( \
1946 "bss_load_trigger_5g_rssi_threshold", \
1947 -120, \
1948 0, \
1949 -70, \
1950 CFG_VALUE_OR_DEFAULT, \
1951 "Minimum RSSI of current AP in 5GHz band for BSS load roam trigger")
1952
1953/*
1954 * <ini>
1955 * bss_load_trigger_2g_rssi_threshold - Current AP minimum RSSI in dBm below
1956 * which roaming can be triggered if BSS load exceeds bss_load_threshold.
1957 * @Min: -120
1958 * @Max: 0
1959 * @Default: -60
1960 *
1961 * If connected AP is in 2Ghz, then consider bss load roam triggered only if
1962 * load % > bss_load_threshold && connected AP rssi is worse than
1963 * bss_load_trigger_2g_rssi_threshold.
1964 *
1965 * Related: "bss_load_threshold"
1966 *
1967 * Supported Feature: Roaming
1968 *
1969 * Usage: Internal/External
1970 *
1971 * </ini>
1972 */
1973#define CFG_BSS_LOAD_TRIG_2G_RSSI_THRES CFG_INI_INT( \
1974 "bss_load_trigger_2g_rssi_threshold", \
1975 -120, \
1976 0, \
1977 -60, \
1978 CFG_VALUE_OR_DEFAULT, \
1979 "Minimum RSSI of current AP in 2.4GHz band for BSS load roam trigger")
1980
1981/*
1982 * <ini>
Wu Gao6294afc2019-01-05 00:00:58 +08001983 * ho_delay_for_rx - Delay hand-off (in msec) by this duration to receive
1984 * pending rx frames from current BSS
1985 * @Min: 0
1986 * @Max: 200
1987 * @Default: 0
1988 *
1989 * For LFR 3.0 roaming scenario, once roam candidate is found, firmware
1990 * waits for minimum this much duration to receive pending rx frames from
1991 * current BSS before switching to new channel for handoff to new AP.
1992 *
1993 * Related: None
1994 *
1995 * Supported Feature: Roaming
1996 *
1997 * Usage: External
1998 *
1999 * </ini>
2000 */
2001#define CFG_LFR3_ROAM_HO_DELAY_FOR_RX CFG_INI_UINT( \
2002 "ho_delay_for_rx", \
2003 0, \
2004 200, \
2005 0, \
2006 CFG_VALUE_OR_DEFAULT, \
2007 "Delay Hand-off by this duration to receive")
2008
2009/*
2010 * <ini>
2011 * min_delay_btw_roam_scans - Min duration (in sec) allowed btw two
2012 * consecutive roam scans
2013 * @Min: 0
2014 * @Max: 60
2015 * @Default: 10
2016 *
2017 * Roam scan is not allowed if duration between two consecutive
2018 * roam scans is less than this time.
2019 *
2020 * Related: None
2021 *
2022 * Supported Feature: Roaming
2023 *
2024 * Usage: External
2025 *
2026 * </ini>
2027 */
2028#define CFG_LFR_MIN_DELAY_BTW_ROAM_SCAN CFG_INI_UINT( \
2029 "min_delay_btw_roam_scans", \
2030 0, \
2031 60, \
2032 10, \
2033 CFG_VALUE_OR_DEFAULT, \
2034 "Min duration")
2035
2036/*
2037 * <ini>
2038 * roam_trigger_reason_bitmask - Contains roam_trigger_reasons
2039 * @Min: 0
2040 * @Max: 0xFFFFFFFF
2041 * @Default: 0x10DA
2042 *
2043 * Bitmask containing roam_trigger_reasons for which
2044 * min_delay_btw_roam_scans constraint should be applied.
2045 * Currently supported bit positions are as follows:
2046 * Bit 0 is reserved in the firmware.
2047 * WMI_ROAM_TRIGGER_REASON_PER - 1
2048 * WMI_ROAM_TRIGGER_REASON_BMISS - 2
2049 * WMI_ROAM_TRIGGER_REASON_LOW_RSSI - 3
2050 * WMI_ROAM_TRIGGER_REASON_HIGH_RSSI - 4
2051 * WMI_ROAM_TRIGGER_REASON_PERIODIC - 5
2052 * WMI_ROAM_TRIGGER_REASON_MAWC - 6
2053 * WMI_ROAM_TRIGGER_REASON_DENSE - 7
2054 * WMI_ROAM_TRIGGER_REASON_BACKGROUND - 8
2055 * WMI_ROAM_TRIGGER_REASON_FORCED - 9
2056 * WMI_ROAM_TRIGGER_REASON_BTM - 10
2057 * WMI_ROAM_TRIGGER_REASON_UNIT_TEST - 11
2058 * WMI_ROAM_TRIGGER_REASON_BSS_LOAD - 12
Pragaspathi Thilagaraj14f72de2019-03-28 23:12:51 +05302059 * WMI_ROAM_TRIGGER_REASON_DEAUTH - 13
2060 * WMI_ROAM_TRIGGER_REASON_IDLE - 14
2061 * WMI_ROAM_TRIGGER_REASON_MAX - 15
Wu Gao6294afc2019-01-05 00:00:58 +08002062 *
2063 * For Ex: 0xDA (PER, LOW_RSSI, HIGH_RSSI, MAWC, DENSE)
2064 *
2065 * Related: None
2066 *
2067 * Supported Feature: Roaming
2068 *
2069 * Usage: External
2070 *
2071 * </ini>
2072 */
2073#define CFG_LFR_ROAM_SCAN_TRIGGER_REASON_BITMASK CFG_INI_UINT( \
2074 "roam_trigger_reason_bitmask", \
2075 0, \
2076 0xFFFFFFFF, \
2077 0x10DA, \
2078 CFG_VALUE_OR_DEFAULT, \
2079 "Contains roam_trigger_reasons")
2080
2081/*
2082 * <ini>
2083 * enable_ftopen - enable/disable FT open feature
2084 * @Min: 0
2085 * @Max: 1
2086 * @Default: 1
2087 *
2088 * This INI is used to enable/disable FT open feature
2089 *
2090 * Related: None
2091 *
2092 * Supported Feature: Roaming
2093 *
2094 * Usage: External
2095 *
2096 * </ini>
2097 */
2098#define CFG_LFR_ROAM_FT_OPEN_ENABLE CFG_INI_BOOL( \
2099 "enable_ftopen", \
2100 1, \
2101 "enable/disable FT open feature")
2102
2103/*
2104 * <ini>
2105 * roam_force_rssi_trigger - To force RSSI trigger
2106 * irrespective of channel list type
2107 * @Min: 0
2108 * @Max: 1
2109 * @Default: 1
2110 *
2111 * This ini is used to set roam scan mode
2112 * WMI_ROAM_SCAN_MODE_RSSI_CHANGE, irrespective of whether
2113 * channel list type is CHANNEL_LIST_STATIC or not
2114 *
2115 * Related: None
2116 *
2117 * Supported Feature: Roaming
2118 *
2119 * Usage: External
2120 *
2121 * </ini>
2122 */
2123#define CFG_LFR_ROAM_FORCE_RSSI_TRIGGER CFG_INI_BOOL( \
2124 "roam_force_rssi_trigger", \
2125 1, \
2126 "To force RSSI trigger")
2127
Wu Gao5d23d782018-11-08 16:09:47 +08002128#ifdef WLAN_FEATURE_ROAM_OFFLOAD
2129/*
2130 * <ini>
2131 * gRoamOffloadEnabled - enable/disable roam offload feature
2132 * @Min: 0
2133 * @Max: 1
2134 * @Default: 1
2135 *
2136 * This INI is used to enable/disable roam offload feature
2137 *
2138 * Related: None
2139 *
2140 * Supported Feature: Roaming
2141 *
2142 * Usage: External
2143 *
2144 * </ini>
2145 */
2146#define CFG_LFR3_ROAMING_OFFLOAD CFG_INI_BOOL( \
2147 "gRoamOffloadEnabled", \
2148 1, \
2149 "enable roam offload")
2150
Pragaspathi Thilagaraj14f72de2019-03-28 23:12:51 +05302151/*
2152 * <ini>
2153 * enable_disconnect_roam_offload - Enable/Disable emergency roaming during
2154 * deauth/disassoc
2155 * @Min: 0 - Disabled
2156 * @Max: 1 - Enabled
2157 * @Default: 1
2158 *
2159 * When this ini is enabled firmware will trigger roam scan and roam to a new ap
2160 * if candidate is found and it will not send the deauth/disassoc frame to
2161 * the host driver.
2162 * If roaming fails after this deauth, then firmware will send
2163 * WMI_ROAM_REASON_DEAUTH event to the host. If roaming is successful, driver
2164 * follows the normal roam synch event path.
2165 *
2166 * Supported Feature: Roaming
2167 *
2168 * Usage: Internal/External
2169 *
2170 * </ini>
2171 */
2172#define CFG_LFR_ENABLE_DISCONNECT_ROAM CFG_INI_BOOL( \
2173 "enable_disconnect_roam_offload", \
2174 true, \
2175 "Enable/Disable roaming on deauth/disassoc from AP")
2176
2177/*
2178 * <ini>
2179 * enable_idle_roam - Enable/Disable idle roaming
2180 * @Min: 0 - Disabled
2181 * @Max: 1 - Enabled
2182 * @Default: 0
2183 *
2184 * When this ini is enabled firmware will trigger roam scan and roam to a new
2185 * ap if current connected AP rssi falls below the threshold. To consider the
2186 * connection as idle, the following conditions should be met if this ini
2187 * "enable_idle_roam" is enabled:
2188 * 1. User space sends "SET SUSPENDMODE" command with value 0.
2189 * 2. No TX/RX data for idle time configured via ini "idle_roam_inactive_time".
2190 * 3. Connected AP rssi change doesn't exceed a specific delta value.
2191 * (configured via ini idle_roam_rssi_delta)
2192 * 4. Connected AP rssi falls below minimum rssi (configured via ini
2193 * "idle_roam_min_rssi").
2194 *
2195 * Supported Feature: Roaming
2196 *
2197 * Usage: Internal/External
2198 *
2199 * </ini>
2200 */
2201#define CFG_LFR_ENABLE_IDLE_ROAM CFG_INI_BOOL( \
2202 "enable_idle_roam", \
2203 false, \
2204 "Enable/Disable idle roam")
2205
2206/*
2207 * <ini>
2208 * idle_roam_rssi_delta - This threshold is the criteria to decide whether DUT
2209 * is idle or moving. If rssi delta is more than configured thresold then its
2210 * considered as not idle. RSSI delta is entered in dBm. Idle roaming can be
2211 * triggered if the connected AP rssi change exceeds or falls below the
2212 * rssi delta and if other criteria of ini "enable_idle_roam" is met
2213 * @Min: 0
2214 * @Max: 50
Abhishek Ambureb3f5f952020-02-11 11:27:58 +05302215 * @Default: 3
Pragaspathi Thilagaraj14f72de2019-03-28 23:12:51 +05302216 *
2217 * Related: enable_idle_roam
2218 *
2219 * Supported Feature: Roaming
2220 *
2221 * Usage: Internal/External
2222 *
2223 * </ini>
2224 */
2225#define CFG_LFR_IDLE_ROAM_RSSI_DELTA CFG_INI_UINT( \
2226 "idle_roam_rssi_delta", \
2227 0, \
2228 50, \
Abhishek Ambureb3f5f952020-02-11 11:27:58 +05302229 3, \
Pragaspathi Thilagaraj14f72de2019-03-28 23:12:51 +05302230 CFG_VALUE_OR_DEFAULT, \
2231 "Configure RSSI delta to start idle roam")
2232
2233/*
2234 * <ini>
2235 * idle_roam_inactive_time - Time duration in millseconds for which the
2236 * connection is idle.
2237 * @Min: 0
2238 * @Max: 0xFFFFFFFF
2239 * @Default: 10000
2240 *
2241 * This ini is used to configure the time in seconds for which the connection
2242 * candidate is idle and after which idle roam scan can be triggered if
2243 * other criteria of ini "enable_idle_roam" is met.
2244 *
2245 * Related: enable_idle_roam
2246 *
2247 * Supported Feature: Roaming
2248 *
2249 * Usage: Internal/External
2250 *
2251 * </ini>
2252 */
2253#define CFG_LFR_IDLE_ROAM_INACTIVE_TIME CFG_INI_UINT( \
2254 "idle_roam_inactive_time", \
2255 0, \
2256 0xFFFFFFFF, \
2257 10000, \
2258 CFG_VALUE_OR_DEFAULT, \
2259 "Configure RSSI delta to start idle roam")
2260
2261/*
2262 * <ini>
2263 * idle_data_packet_count - No of tx/rx packets above which the connection is
2264 * not idle.
2265 * @Min: 0
2266 * @Max: 0xFFFFFFFF
2267 * @Default: 10
2268 *
2269 * This ini is used to configure the acceptable number of tx/rx packets below
2270 * which the connection is idle. Ex: If idle_data_packet_count is 10
2271 * and if the tx/rx packet count is less than 10, the connection is
2272 * idle. If there are more than 10 packets, the connection is active one.
2273 *
2274 * Related: enable_idle_roam
2275 *
2276 * Supported Feature: Roaming
2277 *
2278 * Usage: Internal/External
2279 *
2280 * </ini>
2281 */
2282#define CFG_LFR_IDLE_ROAM_PACKET_COUNT CFG_INI_UINT( \
2283 "idle_data_packet_count", \
2284 0, \
2285 0xFFFFFFFF, \
2286 10, \
2287 CFG_VALUE_OR_DEFAULT, \
2288 "Configure idle packet count")
2289
2290/*
2291 * <ini>
2292 * idle_roam_min_rssi - Minimum RSSI of connected AP, below which
2293 * idle roam scan can be triggered if other criteria of ini "enable_idle_roam"
2294 * is met.
2295 * @Min: -96
2296 * @Max: 0
2297 * @Default: -65
2298 *
2299 * Related: enable_idle_roam
2300 *
2301 * Supported Feature: Roaming
2302 *
2303 * Usage: Internal/External
2304 *
2305 * </ini>
2306 */
2307#define CFG_LFR_IDLE_ROAM_MIN_RSSI CFG_INI_INT( \
2308 "idle_roam_min_rssi", \
2309 -96, \
2310 0, \
2311 -65, \
2312 CFG_VALUE_OR_DEFAULT, \
2313 "Configure idle roam minimum RSSI")
2314
2315/*
2316 * <ini>
2317 * idle_roam_band - Band on which idle roam scan will be
2318 * enabled
2319 * @Min: 0
2320 * @Max: 2
2321 * @Default: 0
2322 *
2323 * Value 0 - Allow idle roam on both bands
2324 * Value 1 - Allow idle roam only on 2G band
2325 * Value 2 - Allow idle roam only on 5G band
2326 *
2327 * Related: enable_idle_roam
2328 *
2329 * Supported Feature: Roaming
2330 *
2331 * Usage: Internal/External
2332 *
2333 * </ini>
2334 */
2335#define CFG_LFR_IDLE_ROAM_BAND CFG_INI_UINT( \
2336 "idle_roam_band", \
2337 0, \
2338 2, \
2339 0, \
2340 CFG_VALUE_OR_DEFAULT, \
2341 "Band on which idle roam needs to be enabled")
2342
2343#define ROAM_OFFLOAD_ALL \
2344 CFG(CFG_LFR3_ROAMING_OFFLOAD) \
2345 CFG(CFG_LFR_ENABLE_DISCONNECT_ROAM) \
2346 CFG(CFG_LFR_ENABLE_IDLE_ROAM) \
2347 CFG(CFG_LFR_IDLE_ROAM_RSSI_DELTA) \
2348 CFG(CFG_LFR_IDLE_ROAM_INACTIVE_TIME) \
2349 CFG(CFG_LFR_IDLE_ROAM_PACKET_COUNT) \
2350 CFG(CFG_LFR_IDLE_ROAM_MIN_RSSI) \
2351 CFG(CFG_LFR_IDLE_ROAM_BAND) \
2352
Wu Gao5d23d782018-11-08 16:09:47 +08002353#else
2354#define ROAM_OFFLOAD_ALL
2355#endif
2356
2357#ifdef FEATURE_WLAN_ESE
2358/*
2359 * <ini>
2360 * EseEnabled - Enable ESE feature
2361 * @Min: 0
2362 * @Max: 1
2363 * @Default: 0
2364 *
2365 * This ini is used to enable/disable ESE feature
2366 *
2367 * Related: None
2368 *
2369 * Supported Feature: Roaming
2370 *
2371 * Usage: External
2372 *
2373 * </ini>
2374 */
2375#define CFG_LFR_ESE_FEATURE_ENABLED CFG_INI_BOOL( \
2376 "EseEnabled", \
2377 0, \
2378 "Enable ESE")
2379#define LFR_ESE_ALL CFG(CFG_LFR_ESE_FEATURE_ENABLED)
2380#else
2381#define LFR_ESE_ALL
2382#endif
2383
Wu Gao6294afc2019-01-05 00:00:58 +08002384#ifdef FEATURE_LFR_SUBNET_DETECTION
2385/*
2386 * <ini>
2387 * gLFRSubnetDetectionEnable - Enable LFR3 subnet detection
2388 * @Min: 0
2389 * @Max: 1
2390 * @Default: 1
2391 *
2392 * Enable IP subnet detection during legacy fast roming version 3. Legacy fast
2393 * roaming could roam across IP subnets without host processors' knowledge.
2394 * This feature enables firmware to wake up the host processor if it
2395 * successfully determines change in the IP subnet. Change in IP subnet could
2396 * potentially cause disruption in IP connnectivity if IP address is not
2397 * refreshed.
2398 *
2399 * Related: None
2400 *
2401 * Supported Feature: Roaming
2402 *
2403 * Usage: External
2404 *
2405 * </ini>
2406 */
2407#define CFG_LFR3_ENABLE_SUBNET_DETECTION CFG_INI_BOOL( \
2408 "gLFRSubnetDetectionEnable", \
2409 1, \
2410 "Enable LFR3 subnet detection")
2411
2412#define LFR_SUBNET_DETECTION_ALL CFG(CFG_LFR3_ENABLE_SUBNET_DETECTION)
2413#else
2414#define LFR_SUBNET_DETECTION_ALL
2415#endif
2416
Abhinav Kumar95a59012020-01-30 11:35:32 +05302417#ifdef WLAN_SAE_SINGLE_PMK
2418/*
2419 * <ini>
2420 * sae_same_pmk_feature_enabled - Enable/disable sae single pmk feature.
2421 * @Min: 0
2422 * @Max: 1
2423 * @Default: 1
2424 *
2425 * This INI is to enable/disable SAE Roaming with same PMK/PMKID feature support
2426 *
2427 * Related: None.
2428 *
2429 * Supported Feature: Roaming
2430 *
2431 * Usage: Internal
2432 *
2433 * </ini>
2434 */
2435#define CFG_SAE_SINGLE_PMK CFG_INI_BOOL( \
2436 "sae_same_pmk_feature_enabled", \
2437 true, \
2438 "Enable/disable SAE Roaming with same PMK/PMKID")
2439
2440#define SAE_SINGLE_PMK_ALL CFG(CFG_SAE_SINGLE_PMK)
2441#else
2442#define SAE_SINGLE_PMK_ALL
2443#endif
2444
Pragaspathi Thilagaraj1f3f99f2019-04-24 23:48:47 +05302445#ifdef WLAN_ADAPTIVE_11R
2446/*
2447 * <ini>
2448 * adaptive_11r - Enable/disable adaptive 11r feature.
2449 * @Min: 0
2450 * @Max: 1
2451 * @Default: 0
2452 *
2453 * Adaptive 11r feature enables the AP to support FT-AKM without
2454 * configuring the FT-AKM in the network. The AP will advertise non-FT akm
2455 * with a vendor specific IE having Adaptive 11r bit set to 1 in the IE data.
2456 * The AP also advertises the MDE in beacon/probe response.
2457 *
2458 * STA should check the adaptive 11r capability if the AP advertises MDE in
2459 * beacon/probe and adaptive 11r capability in vendor specific IE. If adaptive
2460 * 11r capability is found, STA can advertise the FT equivalent of the non-FT
2461 * AKM and connect with 11r protocol.
2462 *
2463 * Related: None.
2464 *
2465 * Supported Feature: Fast BSS Transition
2466 *
2467 * Usage: External
2468 *
2469 * </ini>
2470 */
2471#define CFG_ADAPTIVE_11R CFG_INI_BOOL( \
2472 "enable_adaptive_11r", \
2473 false, \
2474 "Enable/disable adaptive 11r support")
2475
2476#define ADAPTIVE_11R_ALL CFG(CFG_ADAPTIVE_11R)
2477#else
2478#define ADAPTIVE_11R_ALL
2479#endif
2480
Abhinav Kumar990fea62019-02-14 12:38:38 +05302481/*
2482 * <ini>
2483 * roaming_scan_policy - To config roaming scan policy
2484 * @Min: 0
2485 * @Max: 1
2486 * @Default: 0
2487 *
2488 * This ini is used to configure roaming scan behavior from HOST
2489 * 0 : DBS scan
2490 * 1 : Non-DBS scan
2491 *
2492 * Related: None
2493 *
2494 * Supported Feature: Roaming
2495 *
2496 * Usage: External
2497 *
2498 * </ini>
2499 */
2500#define CFG_ROAM_SCAN_SCAN_POLICY CFG_INI_BOOL( \
2501 "roaming_scan_policy", \
2502 0, \
2503 "Config roam scan policy")
2504
Pragaspathi Thilagaraj2b8ea352019-04-12 02:23:50 +05302505/*
2506 * <ini>
2507 * roam_scan_inactivity_time - Device inactivity monitoring time in
2508 * milliseconds for which the device is considered to be inactive with data
2509 * packets count is less than configured roam_inactive_data_count.
2510 *
2511 * @Min: 0
2512 * @Max: 0xFFFFFFFF
2513 * @Default: 0
2514 *
2515 * The below three ini values are used to control the roam scan after the
2516 * firmware gets empty roam scan results during periodic roam scans.
2517 * 1. roam_scan_inactivity_time
2518 * 2. roam_inactive_data_count
2519 * 3. roam_scan_period_after_inactivity
2520 * The first two ini "roam_scan_inactivity_time" and "roam_inactive_data_count"
2521 * is frames the criteria to detect if the DUT is inactive. If the device is
2522 * identified to be inactive based on the above two ini, then the value,
2523 * "roam_scan_period_after_inactivity" will be used as periodic roam scan
2524 * duration.
2525 *
2526 * Related: roam_inactive_data_count
2527 *
2528 * Supported Feature: Roaming
2529 *
2530 * Usage: External
2531 *
2532 * </ini>
2533 */
2534#define CFG_ROAM_SCAN_INACTIVITY_TIME CFG_INI_UINT( \
2535 "roam_scan_inactivity_time", \
2536 0, \
2537 0xFFFFFFFF, \
2538 0, \
2539 CFG_VALUE_OR_DEFAULT, \
2540 "Device inactivity monitoring time")
2541
2542/*
2543 * <ini>
2544 * roam_inactive_data_count - Maximum allowed data packets count during
2545 * roam_scan_inactivity_time.
2546 *
2547 * @Min: 0
2548 * @Max: 0xFFFFFFFF
2549 * @Default: 10
2550 *
2551 * The DUT is said to be inactive only if the data packets count
2552 * during this roam_scan_inactivity_time is less than the configured
2553 * roam_inactive_data_count.
2554 *
2555 * Related: roam_scan_inactivity_time
2556 *
2557 * Supported Feature: Roaming
2558 *
2559 * Usage: External
2560 *
2561 * </ini>
2562 */
2563#define CFG_ROAM_INACTIVE_COUNT CFG_INI_UINT( \
2564 "roam_inactive_data_count", \
2565 0, \
2566 0xFFFFFFFF, \
2567 10, \
2568 CFG_VALUE_OR_DEFAULT, \
2569 "Roam scan inactivity period data pkt count")
2570
2571/*
2572 * <ini>
2573 * roam_scan_period_after_inactivity - Roam scan duration in ms after device is
2574 * out of inactivity state.
2575 *
2576 * @Min: 0
2577 * @Max: 0xFFFFFFFF
2578 * @Default: 120000
2579 *
2580 * If there is empty scan results during roam scan, firmware will move to
2581 * roam scan inactive state if roam_scan_inactivity and
2582 * roam_inactive_data_count criteria are met.
2583 * This ini is used to configure the roam scan duration in ms once the
2584 * inactivity is finished and roam scan can be started.
2585 *
2586 * Related: roam_scan_inactivity_time, roam_inactive_data_count
2587 *
2588 * Supported Feature: Roaming
2589 *
2590 * Usage: External
2591 *
2592 * </ini>
2593 */
2594#define CFG_POST_INACTIVITY_ROAM_SCAN_PERIOD CFG_INI_UINT( \
2595 "roam_scan_period_after_inactivity", \
2596 0, \
2597 0xFFFFFFFF, \
2598 120000, \
2599 CFG_VALUE_OR_DEFAULT, \
2600 "Roam scan period post inactivity")
2601
Wu Gao55f21712018-09-17 10:57:49 +08002602#define CFG_LFR_ALL \
2603 CFG(CFG_LFR_MAWC_ROAM_ENABLED) \
2604 CFG(CFG_LFR_MAWC_ROAM_TRAFFIC_THRESHOLD) \
2605 CFG(CFG_LFR_MAWC_ROAM_AP_RSSI_THRESHOLD) \
2606 CFG(CFG_LFR_MAWC_ROAM_RSSI_HIGH_ADJUST) \
2607 CFG(CFG_LFR_MAWC_ROAM_RSSI_LOW_ADJUST) \
2608 CFG(CFG_LFR_ROAM_RSSI_ABS_THRESHOLD) \
2609 CFG(CFG_LFR_5G_RSSI_THRESHOLD_OFFSET) \
2610 CFG(CFG_LFR_ENABLE_FAST_ROAM_IN_CONCURRENCY) \
Wu Gao55f21712018-09-17 10:57:49 +08002611 CFG(CFG_LFR_EARLY_STOP_SCAN_ENABLE) \
2612 CFG(CFG_LFR_EARLY_STOP_SCAN_MIN_THRESHOLD) \
2613 CFG(CFG_LFR_EARLY_STOP_SCAN_MAX_THRESHOLD) \
2614 CFG(CFG_LFR_FIRST_SCAN_BUCKET_THRESHOLD) \
Wu Gao55f21712018-09-17 10:57:49 +08002615 CFG(CFG_LFR_ROAM_DENSE_TRAFFIC_THRESHOLD) \
2616 CFG(CFG_LFR_ROAM_DENSE_RSSI_THRE_OFFSET) \
2617 CFG(CFG_LFR_ROAM_DENSE_MIN_APS) \
2618 CFG(CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD) \
2619 CFG(CFG_LFR_ROAM_BG_SCAN_CLIENT_BITMAP) \
2620 CFG(CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G) \
2621 CFG(CFG_LFR_ADAPTIVE_ROAMSCAN_DWELL_MODE) \
2622 CFG(CFG_LFR_PER_ROAM_ENABLE) \
2623 CFG(CFG_LFR_PER_ROAM_CONFIG_HIGH_RATE_TH) \
2624 CFG(CFG_LFR_PER_ROAM_CONFIG_LOW_RATE_TH) \
2625 CFG(CFG_LFR_PER_ROAM_CONFIG_RATE_TH_PERCENT) \
2626 CFG(CFG_LFR_PER_ROAM_REST_TIME) \
2627 CFG(CFG_LFR_PER_ROAM_MONITOR_TIME) \
2628 CFG(CFG_LFR_PER_ROAM_MIN_CANDIDATE_RSSI) \
2629 CFG(CFG_LFR3_ROAM_DISALLOW_DURATION) \
2630 CFG(CFG_LFR3_ROAM_RSSI_CHANNEL_PENALIZATION) \
2631 CFG(CFG_LFR3_ROAM_NUM_DISALLOWED_APS) \
2632 CFG(CFG_LFR_ENABLE_5G_BAND_PREF) \
2633 CFG(CFG_LFR_5G_RSSI_BOOST_THRESHOLD) \
2634 CFG(CFG_LFR_5G_RSSI_BOOST_FACTOR) \
2635 CFG(CFG_LFR_5G_MAX_RSSI_BOOST) \
2636 CFG(CFG_LFR_5G_RSSI_PENALIZE_THRESHOLD) \
2637 CFG(CFG_LFR_5G_RSSI_PENALIZE_FACTOR) \
2638 CFG(CFG_LFR_5G_MAX_RSSI_PENALIZE) \
Sourav Mohapatra5ba8da32018-07-16 09:21:15 +05302639 CFG(CFG_LFR_MAX_NUM_PRE_AUTH) \
2640 CFG(CFG_LFR3_ROAM_PREAUTH_RETRY_COUNT) \
Wu Gao5d23d782018-11-08 16:09:47 +08002641 CFG(CFG_LFR3_ROAM_PREAUTH_NO_ACK_TIMEOUT) \
2642 CFG(CFG_LFR_FEATURE_ENABLED) \
2643 CFG(CFG_LFR_MAWC_FEATURE_ENABLED) \
2644 CFG(CFG_LFR_FAST_TRANSITION_ENABLED) \
2645 CFG(CFG_LFR_ROAM_RSSI_DIFF) \
2646 CFG(CFG_LFR_ENABLE_WES_MODE) \
2647 CFG(CFG_LFR_ROAM_SCAN_OFFLOAD_ENABLED) \
2648 CFG(CFG_LFR_NEIGHBOR_SCAN_CHANNEL_LIST) \
2649 CFG(CFG_LFR_NEIGHBOR_SCAN_TIMER_PERIOD) \
2650 CFG(CFG_LFR_NEIGHBOR_SCAN_MIN_TIMER_PERIOD) \
2651 CFG(CFG_LFR_NEIGHBOR_LOOKUP_RSSI_THRESHOLD) \
2652 CFG(CFG_LFR_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF) \
2653 CFG(CFG_LFR_ROAM_RESCAN_RSSI_DIFF) \
2654 CFG(CFG_LFR_NEIGHBOR_SCAN_MIN_CHAN_TIME) \
2655 CFG(CFG_LFR_NEIGHBOR_SCAN_MAX_CHAN_TIME) \
2656 CFG(CFG_LFR_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD) \
2657 CFG(CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD) \
2658 CFG(CFG_LFR_ROAM_BMISS_FIRST_BCNT) \
2659 CFG(CFG_LFR_ROAM_BMISS_FINAL_BCNT) \
2660 CFG(CFG_LFR_ROAM_BEACON_RSSI_WEIGHT) \
2661 CFG(CFG_LFR_ROAMING_DFS_CHANNEL) \
2662 CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_MAXCOUNT) \
2663 CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_DELTA) \
2664 CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_DELAY) \
2665 CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_UB) \
2666 CFG(CFG_LFR_ROAM_PREFER_5GHZ) \
2667 CFG(CFG_LFR_ROAM_INTRA_BAND) \
2668 CFG(CFG_LFR_ROAM_SCAN_N_PROBES) \
2669 CFG(CFG_LFR_ROAM_SCAN_HOME_AWAY_TIME) \
2670 CFG(CFG_LFR_DELAY_BEFORE_VDEV_STOP) \
Pragaspathi Thilagaraj69f0b692018-12-16 22:23:04 +05302671 CFG(CFG_ENABLE_BSS_LOAD_TRIGGERED_ROAM) \
2672 CFG(CFG_BSS_LOAD_THRESHOLD) \
Pragaspathi Thilagaraj39d61602018-12-24 14:46:53 +05302673 CFG(CFG_BSS_LOAD_SAMPLE_TIME) \
Wu Gao6294afc2019-01-05 00:00:58 +08002674 CFG(CFG_LFR3_ROAM_HO_DELAY_FOR_RX) \
2675 CFG(CFG_LFR_MIN_DELAY_BTW_ROAM_SCAN) \
2676 CFG(CFG_LFR_ROAM_SCAN_TRIGGER_REASON_BITMASK) \
2677 CFG(CFG_LFR_ROAM_FT_OPEN_ENABLE) \
2678 CFG(CFG_LFR_ROAM_FORCE_RSSI_TRIGGER) \
Abhinav Kumar990fea62019-02-14 12:38:38 +05302679 CFG(CFG_ROAM_SCAN_SCAN_POLICY) \
Pragaspathi Thilagaraj2b8ea352019-04-12 02:23:50 +05302680 CFG(CFG_ROAM_SCAN_INACTIVITY_TIME) \
2681 CFG(CFG_ROAM_INACTIVE_COUNT) \
2682 CFG(CFG_POST_INACTIVITY_ROAM_SCAN_PERIOD) \
2683 CFG(CFG_BSS_LOAD_TRIG_5G_RSSI_THRES) \
2684 CFG(CFG_BSS_LOAD_TRIG_2G_RSSI_THRES) \
Srinivas Dasari225abbf2019-08-04 23:28:09 +05302685 CFG(CFG_LFR_FULL_ROAM_SCAN_REFRESH_PERIOD) \
Pragaspathi Thilagaraj1f3f99f2019-04-24 23:48:47 +05302686 ADAPTIVE_11R_ALL \
Wu Gao5d23d782018-11-08 16:09:47 +08002687 ROAM_OFFLOAD_ALL \
Wu Gao6294afc2019-01-05 00:00:58 +08002688 LFR_ESE_ALL \
Abhinav Kumar95a59012020-01-30 11:35:32 +05302689 LFR_SUBNET_DETECTION_ALL \
2690 SAE_SINGLE_PMK_ALL
Wu Gao55f21712018-09-17 10:57:49 +08002691
2692#endif /* CFG_MLME_LFR_H__ */