xref: /wlan-dirver/qca-wifi-host-cmn/umac/scan/dispatcher/inc/cfg_scan.h (revision 2f4b444fb7e689b83a4ab0e7b3b38f0bf4def8e0)
1 /*
2  * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
3  *
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 centralized definitions of SCAN component
21  */
22 #ifndef __CONFIG_SCAN_H
23 #define __CONFIG_SCAN_H
24 
25 #include "cfg_define.h"
26 
27 /**
28  * enum scan_mode_6ghz - scan mode for 6GHz
29  * @SCAN_MODE_6G_NO_CHANNEL: Remove 6GHz channels in the scan request
30  * @SCAN_MODE_6G_PSC_CHANNEL: Scan only 6Ghz PSC channels and non-PSC
31  *                            through RNR IE
32  * @SCAN_MODE_6G_ALL_CHANNEL: Scan all the 6Ghz channels
33  * @SCAN_MODE_6G_RNR_ONLY: Scan the channels (both PSC and non-PSC) found in
34  *  RNR-IEs while scanning 2g and 5g bands. Host fills all PSC and non-PSC
35  *  channels in the scan request and set the flag FLAG_SCAN_ONLY_IF_RNR_FOUND
36  *  for each channel.
37  * @SCAN_MODE_6G_PSC_DUTY_CYCLE: Scan the complete PSC channel list for every
38  *  duty cycle. For every duty cycle scan, host fills all 6g channels and sets
39  *  the flag FLAG_SCAN_ONLY_IF_RNR_FOUND only for non-PSC channels. Rest of the
40  *  scans will be done only on RNR channels (PSC and non-PSC).
41  * @SCAN_MODE_6G_ALL_DUTY_CYCLE: Scan the complete 6g(PSC and non-PSC) channel
42  *  list for every duty cycle. For every duty cycle scan, host fills all 6g
43  *  channels and doesn't set the flag FLAG_SCAN_ONLY_IF_RNR_FOUND for any 6g
44  *  (PSC/non-PSC) channels. Rest of the scans will be done only on RNR (PSC and
45  *  non-PSC channels).
46  */
47 enum scan_mode_6ghz {
48 	SCAN_MODE_6G_NO_CHANNEL,
49 	SCAN_MODE_6G_PSC_CHANNEL,
50 	SCAN_MODE_6G_ALL_CHANNEL,
51 	SCAN_MODE_6G_RNR_ONLY,
52 	SCAN_MODE_6G_PSC_DUTY_CYCLE,
53 	SCAN_MODE_6G_ALL_DUTY_CYCLE,
54 	SCAN_MODE_6G_MAX = SCAN_MODE_6G_ALL_DUTY_CYCLE,
55 };
56 
57 /*
58  * <ini>
59  * drop_bcn_on_chan_mismatch - drop the beacon for chan mismatch
60  * @Min: 0
61  * @Max: 1
62  * @Default: 1
63  *
64  * This ini is used to decide drop the beacon or not if channel received
65  * in metadata doesn't match the one in beacon.
66  *
67  * Related: None
68  *
69  * Usage: External
70  *
71  * </ini>
72  */
73 #define CFG_DROP_BCN_ON_CHANNEL_MISMATCH CFG_INI_BOOL(\
74 		"drop_bcn_on_chan_mismatch",\
75 		true,\
76 		"drop bcn on channel mismatch")
77 
78 /*
79  * <ini>
80  * drop_bcn_on_invalid_freq - drop the beacon or probe resp with invalid freq
81  * @Min: 0
82  * @Max: 1
83  * @Default: 1
84  *
85  * This ini is used to decide whether to drop the beacon/probe resp or not
86  * if channel received in DS param, HT info and HE IE is invalid.
87  *
88  * Related: None
89  *
90  * Usage: External
91  *
92  * </ini>
93  */
94 #define CFG_DROP_BCN_ON_INVALID_FREQ CFG_INI_BOOL(\
95 		"drop_bcn_on_invalid_freq",\
96 		true,\
97 		"drop bcn on invalid freq in HT, DS, HE IE")
98 
99 /*
100  * <ini>
101  * gActiveMaxChannelTime - Set max channel time for active scan
102  * @Min: 0
103  * @Max: 10000
104  * @Default: 40
105  *
106  * This ini is used to set maximum channel time in msecs spent in
107  * active scan
108  *
109  * Related: None
110  *
111  * Usage: External
112  *
113  * </ini>
114  */
115 #define CFG_ACTIVE_MAX_CHANNEL_TIME CFG_INI_UINT(\
116 		"gActiveMaxChannelTime",\
117 		0, 10000, PLATFORM_VALUE(40, 105),\
118 		CFG_VALUE_OR_DEFAULT, "active dwell time")
119 
120 /*
121  * <ini>
122  * gEnableDFSChnlScan - Enable/Disable scan on DFS channels
123  * @Min: 0
124  * @Max: 1
125  * @Default: 1
126  *
127  * This ini is used to enable/disable scan on DFS channels.
128  *
129  * Related: Scan
130  *
131  * Usage: External
132  *
133  * </ini>
134  */
135 #define CFG_ENABLE_DFS_SCAN CFG_INI_BOOL( \
136 				"gEnableDFSChnlScan", \
137 				true, \
138 				"enable dfs scan")
139 
140 /*
141  * <ini>
142  * gInitialScanNoDFSChnl - Exclude DFS channels in first scan
143  * @Min: 0
144  * @Max: 1
145  * @Default: 0
146  *
147  * This ini is used to enable/disable scan on DFS channels, in first scan only
148  *
149  * Related: Scan
150  *
151  * Usage: External
152  *
153  * </ini>
154  */
155 #define CFG_INITIAL_NO_DFS_SCAN CFG_INI_BOOL( \
156 				"gInitialScanNoDFSChnl", \
157 				false, \
158 				"disable initial dfs scan")
159 
160 /*
161  * <ini>
162  * active_max_channel_time_2g - Set max time for active 2G channel scan
163  * @Min: 0
164  * @Max: 10000
165  * @Default: 80
166  *
167  * This ini is used to set maximum time in msecs spent in active 2G channel scan
168  * if it's not zero, in case of zero, CFG_ACTIVE_MAX_CHANNEL_TIME is used for 2G
169  * channels also.
170  *
171  * Related: None
172  *
173  * Usage: External
174  *
175  * </ini>
176  */
177 #define CFG_ACTIVE_MAX_2G_CHANNEL_TIME CFG_INI_UINT(\
178 		"active_max_channel_time_2g",\
179 		0, 10000, PLATFORM_VALUE(80, 0),\
180 		CFG_VALUE_OR_DEFAULT, "active dwell time for 2G channels")
181 
182 /*
183  * <ini>
184  * min_channel_time_6g - Set min dwell time for 6G channels scan
185  * @Min: 5
186  * @Max: 60
187  * @Default: 25
188  *
189  * This ini is used to set minimum time in msecs spent in 6G channels scan.
190  * Firmware will park on the 6G channel for this duration and if no FILS
191  * discovery, Beacon, Probe resp is received it will move to new channel after
192  * this duration. If found , it will wait for "active_max_channel_time_6g"
193  * duration
194  *
195  * Related: active_max_channel_time_6g
196  *
197  * Supported Feature: Scan
198  *
199  * Usage: External
200  *
201  * </ini>
202  */
203 #define CFG_MIN_6G_CHANNEL_TIME CFG_INI_UINT(\
204 		"min_dwell_time_6g",\
205 		5, 60, 25,\
206 		CFG_VALUE_OR_DEFAULT, "min dwell time for 6G channels")
207 
208 /*
209  * <ini>
210  * active_max_channel_time_6g - Set max time for active 6G channel scan
211  * @Min: 0
212  * @Max: 10000
213  * @Default: 60
214  *
215  * This ini is used to set maximum time in msecs spent in active 6G channel scan
216  *
217  *
218  * Related: None
219  *
220  * Supported Feature: Scan
221  *
222  * Usage: External
223  *
224  * </ini>
225  */
226 #define CFG_ACTIVE_MAX_6G_CHANNEL_TIME CFG_INI_UINT(\
227 		"active_max_channel_time_6g",\
228 		0, 10000, 60,\
229 		CFG_VALUE_OR_DEFAULT, "max active dwell time for 6G channels")
230 
231 /*
232  * <ini>
233  * passive_max_channel_time_6g - Set max time for passive 6G channel scan
234  * @Min: 0
235  * @Max: 10000
236  * @Default: 60
237  *
238  * This ini is used to set maximum time in msecs spent in passive 6G chan scan
239  *
240  * Related: None
241  *
242  * Supported Feature: Scan
243  *
244  * Usage: External
245  *
246  * </ini>
247  */
248 #define CFG_PASSIVE_MAX_6G_CHANNEL_TIME CFG_INI_UINT(\
249 		"passive_max_channel_time_6g",\
250 		0, 10000, 60,\
251 		CFG_VALUE_OR_DEFAULT, "max passive dwell time for 6G channels")
252 
253 /*
254  * <ini>
255  * active_max_channel_time_6g_conc - Set max time for active 6G
256  * channel scan when associated to AP.
257  * @Min: 0
258  * @Max: 10000
259  * @Default: 40
260  *
261  * This ini is used to set maximum time in msecs spent in
262  * active 6G channel scan
263  *
264  * Related: None
265  *
266  * Supported Feature: Scan
267  *
268  * Usage: External
269  *
270  * </ini>
271  */
272 #define CFG_ACTIVE_MAX_6G_CHANNEL_TIME_CONC CFG_INI_UINT(\
273 		"active_max_channel_time_6g_conc",\
274 		0, 10000, 40,\
275 		CFG_VALUE_OR_DEFAULT, "active conc dwell time for 6G channels")
276 
277 /*
278  * <ini>
279  * passive_max_channel_time_6g_conc - Set max time for passive 6G
280  * channel scan when associated to AP.
281  * @Min: 0
282  * @Max: 10000
283  * @Default: 40
284  *
285  * This ini is used to set maximum time in msecs spent in
286  * passive 6G chan scan
287  *
288  * Related: None
289  *
290  * Supported Feature: Scan
291  *
292  * Usage: External
293  *
294  * </ini>
295  */
296 #define CFG_PASSIVE_MAX_6G_CHANNEL_TIME_CONC CFG_INI_UINT(\
297 		"passive_max_channel_time_6g_conc",\
298 		0, 10000, 40,\
299 		CFG_VALUE_OR_DEFAULT,\
300 		"passive conc dwell time for 6G channels")
301 
302 /*
303  * <ini>
304  * gPassiveMaxChannelTime/RoamScan_PassiveCH_DwellTime - Set max channel time
305  * for passive scan
306  * @Min: 0
307  * @Max: 10000
308  * @Default: 110
309  *
310  * This ini is used to set maximum channel time in msecs spent in
311  * passive scan
312  *
313  * Related: None
314  *
315  * Usage: External
316  *
317  * </ini>
318  */
319 #define CFG_PASSIVE_MAX_CHANNEL_TIME CFG_INI_UINT(\
320 		"gPassiveMaxChannelTime RoamScan_PassiveCH_DwellTime",\
321 		0, 10000, PLATFORM_VALUE(110, 300),\
322 		CFG_VALUE_OR_DEFAULT, "passive dwell time")
323 
324 /*
325  * <ini>
326  * gScanNumProbes - Set the number of probes on each channel for active scan
327  * @Min: 0
328  * @Max: 20
329  * @Default: 0
330  *
331  * This ini is used to set number of probes on each channel for
332  * active scan
333  */
334 #define CFG_SCAN_NUM_PROBES CFG_INI_UINT(\
335 			"gScanNumProbes",\
336 			0, 20, PLATFORM_VALUE(0, 2),\
337 			CFG_VALUE_OR_DEFAULT,\
338 			"number of probes on each channel")
339 
340 /*
341  * <ini>
342  * gScanProbeRepeatTime - Set the probe repeat time on each channel
343  * @Min: 0
344  * @Max: 30
345  * @Default: 0
346  *
347  * This ini is used to set probe repeat time on each channel for
348  * active scan
349  *
350  * Related: None
351  *
352  * Supported Feature: Scan
353  *
354  * Usage: External
355  *
356  * </ini>
357  */
358 #define CFG_SCAN_PROBE_REPEAT_TIME CFG_INI_UINT(\
359 			"gScanProbeRepeatTime",\
360 			0, 50, PLATFORM_VALUE(20, 50),\
361 			CFG_VALUE_OR_DEFAULT,\
362 			"probe repeat time on each channel")
363 
364 /*
365  * <ini>
366  * hostscan_adaptive_dwell_mode - Enable adaptive dwell mode
367  * during host scan with conneciton
368  * @Min: 0
369  * @Max: 4
370  * @Default: 1
371  *
372  * This ini will set the algo used in dwell time optimization
373  * during host scan with connection.
374  * See enum wmi_dwelltime_adaptive_mode.
375  * Acceptable values for this:
376  * 0: Default (Use firmware default mode)
377  * 1: Conservative optimization
378  * 2: Moderate optimization
379  * 3: Aggressive optimization
380  * 4: Static
381  *
382  * Related: None
383  *
384  * Supported Feature: Scan
385  *
386  * Usage: External
387  *
388  * </ini>
389  */
390 #define CFG_ADAPTIVE_SCAN_DWELL_MODE CFG_INI_UINT(\
391 			"hostscan_adaptive_dwell_mode",\
392 			0, 4, PLATFORM_VALUE(1, 0),\
393 			CFG_VALUE_OR_DEFAULT,\
394 			"Enable adaptive dwell mode")
395 
396 /*
397  * <ini>
398  * hostscan_adaptive_dwell_mode_no_conn - Enable adaptive dwell mode
399  * during host scan without conneciton
400  * @Min: 0
401  * @Max: 4
402  * @Default: 4
403  *
404  * This ini will set the algo used in dwell time optimization
405  * during host scan with connection.
406  * See enum wmi_dwelltime_adaptive_mode.
407  * Acceptable values for this:
408  * 0: Default (Use firmware default mode)
409  * 1: Conservative optimization
410  * 2: Moderate optimization
411  * 3: Aggressive optimization
412  * 4: Static
413  *
414  * Related: None
415  *
416  * Supported Feature: Scan
417  *
418  * Usage: External
419  *
420  * </ini>
421  */
422 #define CFG_ADAPTIVE_SCAN_DWELL_MODE_NC CFG_INI_UINT(\
423 			"hostscan_adaptive_dwell_mode_no_conn",\
424 			0, 4, PLATFORM_VALUE(4, 0),\
425 			CFG_VALUE_OR_DEFAULT,\
426 			"Enable adaptive dwell mode without connection")
427 
428 /*
429  * <ini>
430  * honour_nl_scan_policy_flags - This ini will decide whether to honour
431  * NL80211 scan policy flags
432  * @Min: 0
433  * @Max: 1
434  * @Default: 1
435  *
436  * This parameter will decide whether to honour scan flags such as
437  * NL80211_SCAN_FLAG_HIGH_ACCURACY , NL80211_SCAN_FLAG_LOW_SPAN,
438  * NL80211_SCAN_FLAG_LOW_POWER.
439  * Acceptable values for this:
440  * 0: Config is disabled
441  * 1: Config is enabled
442  *
443  * Related: None
444  *
445  * Supported Feature: Scan
446  *
447  * Usage: Internal
448  *
449  * </ini>
450  */
451 #define CFG_HONOUR_NL_SCAN_POLICY_FLAGS CFG_INI_BOOL(\
452 			"honour_nl_scan_policy_flags",\
453 			true, \
454 			"honour NL80211 scan policy flags")
455 
456 #ifdef FEATURE_WLAN_SCAN_PNO
457 /*
458  * <ini>
459  * g_user_config_sched_scan_plan - set user config sched scan plans.
460  * @Min: 0
461  * @Max:1
462  * @Default: 1
463  *
464  * This ini is used to decide if user config number of sched scan plan needs to
465  * be configured or only one sched scan plan needs to be configured.
466  * If this ini is enabled then  user config number of sched scan plans will be
467  * configured else only one sched scan plan will be configured.
468  *
469  * Supported Feature: PNO scan
470  *
471  * Usage: External
472  *
473  * </ini>
474  */
475 
476 #define CFG_USER_CONFIG_SCHED_SCAN_PLAN CFG_INI_BOOL(\
477 			"g_user_config_sched_scan_plan",\
478 			true, \
479 			"set user config sched scan plans")
480 
481 /*
482  * <ini>
483  * g_max_sched_scan_plan_iterations - pno sched max scan plan iterations.
484  * @Min: 1
485  * @Max: 100
486  * @Default: 10
487  *
488  * This ini is used to set max sched scan plan iterations for pno scan
489  * (value in seconds).
490  *
491  * Related: gPNOScanSupport
492  *
493  * Supported Feature: PNO scan
494  *
495  * Usage: External
496  *
497  * </ini>
498  */
499 #define CFG_MAX_SCHED_SCAN_PLAN_ITERATIONS CFG_INI_UINT( \
500 			"g_max_sched_scan_plan_iterations", \
501 			1, 100, 10, \
502 			CFG_VALUE_OR_DEFAULT, \
503 			"Max sched scan plan iterations")
504 
505 /*
506  * <ini>
507  * g_max_sched_scan_plan_int - pno sched max scan plan interval.
508  * @Min: 1
509  * @Max: 7200
510  * @Default: 3600
511  *
512  * This ini is used to set max sched scan plan interval for pno scan
513  * (value in seconds).
514  *
515  * Related: gPNOScanSupport
516  *
517  * Supported Feature: PNO scan
518  *
519  * Usage: External
520  *
521  * </ini>
522  */
523 #define CFG_MAX_SCHED_SCAN_PLAN_INTERVAL CFG_INI_UINT( \
524 			"g_max_sched_scan_plan_int", \
525 			1, 7200, 3600, \
526 			CFG_VALUE_OR_DEFAULT, \
527 			"Max sched scan plan interval")
528 
529 /*
530  * <ini>
531  * gEnableDFSPnoChnlScan - enable dfs channels in PNO scan
532  * @Min: 0
533  * @Max: 1
534  * @Default: 1
535  *
536  * This ini is used to enable/disable dfs channels in PNO scan request,
537  * enabling this ini enables driver to include dfs channels in its
538  * PNO scan request
539  * Related: NA
540  *
541  * Supported Feature: DFS, PNO
542  *
543  * Usage: Internal/External
544  *
545  * </ini>
546  */
547 #define CFG_ENABLE_DFS_PNO_CHNL_SCAN CFG_INI_BOOL( \
548 			"gEnableDFSPnoChnlScan", \
549 			true, \
550 			"Enable dfs channels in PNO Scan")
551 
552 /*
553  * <ini>
554  * gPNOScanSupport - Enable or Disable PNO scan
555  * @Min: 0
556  * @Max: 1
557  * @Default: 1
558  *
559  * This ini is used to Enable or Disable PNO scan
560  *
561  * Related: None
562  *
563  * Supported Feature: Scan
564  *
565  * Usage: External
566  *
567  * </ini>
568  */
569 #define CFG_PNO_SCAN_SUPPORT CFG_INI_BOOL( \
570 			"gPNOScanSupport", \
571 			true, \
572 			"Enable/Disable PNO scan")
573 
574 /*
575  * <ini>
576  * gPNOScanTimerRepeatValue - Set PNO scan timer repeat value
577  * @Min: 0
578  * @Max: 0xffffffff
579  * @Default: 30
580  *
581  * This ini is used by firmware to set fast scan max cycles
582  * equal to gPNOScanTimerRepeatValue. Taking power consumption
583  * into account firmware after gPNOScanTimerRepeatValue times
584  * fast_scan_period switches to slow_scan_period.
585  *
586  * Usage: External
587  *
588  * </ini>
589  */
590 #define CFG_PNO_SCAN_TIMER_REPEAT_VALUE CFG_INI_UINT( \
591 			"gPNOScanTimerRepeatValue", \
592 			0, \
593 			0xffffffff, \
594 			30, \
595 			CFG_VALUE_OR_DEFAULT, \
596 			"PNO scan timer repeat value")
597 
598 /*
599  * <ini>
600  * gPNOSlowScanMultiplier - Set PNO slow scan multiplier
601  * @Min: 0
602  * @Max: 30
603  * @Default: 6
604  *
605  * This ini is used by firmware to set slow scan period
606  * as gPNOSlowScanMultiplier times fast_scan_period.
607  *
608  * Related: None
609  *
610  * Supported Feature: Scan
611  *
612  * Usage: External
613  *
614  * </ini>
615  */
616 #define CFG_PNO_SLOW_SCAN_MULTIPLIER CFG_INI_UINT( \
617 			"gPNOSlowScanMultiplier", \
618 			0, \
619 			30, \
620 			6, \
621 			CFG_VALUE_OR_DEFAULT, \
622 			"PNO slow scan multiplier")
623 
624 /*
625  * <ini>
626  * gPNOChannelPrediction - Enable/disable the PNO channel
627  * prediction feature.
628  * @Min: 0
629  * @Max: 1
630  * @Default: 0
631  *
632  * In current PNO implementation, scan is always done until all configured
633  * channels are scanned. If we can determine DUT is stationary based on
634  * scanning a subset of channels, we may cancel the remaining channels.
635  * Hence, we can save additional power consumption.
636  *
637  * Related: None
638  *
639  * Supported Feature: Scan
640  *
641  * Usage: External
642  *
643  * </ini>
644  */
645 #define CFG_PNO_CHANNEL_PREDICTION CFG_INI_BOOL( \
646 			"gPNOChannelPrediction", \
647 			false, \
648 			"enable/disable PNO channel prediction feature")
649 
650 /*
651  * <ini>
652  * gTopKNumOfChannels - top K number of channels are used for tanimoto distance
653  * @Min: 1
654  * @Max: 5
655  * @Default: 3
656  *
657  * These are the top channels on which the probability of finding the AP's is
658  * extremely high. This number is intended for tweaking the internal algorithm
659  * for experiments. This should not be changed externally.
660  *
661  * Related: None
662  *
663  * Supported Feature: Scan
664  *
665  * Usage: External
666  *
667  * </ini>
668  */
669 #define CFG_TOP_K_NUM_OF_CHANNELS CFG_INI_UINT( \
670 			"gTopKNumOfChannels", \
671 			1, \
672 			5, \
673 			3, \
674 			CFG_VALUE_OR_DEFAULT, \
675 			"Top K number of channels")
676 /*
677  * <ini>
678  * gStationaryThreshold - STA threshold value to determine if it is stationary
679  * @Min: 0
680  * @Max: 100
681  * @Default: 10
682  *
683  * This is the threshold value to determine that the STA is
684  * stationary. If the tanimoto distance is less than this
685  * value, then the device is considered to be stationary.
686  * This parameter is intended to tweak the internal algorithm
687  * for experiments. This should not be changed externally.
688  *
689  *
690  * Related: None
691  *
692  * Supported Feature: Scan
693  *
694  * Usage: External
695  *
696  * </ini>
697  */
698 #define CFG_STATIONARY_THRESHOLD CFG_INI_UINT( \
699 			"gStationaryThreshold", \
700 			0, \
701 			100, \
702 			10, \
703 			CFG_VALUE_OR_DEFAULT, \
704 			"Threshold to determine if sta is stationary")
705 
706 /*
707  * <ini>
708  * gChPredictionFullScanMs - Set periodic timer for channel prediction
709  * @Min: 3000
710  * @Max: 0x7fffffff
711  * @Default: 60000
712  *
713  * This ini is used to set the periodic timer upon which
714  * a full scan needs to be triggered when PNO channel
715  * prediction feature is enabled. This parameter is intended
716  * to tweak the internal algortihm for experiments.
717  *
718  * Related: None
719  *
720  * Supported Feature: Scan
721  *
722  * Usage: Internal
723  *
724  * </ini>
725  */
726 #define CFG_CHANNEL_PREDICTION_SCAN_TIMER CFG_INI_UINT( \
727 			"gChPredictionFullScanMs", \
728 			3000, \
729 			0x7fffffff, \
730 			60000, \
731 			CFG_VALUE_OR_DEFAULT, \
732 			"Timer value for channel prediction")
733 
734 /*
735  * <ini>
736  * pnoscan_adaptive_dwell_mode - Enable adaptive dwell mode
737  * during pno scan
738  * @Min: 0
739  * @Max: 4
740  * @Default: 1
741  *
742  * This ini will set the algo used in dwell time optimization
743  * during pno scan. see enum scan_dwelltime_adaptive_mode.
744  * Acceptable values for this:
745  * 0: Default (Use firmware default mode)
746  * 1: Conservative optimization
747  * 2: Moderate optimization
748  * 3: Aggressive optimization
749  * 4: Static
750  *
751  * Related: None
752  *
753  * Supported Feature: Scan
754  *
755  * Usage: External
756  *
757  * </ini>
758  */
759 #define CFG_ADAPTIVE_PNOSCAN_DWELL_MODE CFG_INI_UINT( \
760 			"pnoscan_adaptive_dwell_mode", \
761 			0, \
762 			4, \
763 			1, \
764 			CFG_VALUE_OR_DEFAULT, \
765 			"Algorithm used in dwell time optimization")
766 
767 /*
768  * <ini>
769  * gScanBackoffMultiplier - For NLO/PNO, multiply fast scan period by this every
770  *      max cycles
771  * @Min: 0
772  * @Max: 255
773  * @Default: 0
774  *
775  * For Network Listen Offload and Perfered Network Offload, multiply the fast
776  * scan period by this value after max cycles have occurred. Setting this to 0
777  * disables the feature.
778  *
779  * @E.g.
780  *      # Disable scan backoff multiplier
781  *      gScanBackoffMultiplier=0
782  *      # Effectively the same
783  *      gScanBackoffMultiplier=1
784  *      # Double the scan period after each max cycles have occurred
785  *      gScanBackoffMultiplier=2
786  *
787  * Related: NLO, PNO
788  *
789  * Usage: Internal/External
790  *
791  * </ini>
792  */
793 #define CFG_SCAN_BACKOFF_MULTIPLIER CFG_INI_UINT( \
794 			"gScanBackoffMultiplier", \
795 			0, \
796 			255, \
797 			0, \
798 			CFG_VALUE_OR_DEFAULT, \
799 			"Scan backoff multiplier")
800 
801 /*
802  * <ini>
803  * mawc_nlo_enabled - For NLO/PNO, enable MAWC based scan
804  * @Min: 0
805  * @Max: 1
806  * @Default: 0
807  *
808  * Enable/Disable the Motion Aided Wireless Connectivity
809  * based NLO using this parameter
810  *
811  * Related: NLO, PNO
812  *
813  * Usage: Internal/External
814  *
815  * </ini>
816  */
817 #define CFG_MAWC_NLO_ENABLED CFG_INI_BOOL( \
818 			"mawc_nlo_enabled", \
819 			0, \
820 			"Enable MAWC based scan")
821 
822 /*
823  * <ini>
824  * mawc_nlo_exp_backoff_ratio - Exponential back off ratio
825  * @Min: 0
826  * @Max: 300
827  * @Default: 3
828  *
829  * Configure the exponential back off ratio using this
830  * parameter for MAWC based NLO
831  * ratio of exponential backoff, next = current + current*ratio/100
832  *
833  * Related: NLO, PNO
834  *
835  * Usage: Internal/External
836  *
837  * </ini>
838  */
839 #define CFG_MAWC_NLO_EXP_BACKOFF_RATIO CFG_INI_UINT( \
840 			"mawc_nlo_exp_backoff_ratio", \
841 			0, \
842 			300, \
843 			3, \
844 			CFG_VALUE_OR_DEFAULT, \
845 			"MWAC based NLO exponential ratio")
846 
847 /*
848  * <ini>
849  * mawc_nlo_init_scan_interval - Initial Scan Interval
850  * @Min: 1000
851  * @Max: 0xFFFFFFFF
852  * @Default: 10000
853  *
854  * Configure the initial scan interval  using this
855  * parameter for MAWC based NLO (Units in Milliseconds)
856  *
857  * Related: NLO, PNO
858  *
859  * Usage: Internal/External
860  *
861  * </ini>
862  */
863 #define CFG_MAWC_NLO_INIT_SCAN_INTERVAL CFG_INI_UINT( \
864 			"mawc_nlo_init_scan_interval", \
865 			1000, \
866 			0xFFFFFFFF, \
867 			10000, \
868 			CFG_VALUE_OR_DEFAULT, \
869 			"Initial Scan Interval")
870 
871 /*
872  * <ini>
873  * mawc_nlo_max_scan_interval - Maximum Scan Interval
874  * @Min: 1000
875  * @Max: 0xFFFFFFFF
876  * @Default: 60000
877  *
878  * Configure the maximum scan interval  using this
879  * parameter for MAWC based NLO (Units in Milliseconds)
880  *
881  * Related: NLO, PNO
882  *
883  * Usage: Internal/External
884  *
885  * </ini>
886  */
887 #define CFG_MAWC_NLO_MAX_SCAN_INTERVAL CFG_INI_UINT( \
888 			"mawc_nlo_max_scan_interval", \
889 			1000, \
890 			0xFFFFFFFF, \
891 			60000, \
892 			CFG_VALUE_OR_DEFAULT, \
893 			"Maximum Scan Interval")
894 
895 #define CFG_SCAN_PNO \
896 	CFG(CFG_MAX_SCHED_SCAN_PLAN_ITERATIONS) \
897 	CFG(CFG_MAX_SCHED_SCAN_PLAN_INTERVAL) \
898 	CFG(CFG_PNO_SCAN_SUPPORT) \
899 	CFG(CFG_ENABLE_DFS_PNO_CHNL_SCAN) \
900 	CFG(CFG_PNO_SCAN_TIMER_REPEAT_VALUE) \
901 	CFG(CFG_PNO_SLOW_SCAN_MULTIPLIER) \
902 	CFG(CFG_PNO_CHANNEL_PREDICTION) \
903 	CFG(CFG_TOP_K_NUM_OF_CHANNELS) \
904 	CFG(CFG_STATIONARY_THRESHOLD) \
905 	CFG(CFG_CHANNEL_PREDICTION_SCAN_TIMER) \
906 	CFG(CFG_ADAPTIVE_PNOSCAN_DWELL_MODE) \
907 	CFG(CFG_SCAN_BACKOFF_MULTIPLIER) \
908 	CFG(CFG_MAWC_NLO_ENABLED) \
909 	CFG(CFG_MAWC_NLO_EXP_BACKOFF_RATIO) \
910 	CFG(CFG_MAWC_NLO_INIT_SCAN_INTERVAL) \
911 	CFG(CFG_MAWC_NLO_MAX_SCAN_INTERVAL) \
912 	CFG(CFG_USER_CONFIG_SCHED_SCAN_PLAN)
913 
914 #else
915 #define CFG_SCAN_PNO
916 #endif  /* FEATURE_WLAN_SCAN_PNO */
917 
918 /*
919  * <ini>
920  * gActiveMaxChannelTimeConc - Maximum active scan time in milliseconds.
921  * @Min: 0
922  * @Max: 10000
923  * @Default: 40
924  *
925  * This ini is used to set maximum active scan time in STA+SAP concurrent
926  * mode.
927  *
928  * Related: None.
929  *
930  * Supported Feature: Concurrency
931  *
932  * Usage: Internal/External
933  *
934  * </ini>
935  */
936 #define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC CFG_INI_UINT(\
937 				"gActiveMaxChannelTimeConc",\
938 				0, 10000, PLATFORM_VALUE(40, 0),\
939 				CFG_VALUE_OR_DEFAULT, \
940 				"active scan time in STA+SAP concurrent")
941 
942 /*
943  * <ini>
944  * gPassiveMaxChannelTimeConc - Maximum passive scan time in milliseconds.
945  * @Min: 0
946  * @Max: 10000
947  * @Default: 110
948  *
949  * This ini is used to set maximum passive scan time in STA+SAP concurrent
950  * mode.
951  *
952  * Related: None.
953  *
954  * Supported Feature: Concurrency
955  *
956  * Usage: Internal/External
957  *
958  * </ini>
959  */
960 #define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC CFG_INI_UINT(\
961 				"gPassiveMaxChannelTimeConc",\
962 				0, 10000, PLATFORM_VALUE(110, 0),\
963 				CFG_VALUE_OR_DEFAULT, \
964 				"Set priority for connection with bssid_hint")
965 
966 /*
967  * <ini>
968  * gRestTimeConc - Rest time before moving to a new channel to scan.
969  * @Min: 0
970  * @Max: 10000
971  * @Default: 100
972  *
973  * This ini is used to configure rest time.
974  *
975  * Related: None.
976  *
977  * Supported Feature: Concurrency
978  *
979  * Usage: Internal/External
980  *
981  * </ini>
982  */
983 #define CFG_MAX_REST_TIME_CONC CFG_INI_UINT(\
984 				"nRestTimeConc",\
985 				0, 10000, PLATFORM_VALUE(100, 0),\
986 				CFG_VALUE_OR_DEFAULT, \
987 				"Rest time before moving to a new channel")
988 
989 /*
990  * <ini>
991  * min_rest_time_conc - Mininum time spent on home channel before moving to a
992  * new channel to scan.
993  * @Min: 0
994  * @Max: 50
995  * @Default: 50
996  *
997  * This ini is used to configure minimum time spent on home channel before
998  * moving to a new channel to scan.
999  *
1000  * Related: None.
1001  *
1002  * Supported Feature: Concurrency
1003  *
1004  * Usage: Internal/External
1005  *
1006  * </ini>
1007  */
1008 #define CFG_MIN_REST_TIME_CONC CFG_INI_UINT(\
1009 				"min_rest_time_conc",\
1010 				0, 50, PLATFORM_VALUE(50, 0),\
1011 				CFG_VALUE_OR_DEFAULT, \
1012 				"minimum time spent on home channel")
1013 
1014 /*
1015  * <ini>
1016  * wake_lock_in_user_scan - use to acquire wake lock during user scan
1017  * @Min: 0
1018  * @Max: 1
1019  * @Default: 0
1020  *
1021  * This INI is added for a specific OEM on their request, who don’t want to
1022  * use PNO offload scan (sched scans). This is useful only if PNO scan offload
1023  * is disabled. If PNO scan is enabled this INI should be disabled and its
1024  * by default disabled intentionally.
1025  * This is used to acquire wake lock to handle the case where PNO scan offload
1026  * is disabled so that wlan is not suspended during scan before connect and
1027  * thus scan is not aborted in between. In case PNO scan is offloaded, the FW
1028  * will take care of connect scans and will wake up host when candidate is found
1029  *
1030  * Related: Scan
1031  *
1032  * Usage: Internal/External
1033  *
1034  * </ini>
1035  */
1036 #define CFG_ENABLE_WAKE_LOCK_IN_SCAN CFG_INI_BOOL( \
1037 				"wake_lock_in_user_scan", \
1038 				false, \
1039 				"use wake lock during scan")
1040 
1041 /*
1042  * <ini>
1043  * gIdleTimeConc - Data inactivity time in msec.
1044  * @Min: 0
1045  * @Max: 25
1046  * @Default: 25
1047  *
1048  * This ini is used to configure data inactivity time in msec on bss channel
1049  * that will be used by scan engine in firmware.
1050  * For example if this value is 25ms then firmware will check for data
1051  * inactivity every 25ms till gRestTimeConc is reached.
1052  * If inactive then scan engine will move from home channel to scan the next
1053  * frequency.
1054  *
1055  * Related: None.
1056  *
1057  * Supported Feature: Concurrency
1058  *
1059  * Usage: Internal/External
1060  *
1061  * </ini>
1062  */
1063 #define CFG_IDLE_TIME_CONC CFG_INI_UINT(\
1064 				"gIdleTimeConc",\
1065 				0, 25, PLATFORM_VALUE(25, 0),\
1066 				CFG_VALUE_OR_DEFAULT, \
1067 				"data inactivity time on bss channel")
1068 
1069 /*
1070  * <ini>
1071  * gEnableMacAddrSpoof - Enable mac address randomization feature.
1072  * @Min: 0
1073  * @Max: 1
1074  * @Default: 1
1075  *
1076  * This ini is used to enable/disable mac address randomization for scan.
1077  *
1078  * Supported Feature: SCAN
1079  *
1080  *
1081  * Usage: Internal/External
1082  *
1083  * </ini>
1084  */
1085 #define CFG_ENABLE_MAC_ADDR_SPOOFING CFG_INI_BOOL( \
1086 		"gEnableMacAddrSpoof", \
1087 		true, \
1088 		"Enable mac spoofing")
1089 
1090 /*
1091  * <ini>
1092  * gScanAgingTime - Set scan aging time
1093  * @Min: 0
1094  * @Max: 200
1095  * @Default: 30
1096  *
1097  * This ini is used to set scan aging timeout value
1098  * in secs. For example after 30 secs the bss results
1099  * greater than 30secs age will be flushed.
1100  *
1101  * Related: None
1102  *
1103  * Supported Feature: Scan
1104  *
1105  * Usage: External
1106  *
1107  * </ini>
1108  */
1109 #ifdef CONFIG_WIFI_EMULATION_WIFI_3_0
1110 #define CFG_SCAN_AGING_TIME_DEFAULT (90)
1111 #else
1112 #define CFG_SCAN_AGING_TIME_DEFAULT (30)
1113 #endif
1114 
1115 #define CFG_SCAN_AGING_TIME CFG_INI_UINT( \
1116 			"gScanAgingTime", \
1117 			0, \
1118 			200, \
1119 			CFG_SCAN_AGING_TIME_DEFAULT, \
1120 			CFG_VALUE_OR_DEFAULT, \
1121 			"scan aging time")
1122 /*
1123  * <ini>
1124  * extscan_adaptive_dwell_mode  Enable adaptive dwell mode
1125  * during ext scan
1126  * @Min: 0
1127  * @Max: 4
1128  * @Default: 1
1129  *
1130  * This ini will set the algo used in dwell time optimization
1131  * during ext scan. see enum scan_dwelltime_adaptive_mode.
1132  * Acceptable values for this:
1133  * 0: Default (Use firmware default mode)
1134  * 1: Conservative optimization
1135  * 2: Moderate optimization
1136  * 3: Aggressive optimization
1137  * 4: Static
1138  *
1139  * Related: None
1140  *
1141  * Supported Feature: Scan
1142  *
1143  * Usage: External
1144  *
1145  * </ini>
1146  */
1147 #define CFG_ADAPTIVE_EXTSCAN_DWELL_MODE CFG_INI_UINT( \
1148 			"extscan_adaptive_dwell_mode", \
1149 			0, \
1150 			4, \
1151 			1, \
1152 			CFG_VALUE_OR_DEFAULT, \
1153 			"ext scan adaptive dwell mode")
1154 
1155 /*
1156  * <ini>
1157  * sta_scan_burst_duration - Burst duration in case of split scan.
1158  * @Min: 0
1159  * @Max: 180
1160  * @Default: 0
1161  *
1162  * This ini is used to set burst duration of sta scan requests.
1163  *
1164  * Related: None.
1165  *
1166  * Supported Feature: Concurrency
1167  *
1168  * Usage: External
1169  *
1170  * </ini>
1171  */
1172 #define CFG_STA_SCAN_BURST_DURATION CFG_INI_UINT( \
1173 			"sta_scan_burst_duration", \
1174 			0, \
1175 			180, \
1176 			0, \
1177 			CFG_VALUE_OR_DEFAULT, \
1178 			"sta scan burst duration")
1179 
1180 /*
1181  * <ini>
1182  * p2p_scan_burst_duration - Burst duration in case of split scan for p2p scan.
1183  * @Min: 0
1184  * @Max: 180
1185  * @Default: 0
1186  *
1187  * This ini is used to set burst duration of scan for p2p scan requests.
1188  *
1189  * Related: None.
1190  *
1191  * Supported Feature: Concurrency
1192  *
1193  * Usage: External
1194  *
1195  * </ini>
1196  */
1197 
1198 #define CFG_P2P_SCAN_BURST_DURATION CFG_INI_UINT( \
1199 			"p2p_scan_burst_duration", \
1200 			0, \
1201 			180, \
1202 			0, \
1203 			CFG_VALUE_OR_DEFAULT, \
1204 			"p2p scan burst duration")
1205 /*
1206  * <ini>
1207  * go_scan_burst_duration - Burst duration in case of split scan when GO is
1208  * active.
1209  * @Min: 0
1210  * @Max: 180
1211  * @Default: 0
1212  *
1213  * This ini is used to set burst duration of scan when GO is active.
1214  *
1215  * Related: None.
1216  *
1217  * Supported Feature: Concurrency
1218  *
1219  * Usage: External
1220  *
1221  * </ini>
1222  */
1223 #define CFG_GO_SCAN_BURST_DURATION CFG_INI_UINT( \
1224 			"go_scan_burst_duration", \
1225 			0, \
1226 			180, \
1227 			0, \
1228 			CFG_VALUE_OR_DEFAULT, \
1229 			"go scan burst duration")
1230 
1231 /*
1232  * <ini>
1233  * ap_scan_burst_duration - Burst duration in case of split scan when ap
1234  * is active.
1235  * @Min: 0
1236  * @Max: 32
1237  * @Default: 0
1238  *
1239  * This ini is used to set burst duration of scan when SAP is active.
1240  *
1241  * Related: None.
1242  *
1243  * Supported Feature: Concurrency
1244  *
1245  * Usage: External
1246  *
1247  * </ini>
1248  */
1249 #define CFG_AP_SCAN_BURST_DURATION CFG_INI_UINT( \
1250 			"ap_scan_burst_duration", \
1251 			0, \
1252 			32, \
1253 			0, \
1254 			CFG_VALUE_OR_DEFAULT, \
1255 			"ap scan burst duration")
1256 
1257 /*
1258  * <ini>
1259  * gSkipDfsChannelInP2pSearch - Skip DFS Channel in case of P2P Search
1260  * @Min: 0
1261  * @Max: 1
1262  * @Default: 1
1263  *
1264  * This ini is used to disable(skip) dfs channel in p2p search.
1265  * Related: None.
1266  *
1267  * Supported Feature: DFS P2P
1268  *
1269  * Usage: External
1270  *
1271  * <ini>
1272  */
1273 #define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH CFG_INI_BOOL( \
1274 	"gSkipDfsChannelInP2pSearch", \
1275 	1, \
1276 	"skip dfs channel in p2p search")
1277 
1278 /*
1279  * <ini>
1280  * gEnableConnectedScan - Will enable or disable scan in connected state
1281  * This ini is used to enable or disable the scanning in
1282  * Connected state
1283  * @Min: 0
1284  * @Max: 1
1285  * @Default: 1
1286  *
1287  * Related: None
1288  *
1289  * Supported Feature: STA
1290  *
1291  * Usage: External
1292  *
1293  * <ini>
1294  */
1295 #define CFG_ENABLE_CONNECTED_SCAN CFG_INI_BOOL( \
1296 				"gEnableConnectedScan", \
1297 				true, \
1298 				"Enable/disable scan in connected state")
1299 
1300 /*
1301  * <ini>
1302  * gEnableSNRMonitoring - Enables SNR Monitoring
1303  * @Min: 0
1304  * @Max: 1
1305  * @Default: 0
1306  *
1307  * This ini is used to set default snr monitor
1308  *
1309  * Related: None
1310  *
1311  * Supported Feature: STA
1312  *
1313  * Usage: Internal/External
1314  *
1315  * </ini>
1316  */
1317 #define CFG_ENABLE_SNR_MONITORING CFG_INI_BOOL(\
1318 			"gEnableSNRMonitoring",\
1319 			false,\
1320 			"Enable/Disable SNR Monitoring")
1321 
1322 /*
1323  * <ini>
1324  * scan_mode_6ghz - 6ghz Scan mode
1325  * @Min: 0
1326  * @Max: 2
1327  * @Default: 1
1328  *
1329  * Configure the 6Ghz scan mode
1330  * 0 - Remove 6GHz channels in the scan request
1331  * 1 - Allow/Add 6Ghz PSC channels to scan request
1332  * 2 - Allow all the 6Ghz channels
1333  * 3 - Scan the channels (both PSC and non-PSC) found in RNR-IEs while scanning
1334  *     2g and 5g bands. Host fills all PSC and non-PSC channels in the scan
1335  *     request and set the flag FLAG_SCAN_ONLY_IF_RNR_FOUND for each channel.
1336  * 4 - Scan the complete PSC channel list for every duty cycle. For every
1337  *     duty cycle scan, host fills all 6g channels and sets the flag
1338  *     FLAG_SCAN_ONLY_IF_RNR_FOUND only for non-PSC channels. Rest of the scans
1339  *     will be done only on RNR channels (PSC and non-PSC).
1340  * 5 - Scan the complete 6g(PSC and non-PSC) channel list for every duty cycle.
1341  *     For every duty cycle scan, host fills all 6g channels and doesn't set the
1342  *     flag FLAG_SCAN_ONLY_IF_RNR_FOUND for any 6g (PSC/non-PSC) channels. Rest
1343  *     of the scans will be done only on RNR (PSC and non-PSC channels).
1344  *
1345  * Related: SCAN
1346  *
1347  * Usage: Internal/External
1348  *
1349  * </ini>
1350  */
1351 #define CFG_6GHZ_SCAN_MODE CFG_INI_UINT( \
1352 			"scan_mode_6ghz", \
1353 			SCAN_MODE_6G_NO_CHANNEL, \
1354 			SCAN_MODE_6G_MAX, \
1355 			PLATFORM_VALUE(SCAN_MODE_6G_PSC_DUTY_CYCLE, \
1356 				SCAN_MODE_6G_ALL_CHANNEL), \
1357 			CFG_VALUE_OR_DEFAULT, \
1358 			"6ghz scan mode")
1359 
1360 /*
1361  * <ini>
1362  * scan_mode_6ghz_duty_cycle - 6ghz Scan mode duty cycle
1363  * @Min: 0
1364  * @Max: 0xFFFF
1365  * @Default: 4
1366  *
1367  * Configure the 6Ghz scan mode duty cycle
1368  * 0 - No full scan needed, all scans are optimized
1369  * 1 - No scan optimization, all full scans are considered as it is
1370  * 2 - Every alternate full scan req is considered as it is without optimization
1371  * 3 - Every third full scan req is considered as it is without optimization
1372  * 4 - Every fourth full scan req is considered as it is without optimization
1373  *
1374  * This INI is used to disable optimization on full scan requests after every
1375  * duty cycle and send it as it is to firmware. The optimization is to fill 6ghz
1376  * channels and scan for only RNR channels based on the ini scan_mode_6ghz.
1377  *
1378  * Related: scan_mode_6ghz
1379  *
1380  * Usage: External
1381  *
1382  * </ini>
1383  */
1384 #define CFG_6GHZ_SCAN_MODE_DUTY_CYCLE CFG_INI_UINT( \
1385 			"scan_mode_6ghz_duty_cycle", \
1386 			0, \
1387 			0xFFFF, \
1388 			4, \
1389 			CFG_VALUE_OR_DEFAULT, \
1390 			"6ghz scan mode duty cycle")
1391 
1392 /*
1393  * <ini>
1394  * scan_allow_bss_with_corrupted_ie - Continue scan even if corrupted IEs are
1395  * present.
1396  * @Min: 0
1397  * @Max: 1
1398  * @Default: 0
1399  *
1400  * This ini is used to continue scan even if corrupted IEs are present. If this
1401  * ini is enable, the scan module skips the IEs following corrupted IEs(IE's
1402  * with invalid len) and adds the scan entry without completely dropping the
1403  * frame.
1404  *
1405  * Related: scan
1406  *
1407  * Usage: External
1408  *
1409  * <ini>
1410  */
1411 #define CFG_SCAN_ALLOW_BSS_WITH_CORRUPTED_IE CFG_INI_BOOL( \
1412 			"scan_allow_bss_with_corrupted_ie", \
1413 			false, \
1414 			"scan allow bss with corrupted ie")
1415 
1416 #define CFG_SCAN_ALL \
1417 	CFG(CFG_DROP_BCN_ON_CHANNEL_MISMATCH) \
1418 	CFG(CFG_DROP_BCN_ON_INVALID_FREQ) \
1419 	CFG(CFG_ENABLE_WAKE_LOCK_IN_SCAN) \
1420 	CFG(CFG_ACTIVE_MAX_CHANNEL_TIME) \
1421 	CFG(CFG_ENABLE_DFS_SCAN) \
1422 	CFG(CFG_ENABLE_CONNECTED_SCAN) \
1423 	CFG(CFG_INITIAL_NO_DFS_SCAN) \
1424 	CFG(CFG_ACTIVE_MAX_2G_CHANNEL_TIME) \
1425 	CFG(CFG_PASSIVE_MAX_CHANNEL_TIME) \
1426 	CFG(CFG_MIN_6G_CHANNEL_TIME) \
1427 	CFG(CFG_ACTIVE_MAX_6G_CHANNEL_TIME) \
1428 	CFG(CFG_PASSIVE_MAX_6G_CHANNEL_TIME) \
1429 	CFG(CFG_ACTIVE_MAX_6G_CHANNEL_TIME_CONC) \
1430 	CFG(CFG_PASSIVE_MAX_6G_CHANNEL_TIME_CONC) \
1431 	CFG(CFG_SCAN_NUM_PROBES) \
1432 	CFG(CFG_SCAN_PROBE_REPEAT_TIME) \
1433 	CFG(CFG_ADAPTIVE_SCAN_DWELL_MODE) \
1434 	CFG(CFG_ADAPTIVE_SCAN_DWELL_MODE_NC) \
1435 	CFG(CFG_HONOUR_NL_SCAN_POLICY_FLAGS) \
1436 	CFG(CFG_PASSIVE_MAX_CHANNEL_TIME_CONC) \
1437 	CFG(CFG_ACTIVE_MAX_CHANNEL_TIME_CONC) \
1438 	CFG(CFG_MAX_REST_TIME_CONC) \
1439 	CFG(CFG_MIN_REST_TIME_CONC) \
1440 	CFG(CFG_IDLE_TIME_CONC) \
1441 	CFG(CFG_ENABLE_MAC_ADDR_SPOOFING) \
1442 	CFG(CFG_SCAN_AGING_TIME) \
1443 	CFG(CFG_ADAPTIVE_EXTSCAN_DWELL_MODE) \
1444 	CFG(CFG_STA_SCAN_BURST_DURATION) \
1445 	CFG(CFG_P2P_SCAN_BURST_DURATION) \
1446 	CFG(CFG_GO_SCAN_BURST_DURATION) \
1447 	CFG(CFG_ENABLE_SNR_MONITORING) \
1448 	CFG(CFG_AP_SCAN_BURST_DURATION) \
1449 	CFG(CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH) \
1450 	CFG(CFG_6GHZ_SCAN_MODE) \
1451 	CFG(CFG_6GHZ_SCAN_MODE_DUTY_CYCLE) \
1452 	CFG(CFG_SCAN_ALLOW_BSS_WITH_CORRUPTED_IE) \
1453 	CFG_SCAN_PNO
1454 
1455 #endif /* __CONFIG_SCAN_H */
1456