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