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