wlan_scan_cfg.h 30 KB

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