1 /* 2 * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. 3 * Copyright (c) 2022 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 */ 48 enum scan_mode_6ghz { 49 SCAN_MODE_6G_NO_CHANNEL, 50 SCAN_MODE_6G_PSC_CHANNEL, 51 SCAN_MODE_6G_ALL_CHANNEL, 52 SCAN_MODE_6G_RNR_ONLY, 53 SCAN_MODE_6G_PSC_DUTY_CYCLE, 54 SCAN_MODE_6G_ALL_DUTY_CYCLE, 55 SCAN_MODE_6G_MAX = SCAN_MODE_6G_ALL_DUTY_CYCLE, 56 }; 57 58 /* 59 * <ini> 60 * drop_bcn_on_chan_mismatch - drop the beacon for chan mismatch 61 * @Min: 0 62 * @Max: 1 63 * @Default: 1 64 * 65 * This ini is used to decide drop the beacon or not if channel received 66 * in metadata doesn't match the one in beacon. 67 * 68 * Related: None 69 * 70 * Usage: External 71 * 72 * </ini> 73 */ 74 #define CFG_DROP_BCN_ON_CHANNEL_MISMATCH CFG_INI_BOOL(\ 75 "drop_bcn_on_chan_mismatch",\ 76 true,\ 77 "drop bcn on channel mismatch") 78 79 /* 80 * <ini> 81 * drop_bcn_on_invalid_freq - drop the beacon or probe resp with invalid freq 82 * @Min: 0 83 * @Max: 1 84 * @Default: 1 85 * 86 * This ini is used to decide whether to drop the beacon/probe resp or not 87 * if channel received in DS param, HT info and HE IE is invalid. 88 * 89 * Related: None 90 * 91 * Usage: External 92 * 93 * </ini> 94 */ 95 #define CFG_DROP_BCN_ON_INVALID_FREQ CFG_INI_BOOL(\ 96 "drop_bcn_on_invalid_freq",\ 97 true,\ 98 "drop bcn on invalid freq in HT, DS, HE IE") 99 100 /* 101 * <ini> 102 * gActiveMaxChannelTime - Set max channel time for active scan 103 * @Min: 0 104 * @Max: 10000 105 * @Default: 40 106 * 107 * This ini is used to set maximum channel time in msecs spent in 108 * active scan 109 * 110 * Related: None 111 * 112 * Usage: External 113 * 114 * </ini> 115 */ 116 #define CFG_ACTIVE_MAX_CHANNEL_TIME CFG_INI_UINT(\ 117 "gActiveMaxChannelTime",\ 118 0, 10000, PLATFORM_VALUE(40, 105),\ 119 CFG_VALUE_OR_DEFAULT, "active dwell time") 120 121 /* 122 * <ini> 123 * gEnableDFSChnlScan - Enable/Disable scan on DFS channels 124 * @Min: 0 125 * @Max: 1 126 * @Default: 1 127 * 128 * This ini is used to enable/disable scan on DFS channels. 129 * 130 * Related: Scan 131 * 132 * Usage: External 133 * 134 * </ini> 135 */ 136 #define CFG_ENABLE_DFS_SCAN CFG_INI_BOOL( \ 137 "gEnableDFSChnlScan", \ 138 true, \ 139 "enable dfs scan") 140 141 /* 142 * <ini> 143 * gInitialScanNoDFSChnl - Exclude DFS channels in first scan 144 * @Min: 0 145 * @Max: 1 146 * @Default: 0 147 * 148 * This ini is used to enable/disable scan on DFS channels, in first scan only 149 * 150 * Related: Scan 151 * 152 * Usage: External 153 * 154 * </ini> 155 */ 156 #define CFG_INITIAL_NO_DFS_SCAN CFG_INI_BOOL( \ 157 "gInitialScanNoDFSChnl", \ 158 false, \ 159 "disable initial dfs scan") 160 161 /* 162 * <ini> 163 * active_max_channel_time_2g - Set max time for active 2G channel scan 164 * @Min: 0 165 * @Max: 10000 166 * @Default: 80 167 * 168 * This ini is used to set maximum time in msecs spent in active 2G channel scan 169 * if it's not zero, in case of zero, CFG_ACTIVE_MAX_CHANNEL_TIME is used for 2G 170 * channels also. 171 * 172 * Related: None 173 * 174 * Usage: External 175 * 176 * </ini> 177 */ 178 #define CFG_ACTIVE_MAX_2G_CHANNEL_TIME CFG_INI_UINT(\ 179 "active_max_channel_time_2g",\ 180 0, 10000, PLATFORM_VALUE(80, 0),\ 181 CFG_VALUE_OR_DEFAULT, "active dwell time for 2G channels") 182 183 /* 184 * <ini> 185 * min_channel_time_6g - Set min dwell time for 6G channels scan 186 * @Min: 5 187 * @Max: 60 188 * @Default: 25 189 * 190 * This ini is used to set minimum time in msecs spent in 6G channels scan. 191 * Firmware will park on the 6G channel for this duration and if no FILS 192 * discovery, Beacon, Probe resp is received it will move to new channel after 193 * this duration. If found , it will wait for "active_max_channel_time_6g" 194 * duration 195 * 196 * Related: active_max_channel_time_6g 197 * 198 * Supported Feature: Scan 199 * 200 * Usage: External 201 * 202 * </ini> 203 */ 204 #define CFG_MIN_6G_CHANNEL_TIME CFG_INI_UINT(\ 205 "min_dwell_time_6g",\ 206 5, 60, 25,\ 207 CFG_VALUE_OR_DEFAULT, "min dwell time for 6G channels") 208 209 /* 210 * <ini> 211 * active_max_channel_time_6g - Set max time for active 6G channel scan 212 * @Min: 0 213 * @Max: 10000 214 * @Default: 60 215 * 216 * This ini is used to set maximum time in msecs spent in active 6G channel scan 217 * 218 * 219 * Related: None 220 * 221 * Supported Feature: Scan 222 * 223 * Usage: External 224 * 225 * </ini> 226 */ 227 #define CFG_ACTIVE_MAX_6G_CHANNEL_TIME CFG_INI_UINT(\ 228 "active_max_channel_time_6g",\ 229 0, 10000, 60,\ 230 CFG_VALUE_OR_DEFAULT, "max active dwell time for 6G channels") 231 232 /* 233 * <ini> 234 * passive_max_channel_time_6g - Set max time for passive 6G channel scan 235 * @Min: 0 236 * @Max: 10000 237 * @Default: 60 238 * 239 * This ini is used to set maximum time in msecs spent in passive 6G chan scan 240 * 241 * Related: None 242 * 243 * Supported Feature: Scan 244 * 245 * Usage: External 246 * 247 * </ini> 248 */ 249 #define CFG_PASSIVE_MAX_6G_CHANNEL_TIME CFG_INI_UINT(\ 250 "passive_max_channel_time_6g",\ 251 0, 10000, 60,\ 252 CFG_VALUE_OR_DEFAULT, "max passive dwell time for 6G channels") 253 254 /* 255 * <ini> 256 * active_max_channel_time_6g_conc - Set max time for active 6G 257 * channel scan when associated to AP. 258 * @Min: 0 259 * @Max: 10000 260 * @Default: 40 261 * 262 * This ini is used to set maximum time in msecs spent in 263 * active 6G channel scan 264 * 265 * Related: None 266 * 267 * Supported Feature: Scan 268 * 269 * Usage: External 270 * 271 * </ini> 272 */ 273 #define CFG_ACTIVE_MAX_6G_CHANNEL_TIME_CONC CFG_INI_UINT(\ 274 "active_max_channel_time_6g_conc",\ 275 0, 10000, 40,\ 276 CFG_VALUE_OR_DEFAULT, "active conc dwell time for 6G channels") 277 278 /* 279 * <ini> 280 * passive_max_channel_time_6g_conc - Set max time for passive 6G 281 * channel scan when associated to AP. 282 * @Min: 0 283 * @Max: 10000 284 * @Default: 40 285 * 286 * This ini is used to set maximum time in msecs spent in 287 * passive 6G chan scan 288 * 289 * Related: None 290 * 291 * Supported Feature: Scan 292 * 293 * Usage: External 294 * 295 * </ini> 296 */ 297 #define CFG_PASSIVE_MAX_6G_CHANNEL_TIME_CONC CFG_INI_UINT(\ 298 "passive_max_channel_time_6g_conc",\ 299 0, 10000, 40,\ 300 CFG_VALUE_OR_DEFAULT,\ 301 "passive conc dwell time for 6G channels") 302 303 /* 304 * <ini> 305 * gPassiveMaxChannelTime - Set max channel time 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",\ 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 * gChlistTrimConc - Enable scan list modification on concurrent mode. 1072 * @Min: 0 1073 * @Max: 1 1074 * @Default: 0 1075 * 1076 * This ini is used to enable/disable scan list modification 1077 * on concurrent mode. 1078 * 1079 * Related: None. 1080 * 1081 * Supported Feature: Concurrency, Scan 1082 * 1083 * Usage: Internal/External 1084 * 1085 * </ini> 1086 */ 1087 #define CFG_CHAN_LIST_TRIM_CONC CFG_INI_BOOL(\ 1088 "ch_list_trim_conc",\ 1089 false, \ 1090 "Enable scan list trim") 1091 1092 /* 1093 * <ini> 1094 * gEnableMacAddrSpoof - Enable mac address randomization feature. 1095 * @Min: 0 1096 * @Max: 1 1097 * @Default: 1 1098 * 1099 * This ini is used to enable/disable mac address randomization for scan. 1100 * 1101 * Supported Feature: SCAN 1102 * 1103 * 1104 * Usage: Internal/External 1105 * 1106 * </ini> 1107 */ 1108 #define CFG_ENABLE_MAC_ADDR_SPOOFING CFG_INI_BOOL( \ 1109 "gEnableMacAddrSpoof", \ 1110 true, \ 1111 "Enable mac spoofing") 1112 1113 /* 1114 * <ini> 1115 * gScanAgingTime - Set scan aging time 1116 * @Min: 0 1117 * @Max: 200 1118 * @Default: 30 1119 * 1120 * This ini is used to set scan aging timeout value 1121 * in secs. For example after 30 secs the bss results 1122 * greater than 30secs age will be flushed. 1123 * 1124 * Related: None 1125 * 1126 * Supported Feature: Scan 1127 * 1128 * Usage: External 1129 * 1130 * </ini> 1131 */ 1132 #ifdef CONFIG_WIFI_EMULATION_WIFI_3_0 1133 #define CFG_SCAN_AGING_TIME_DEFAULT (90) 1134 #else 1135 #define CFG_SCAN_AGING_TIME_DEFAULT (30) 1136 #endif 1137 1138 #define CFG_SCAN_AGING_TIME CFG_INI_UINT( \ 1139 "gScanAgingTime", \ 1140 0, \ 1141 200, \ 1142 CFG_SCAN_AGING_TIME_DEFAULT, \ 1143 CFG_VALUE_OR_DEFAULT, \ 1144 "scan aging time") 1145 /* 1146 * <ini> 1147 * extscan_adaptive_dwell_mode Enable adaptive dwell mode 1148 * during ext scan 1149 * @Min: 0 1150 * @Max: 4 1151 * @Default: 1 1152 * 1153 * This ini will set the algo used in dwell time optimization 1154 * during ext scan. see enum scan_dwelltime_adaptive_mode. 1155 * Acceptable values for this: 1156 * 0: Default (Use firmware default mode) 1157 * 1: Conservative optimization 1158 * 2: Moderate optimization 1159 * 3: Aggressive optimization 1160 * 4: Static 1161 * 1162 * Related: None 1163 * 1164 * Supported Feature: Scan 1165 * 1166 * Usage: External 1167 * 1168 * </ini> 1169 */ 1170 #define CFG_ADAPTIVE_EXTSCAN_DWELL_MODE CFG_INI_UINT( \ 1171 "extscan_adaptive_dwell_mode", \ 1172 0, \ 1173 4, \ 1174 1, \ 1175 CFG_VALUE_OR_DEFAULT, \ 1176 "ext scan adaptive dwell mode") 1177 1178 /* 1179 * <ini> 1180 * sta_scan_burst_duration - Burst duration in case of split scan. 1181 * @Min: 0 1182 * @Max: 180 1183 * @Default: 0 1184 * 1185 * This ini is used to set burst duration of sta scan requests. 1186 * 1187 * Related: None. 1188 * 1189 * Supported Feature: Concurrency 1190 * 1191 * Usage: External 1192 * 1193 * </ini> 1194 */ 1195 #define CFG_STA_SCAN_BURST_DURATION CFG_INI_UINT( \ 1196 "sta_scan_burst_duration", \ 1197 0, \ 1198 180, \ 1199 0, \ 1200 CFG_VALUE_OR_DEFAULT, \ 1201 "sta scan burst duration") 1202 1203 /* 1204 * <ini> 1205 * p2p_scan_burst_duration - Burst duration in case of split scan for p2p scan. 1206 * @Min: 0 1207 * @Max: 180 1208 * @Default: 0 1209 * 1210 * This ini is used to set burst duration of scan for p2p scan requests. 1211 * 1212 * Related: None. 1213 * 1214 * Supported Feature: Concurrency 1215 * 1216 * Usage: External 1217 * 1218 * </ini> 1219 */ 1220 1221 #define CFG_P2P_SCAN_BURST_DURATION CFG_INI_UINT( \ 1222 "p2p_scan_burst_duration", \ 1223 0, \ 1224 180, \ 1225 0, \ 1226 CFG_VALUE_OR_DEFAULT, \ 1227 "p2p scan burst duration") 1228 /* 1229 * <ini> 1230 * go_scan_burst_duration - Burst duration in case of split scan when GO is 1231 * active. 1232 * @Min: 0 1233 * @Max: 180 1234 * @Default: 0 1235 * 1236 * This ini is used to set burst duration of scan when GO is active. 1237 * 1238 * Related: None. 1239 * 1240 * Supported Feature: Concurrency 1241 * 1242 * Usage: External 1243 * 1244 * </ini> 1245 */ 1246 #define CFG_GO_SCAN_BURST_DURATION CFG_INI_UINT( \ 1247 "go_scan_burst_duration", \ 1248 0, \ 1249 180, \ 1250 0, \ 1251 CFG_VALUE_OR_DEFAULT, \ 1252 "go scan burst duration") 1253 1254 /* 1255 * <ini> 1256 * ap_scan_burst_duration - Burst duration in case of split scan when ap 1257 * is active. 1258 * @Min: 0 1259 * @Max: 32 1260 * @Default: 0 1261 * 1262 * This ini is used to set burst duration of scan when SAP is active. 1263 * 1264 * Related: None. 1265 * 1266 * Supported Feature: Concurrency 1267 * 1268 * Usage: External 1269 * 1270 * </ini> 1271 */ 1272 #define CFG_AP_SCAN_BURST_DURATION CFG_INI_UINT( \ 1273 "ap_scan_burst_duration", \ 1274 0, \ 1275 32, \ 1276 0, \ 1277 CFG_VALUE_OR_DEFAULT, \ 1278 "ap scan burst duration") 1279 1280 /* 1281 * <ini> 1282 * gSkipDfsChannelInP2pSearch - Skip DFS Channel in case of P2P Search 1283 * @Min: 0 1284 * @Max: 1 1285 * @Default: 1 1286 * 1287 * This ini is used to disable(skip) dfs channel in p2p search. 1288 * Related: None. 1289 * 1290 * Supported Feature: DFS P2P 1291 * 1292 * Usage: External 1293 * 1294 * <ini> 1295 */ 1296 #define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH CFG_INI_BOOL( \ 1297 "gSkipDfsChannelInP2pSearch", \ 1298 1, \ 1299 "skip dfs channel in p2p search") 1300 1301 /* 1302 * <ini> 1303 * gEnableConnectedScan - Will enable or disable scan in connected state 1304 * This ini is used to enable or disable the scanning in 1305 * Connected state 1306 * @Min: 0 1307 * @Max: 1 1308 * @Default: 1 1309 * 1310 * Related: None 1311 * 1312 * Supported Feature: STA 1313 * 1314 * Usage: External 1315 * 1316 * <ini> 1317 */ 1318 #define CFG_ENABLE_CONNECTED_SCAN CFG_INI_BOOL( \ 1319 "gEnableConnectedScan", \ 1320 true, \ 1321 "Enable/disable scan in connected state") 1322 1323 /* 1324 * <ini> 1325 * gEnableSNRMonitoring - Enables SNR Monitoring 1326 * @Min: 0 1327 * @Max: 1 1328 * @Default: 1 1329 * 1330 * This ini is used to set default snr monitor 1331 * 1332 * Related: None 1333 * 1334 * Supported Feature: STA 1335 * 1336 * Usage: Internal/External 1337 * 1338 * </ini> 1339 */ 1340 #define CFG_ENABLE_SNR_MONITORING CFG_INI_BOOL(\ 1341 "gEnableSNRMonitoring",\ 1342 true,\ 1343 "Enable/Disable SNR Monitoring") 1344 1345 /* 1346 * <ini> 1347 * scan_mode_6ghz - 6ghz Scan mode 1348 * @Min: 0 1349 * @Max: 2 1350 * @Default: 1 1351 * 1352 * Configure the 6Ghz scan mode 1353 * 0 - Remove 6GHz channels in the scan request 1354 * 1 - Allow/Add 6Ghz PSC channels to scan request 1355 * 2 - Allow all the 6Ghz channels 1356 * 3 - Scan the channels (both PSC and non-PSC) found in RNR-IEs while scanning 1357 * 2g and 5g bands. Host fills all PSC and non-PSC channels in the scan 1358 * request and set the flag FLAG_SCAN_ONLY_IF_RNR_FOUND for each channel. 1359 * 4 - Scan the complete PSC channel list for every duty cycle. For every 1360 * duty cycle scan, host fills all 6g channels and sets the flag 1361 * FLAG_SCAN_ONLY_IF_RNR_FOUND only for non-PSC channels. Rest of the scans 1362 * will be done only on RNR channels (PSC and non-PSC). 1363 * 5 - Scan the complete 6g(PSC and non-PSC) channel list for every duty cycle. 1364 * For every duty cycle scan, host fills all 6g channels and doesn't set the 1365 * flag FLAG_SCAN_ONLY_IF_RNR_FOUND for any 6g (PSC/non-PSC) channels. Rest 1366 * of the scans will be done only on RNR (PSC and non-PSC channels). 1367 * 1368 * Related: SCAN 1369 * 1370 * Usage: Internal/External 1371 * 1372 * </ini> 1373 */ 1374 #define CFG_6GHZ_SCAN_MODE CFG_INI_UINT( \ 1375 "scan_mode_6ghz", \ 1376 SCAN_MODE_6G_NO_CHANNEL, \ 1377 SCAN_MODE_6G_MAX, \ 1378 PLATFORM_VALUE(SCAN_MODE_6G_PSC_DUTY_CYCLE, \ 1379 SCAN_MODE_6G_ALL_CHANNEL), \ 1380 CFG_VALUE_OR_DEFAULT, \ 1381 "6ghz scan mode") 1382 1383 /* 1384 * <ini> 1385 * scan_mode_6ghz_duty_cycle - 6ghz Scan mode duty cycle 1386 * @Min: 0 1387 * @Max: 0xFFFF 1388 * @Default: 4 1389 * 1390 * Configure the 6Ghz scan mode duty cycle 1391 * 0 - No full scan needed, all scans are optimized 1392 * 1 - No scan optimization, all full scans are considered as it is 1393 * 2 - Every alternate full scan req is considered as it is without optimization 1394 * 3 - Every third full scan req is considered as it is without optimization 1395 * 4 - Every fourth full scan req is considered as it is without optimization 1396 * 1397 * This INI is used to disable optimization on full scan requests after every 1398 * duty cycle and send it as it is to firmware. The optimization is to fill 6ghz 1399 * channels and scan for only RNR channels based on the ini scan_mode_6ghz. 1400 * 1401 * Related: scan_mode_6ghz 1402 * 1403 * Usage: External 1404 * 1405 * </ini> 1406 */ 1407 #define CFG_6GHZ_SCAN_MODE_DUTY_CYCLE CFG_INI_UINT( \ 1408 "scan_mode_6ghz_duty_cycle", \ 1409 0, \ 1410 0xFFFF, \ 1411 4, \ 1412 CFG_VALUE_OR_DEFAULT, \ 1413 "6ghz scan mode duty cycle") 1414 1415 /* 1416 * <ini> 1417 * scan_allow_bss_with_corrupted_ie - Continue scan even if corrupted IEs are 1418 * present. 1419 * @Min: 0 1420 * @Max: 1 1421 * @Default: 0 1422 * 1423 * This ini is used to continue scan even if corrupted IEs are present. If this 1424 * ini is enable, the scan module skips the IEs following corrupted IEs(IE's 1425 * with invalid len) and adds the scan entry without completely dropping the 1426 * frame. 1427 * 1428 * Related: scan 1429 * 1430 * Usage: External 1431 * 1432 * <ini> 1433 */ 1434 #define CFG_SCAN_ALLOW_BSS_WITH_CORRUPTED_IE CFG_INI_BOOL( \ 1435 "scan_allow_bss_with_corrupted_ie", \ 1436 false, \ 1437 "scan allow bss with corrupted ie") 1438 1439 /* 1440 * <ini> 1441 * skip_6g_and_indoor_freq_scan - Skip scan on 6Ghz and indoor channel 1442 * @Min: 0 1443 * @Max: 1 1444 * @Default: 0 1445 * 1446 * This ini is used to skip 6Ghz and 5Gh indoor freq for STA scan if hw is 1447 * non-DBS and SAP is present 1448 * 1449 * Related: scan 1450 * 1451 * Usage: External 1452 * 1453 * <ini> 1454 */ 1455 #define CFG_SKIP_6GHZ_AND_INDOOR_FREQ_SCAN CFG_INI_BOOL( \ 1456 "skip_6g_and_indoor_freq_scan", \ 1457 false, \ 1458 "skip sta scan on 6Ghz and 5Ghz indoor channel") 1459 #define CFG_SCAN_ALL \ 1460 CFG(CFG_DROP_BCN_ON_CHANNEL_MISMATCH) \ 1461 CFG(CFG_DROP_BCN_ON_INVALID_FREQ) \ 1462 CFG(CFG_ENABLE_WAKE_LOCK_IN_SCAN) \ 1463 CFG(CFG_ACTIVE_MAX_CHANNEL_TIME) \ 1464 CFG(CFG_ENABLE_DFS_SCAN) \ 1465 CFG(CFG_ENABLE_CONNECTED_SCAN) \ 1466 CFG(CFG_INITIAL_NO_DFS_SCAN) \ 1467 CFG(CFG_ACTIVE_MAX_2G_CHANNEL_TIME) \ 1468 CFG(CFG_PASSIVE_MAX_CHANNEL_TIME) \ 1469 CFG(CFG_MIN_6G_CHANNEL_TIME) \ 1470 CFG(CFG_ACTIVE_MAX_6G_CHANNEL_TIME) \ 1471 CFG(CFG_PASSIVE_MAX_6G_CHANNEL_TIME) \ 1472 CFG(CFG_ACTIVE_MAX_6G_CHANNEL_TIME_CONC) \ 1473 CFG(CFG_PASSIVE_MAX_6G_CHANNEL_TIME_CONC) \ 1474 CFG(CFG_SCAN_NUM_PROBES) \ 1475 CFG(CFG_SCAN_PROBE_REPEAT_TIME) \ 1476 CFG(CFG_ADAPTIVE_SCAN_DWELL_MODE) \ 1477 CFG(CFG_ADAPTIVE_SCAN_DWELL_MODE_NC) \ 1478 CFG(CFG_HONOUR_NL_SCAN_POLICY_FLAGS) \ 1479 CFG(CFG_PASSIVE_MAX_CHANNEL_TIME_CONC) \ 1480 CFG(CFG_ACTIVE_MAX_CHANNEL_TIME_CONC) \ 1481 CFG(CFG_MAX_REST_TIME_CONC) \ 1482 CFG(CFG_MIN_REST_TIME_CONC) \ 1483 CFG(CFG_IDLE_TIME_CONC) \ 1484 CFG(CFG_CHAN_LIST_TRIM_CONC) \ 1485 CFG(CFG_ENABLE_MAC_ADDR_SPOOFING) \ 1486 CFG(CFG_SCAN_AGING_TIME) \ 1487 CFG(CFG_ADAPTIVE_EXTSCAN_DWELL_MODE) \ 1488 CFG(CFG_STA_SCAN_BURST_DURATION) \ 1489 CFG(CFG_P2P_SCAN_BURST_DURATION) \ 1490 CFG(CFG_GO_SCAN_BURST_DURATION) \ 1491 CFG(CFG_ENABLE_SNR_MONITORING) \ 1492 CFG(CFG_AP_SCAN_BURST_DURATION) \ 1493 CFG(CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH) \ 1494 CFG(CFG_6GHZ_SCAN_MODE) \ 1495 CFG(CFG_6GHZ_SCAN_MODE_DUTY_CYCLE) \ 1496 CFG(CFG_SCAN_ALLOW_BSS_WITH_CORRUPTED_IE) \ 1497 CFG(CFG_SKIP_6GHZ_AND_INDOOR_FREQ_SCAN) \ 1498 CFG_SCAN_PNO 1499 1500 #endif /* __CONFIG_SCAN_H */ 1501