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 #ifndef __CFG_POLICY_MGR 21*5113495bSYour Name #define __CFG_POLICY_MGR 22*5113495bSYour Name #include "qdf_types.h" 23*5113495bSYour Name 24*5113495bSYour Name /* 25*5113495bSYour Name * <ini> 26*5113495bSYour Name * gWlanMccToSccSwitchMode - Control SAP channel. 27*5113495bSYour Name * @Min: 0 28*5113495bSYour Name * @Max: 6 29*5113495bSYour Name * @Default: 0 30*5113495bSYour Name * 31*5113495bSYour Name * This ini is used to override SAP channel. 32*5113495bSYour Name * If gWlanMccToSccSwitchMode = 0: disabled. 33*5113495bSYour Name * If gWlanMccToSccSwitchMode = 1: deprecated, overwritten to 3 in driver 34*5113495bSYour Name * If gWlanMccToSccSwitchMode = 2: deprecated, overwritten to 3 in driver 35*5113495bSYour Name * If gWlanMccToSccSwitchMode = 3: Force switch without SAP restart. 36*5113495bSYour Name * If gWlanMccToSccSwitchMode = 4: Switch using 37*5113495bSYour Name * fav channel(s)without SAP restart. 38*5113495bSYour Name * If gWlanMccToSccSwitchMode = 5: Force switch without SAP restart.MCC allowed 39*5113495bSYour Name * in exceptional cases. 40*5113495bSYour Name * If gWlanMccToSccSwitchMode = 6: Force Switch without SAP restart only in 41*5113495bSYour Name * user preferred band. 42*5113495bSYour Name * Related: None. 43*5113495bSYour Name * 44*5113495bSYour Name * Supported Feature: Concurrency 45*5113495bSYour Name * 46*5113495bSYour Name * Usage: External 47*5113495bSYour Name * 48*5113495bSYour Name * </ini> 49*5113495bSYour Name */ 50*5113495bSYour Name #define CFG_MCC_TO_SCC_SWITCH CFG_INI_UINT(\ 51*5113495bSYour Name "gWlanMccToSccSwitchMode", \ 52*5113495bSYour Name QDF_MCC_TO_SCC_SWITCH_DISABLE, \ 53*5113495bSYour Name QDF_MCC_TO_SCC_SWITCH_MAX - 1, \ 54*5113495bSYour Name QDF_MCC_TO_SCC_SWITCH_DISABLE, \ 55*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 56*5113495bSYour Name "Provides MCC to SCC switch mode") 57*5113495bSYour Name /* 58*5113495bSYour Name * <ini> 59*5113495bSYour Name * gSystemPref - Configure wlan system preference for PCL. 60*5113495bSYour Name * @Min: 0 61*5113495bSYour Name * @Max: 2 62*5113495bSYour Name * @Default: 0 63*5113495bSYour Name * 64*5113495bSYour Name * This ini is used to configure wlan system preference option to help 65*5113495bSYour Name * policy manager decide on Preferred Channel List for a new connection. 66*5113495bSYour Name * For possible values refer to enum hdd_conc_priority_mode 67*5113495bSYour Name * 68*5113495bSYour Name * Related: None. 69*5113495bSYour Name * 70*5113495bSYour Name * Supported Feature: DBS 71*5113495bSYour Name * 72*5113495bSYour Name * Usage: External 73*5113495bSYour Name * 74*5113495bSYour Name * </ini> 75*5113495bSYour Name */ 76*5113495bSYour Name #define CFG_CONC_SYS_PREF CFG_INI_UINT(\ 77*5113495bSYour Name "gSystemPref", 0, 2, 0, \ 78*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 79*5113495bSYour Name "System preference to predict PCL") 80*5113495bSYour Name /* 81*5113495bSYour Name * <ini> 82*5113495bSYour Name * gMaxConcurrentActiveSessions - Maximum number of concurrent connections. 83*5113495bSYour Name * @Min: 1 84*5113495bSYour Name * @Max: 4 85*5113495bSYour Name * @Default: 3 86*5113495bSYour Name * 87*5113495bSYour Name * This ini is used to configure the maximum number of concurrent connections. 88*5113495bSYour Name * 89*5113495bSYour Name * Related: None. 90*5113495bSYour Name * 91*5113495bSYour Name * Supported Feature: Concurrency 92*5113495bSYour Name * 93*5113495bSYour Name * Usage: External 94*5113495bSYour Name * 95*5113495bSYour Name * </ini> 96*5113495bSYour Name */ 97*5113495bSYour Name #define CFG_MAX_CONC_CXNS CFG_INI_UINT(\ 98*5113495bSYour Name "gMaxConcurrentActiveSessions", \ 99*5113495bSYour Name 1, 4, 3, \ 100*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 101*5113495bSYour Name "Config max num allowed connections") 102*5113495bSYour Name 103*5113495bSYour Name #define POLICY_MGR_CH_SELECT_POLICY_DEF 0x00000003 104*5113495bSYour Name 105*5113495bSYour Name /* 106*5113495bSYour Name * <ini> 107*5113495bSYour Name * channel_select_logic_conc - Set channel selection logic 108*5113495bSYour Name * for different concurrency combinations to DBS or inter band 109*5113495bSYour Name * MCC. Default is DBS for STA+STA and STA+P2P. 110*5113495bSYour Name * @Min: 0x00000000 111*5113495bSYour Name * @Max: 0xFFFFFFFF 112*5113495bSYour Name * @Default: 0x00000000 113*5113495bSYour Name * 114*5113495bSYour Name * 0 - inter-band MCC 115*5113495bSYour Name * 1 - DBS 116*5113495bSYour Name * 117*5113495bSYour Name * BIT 0: STA+STA 118*5113495bSYour Name * BIT 1: STA+P2P 119*5113495bSYour Name * BIT 2-31: Reserved 120*5113495bSYour Name * 121*5113495bSYour Name * Supported Feature: STA+STA, STA+P2P 122*5113495bSYour Name * 123*5113495bSYour Name * Usage: External 124*5113495bSYour Name * 125*5113495bSYour Name * </ini> 126*5113495bSYour Name */ 127*5113495bSYour Name #define CFG_CHNL_SELECT_LOGIC_CONC CFG_INI_UINT(\ 128*5113495bSYour Name "channel_select_logic_conc",\ 129*5113495bSYour Name 0x00000000, \ 130*5113495bSYour Name 0xFFFFFFFF, \ 131*5113495bSYour Name POLICY_MGR_CH_SELECT_POLICY_DEF, \ 132*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 133*5113495bSYour Name "Set channel selection policy for various concurrency") 134*5113495bSYour Name /* 135*5113495bSYour Name * <ini> 136*5113495bSYour Name * dbs_selection_policy - Configure dbs selection policy. 137*5113495bSYour Name * @Min: 0 138*5113495bSYour Name * @Max: 3 139*5113495bSYour Name * @Default: 0 140*5113495bSYour Name * 141*5113495bSYour Name * set band preference or Vdev preference. 142*5113495bSYour Name * bit[0] = 0: 5G 2x2 preferred to select 2x2 5G + 1x1 2G DBS mode. 143*5113495bSYour Name * bit[0] = 1: 2G 2x2 preferred to select 2x2 2G + 1x1 5G DBS mode. 144*5113495bSYour Name * bit[1] = 1: vdev priority enabled. The INI "vdev_priority_list" will 145*5113495bSYour Name * specify the vdev priority. 146*5113495bSYour Name * bit[1] = 0: vdev priority disabled. 147*5113495bSYour Name * This INI only take effect for Genoa dual DBS hw. 148*5113495bSYour Name * 149*5113495bSYour Name * Supported Feature: DBS 150*5113495bSYour Name * 151*5113495bSYour Name * Usage: External 152*5113495bSYour Name * 153*5113495bSYour Name * </ini> 154*5113495bSYour Name */ 155*5113495bSYour Name #define CFG_DBS_SELECTION_PLCY CFG_INI_UINT(\ 156*5113495bSYour Name "dbs_selection_policy", \ 157*5113495bSYour Name 0, 3, 0, \ 158*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 159*5113495bSYour Name "Configure dbs selection policy") 160*5113495bSYour Name /* 161*5113495bSYour Name * <ini> 162*5113495bSYour Name * vdev_priority_list - Configure vdev priority list. 163*5113495bSYour Name * @Min: 0 164*5113495bSYour Name * @Max: 0x4444 165*5113495bSYour Name * @Default: 0x4321 166*5113495bSYour Name * 167*5113495bSYour Name * @vdev_priority_list: vdev priority list 168*5113495bSYour Name * bit[0-3]: pri_id (policy_mgr_pri_id) of highest priority 169*5113495bSYour Name * bit[4-7]: pri_id (policy_mgr_pri_id) of second priority 170*5113495bSYour Name * bit[8-11]: pri_id (policy_mgr_pri_id) of third priority 171*5113495bSYour Name * bit[12-15]: pri_id (policy_mgr_pri_id) of fourth priority 172*5113495bSYour Name * example: 0x4321 - CLI < GO < SAP < STA 173*5113495bSYour Name * vdev priority id mapping: 174*5113495bSYour Name * PM_STA_PRI_ID = 1, 175*5113495bSYour Name * PM_SAP_PRI_ID = 2, 176*5113495bSYour Name * PM_P2P_GO_PRI_ID = 3, 177*5113495bSYour Name * PM_P2P_CLI_PRI_ID = 4, 178*5113495bSYour Name * When the previous INI "dbs_selection_policy" bit[1]=1, which means 179*5113495bSYour Name * the vdev 2x2 prioritization enabled. Then this INI will be used to 180*5113495bSYour Name * specify the vdev type priority list. For example : 181*5113495bSYour Name * dbs_selection_policy=0x2 182*5113495bSYour Name * vdev_priority_list=0x4312 183*5113495bSYour Name * means: default preference 2x2 band is 5G, vdev 2x2 prioritization enabled. 184*5113495bSYour Name * And the priority list is CLI < GO < STA < SAP 185*5113495bSYour Name * 186*5113495bSYour Name * This INI only take effect for Genoa dual DBS hw. 187*5113495bSYour Name * 188*5113495bSYour Name * Supported Feature: DBS 189*5113495bSYour Name * 190*5113495bSYour Name * Usage: External 191*5113495bSYour Name * 192*5113495bSYour Name * </ini> 193*5113495bSYour Name */ 194*5113495bSYour Name #define CFG_VDEV_CUSTOM_PRIORITY_LIST CFG_INI_UINT(\ 195*5113495bSYour Name "vdev_priority_list", \ 196*5113495bSYour Name 0, 0x4444, 0x4321, \ 197*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 198*5113495bSYour Name "Configure vdev priority list") 199*5113495bSYour Name /* 200*5113495bSYour Name * <ini> 201*5113495bSYour Name * gEnableCustomConcRule1 - Enable custom concurrency rule1. 202*5113495bSYour Name * @Min: 0 203*5113495bSYour Name * @Max: 1 204*5113495bSYour Name * @Default: 0 205*5113495bSYour Name * 206*5113495bSYour Name * This ini is used to enable/disable custom concurrency rule1. 207*5113495bSYour Name * If SAP comes up first and STA comes up later then SAP needs to follow STA's 208*5113495bSYour Name * channel. 209*5113495bSYour Name * 210*5113495bSYour Name * Related: None. 211*5113495bSYour Name * 212*5113495bSYour Name * Supported Feature: Concurrency 213*5113495bSYour Name * 214*5113495bSYour Name * Usage: External 215*5113495bSYour Name * 216*5113495bSYour Name * </ini> 217*5113495bSYour Name */ 218*5113495bSYour Name #define CFG_ENABLE_CONC_RULE1 CFG_INI_UINT(\ 219*5113495bSYour Name "gEnableCustomConcRule1", \ 220*5113495bSYour Name 0, 1, 0, \ 221*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 222*5113495bSYour Name "Enable custom concurrency rule 1") 223*5113495bSYour Name /* 224*5113495bSYour Name * <ini> 225*5113495bSYour Name * gEnableCustomConcRule2 - Enable custom concurrency rule2. 226*5113495bSYour Name * @Min: 0 227*5113495bSYour Name * @Max: 1 228*5113495bSYour Name * @Default: 0 229*5113495bSYour Name * 230*5113495bSYour Name * This ini is used to enable/disable custom concurrency rule2. 231*5113495bSYour Name * If P2PGO comes up first and STA comes up later then P2PGO need to follow 232*5113495bSYour Name * STA's channel in 5Ghz. In following if condition we are just adding sanity 233*5113495bSYour Name * check to make sure that by this time P2PGO's channel is same as STA's 234*5113495bSYour Name * channel. 235*5113495bSYour Name * 236*5113495bSYour Name * Related: None. 237*5113495bSYour Name * 238*5113495bSYour Name * Supported Feature: Concurrency 239*5113495bSYour Name * 240*5113495bSYour Name * Usage: External 241*5113495bSYour Name * 242*5113495bSYour Name * </ini> 243*5113495bSYour Name */ 244*5113495bSYour Name #define CFG_ENABLE_CONC_RULE2 CFG_INI_UINT(\ 245*5113495bSYour Name "gEnableCustomConcRule2", \ 246*5113495bSYour Name 0, 1, 0, \ 247*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 248*5113495bSYour Name "Enable custom concurrency rule 2") 249*5113495bSYour Name /* 250*5113495bSYour Name * <ini> 251*5113495bSYour Name * gEnableMCCAdaptiveScheduler - MCC Adaptive Scheduler feature. 252*5113495bSYour Name * @Min: 0 253*5113495bSYour Name * @Max: 1 254*5113495bSYour Name * @Default: 1 255*5113495bSYour Name * 256*5113495bSYour Name * This ini is used to enable/disable MCC Adaptive Scheduler feature. 257*5113495bSYour Name * 258*5113495bSYour Name * Related: None. 259*5113495bSYour Name * 260*5113495bSYour Name * Supported Feature: Concurrency 261*5113495bSYour Name * 262*5113495bSYour Name * Usage: External 263*5113495bSYour Name * 264*5113495bSYour Name * </ini> 265*5113495bSYour Name */ 266*5113495bSYour Name #define CFG_ENABLE_MCC_ADAPTIVE_SCH_ENABLED_NAME CFG_INI_BOOL(\ 267*5113495bSYour Name "gEnableMCCAdaptiveScheduler", \ 268*5113495bSYour Name true, \ 269*5113495bSYour Name "Enable/Disable MCC Adaptive Scheduler") 270*5113495bSYour Name 271*5113495bSYour Name /* 272*5113495bSYour Name * <ini> 273*5113495bSYour Name * gEnableStaConnectionIn5Ghz - To enable/disable STA connection in 5G 274*5113495bSYour Name * @Min: 0 275*5113495bSYour Name * @Max: 1 276*5113495bSYour Name * @Default: 1 277*5113495bSYour Name * 278*5113495bSYour Name * This ini is used to enable/disable STA connection in 5G band 279*5113495bSYour Name * 280*5113495bSYour Name * Related: STA 281*5113495bSYour Name * 282*5113495bSYour Name * Supported Feature: Concurrency 283*5113495bSYour Name * 284*5113495bSYour Name * Usage: External 285*5113495bSYour Name * 286*5113495bSYour Name * </ini> 287*5113495bSYour Name */ 288*5113495bSYour Name #define CFG_ENABLE_STA_CONNECTION_IN_5GHZ CFG_INI_UINT(\ 289*5113495bSYour Name "gEnableStaConnectionIn5Ghz", \ 290*5113495bSYour Name 0, 1, 1, \ 291*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 292*5113495bSYour Name "Enable/Disable STA connection in 5G") 293*5113495bSYour Name 294*5113495bSYour Name /* 295*5113495bSYour Name * <ini> 296*5113495bSYour Name * gAllowMCCGODiffBI - Allow GO in MCC mode to accept different beacon interval 297*5113495bSYour Name * than STA's. 298*5113495bSYour Name * @Min: 0 299*5113495bSYour Name * @Max: 4 300*5113495bSYour Name * @Default: 4 301*5113495bSYour Name * 302*5113495bSYour Name * This ini is used to allow GO in MCC mode to accept different beacon interval 303*5113495bSYour Name * than STA's. 304*5113495bSYour Name * Added for Wi-Fi Cert. 5.1.12 305*5113495bSYour Name * If gAllowMCCGODiffBI = 1 306*5113495bSYour Name * Set to 1 for WFA certification. GO Beacon interval is not changed. 307*5113495bSYour Name * MCC GO doesn't work well in optimized way. In worst scenario, it may 308*5113495bSYour Name * invite STA disconnection. 309*5113495bSYour Name * If gAllowMCCGODiffBI = 2 310*5113495bSYour Name * If set to 2 workaround 1 disassoc all the clients and update beacon 311*5113495bSYour Name * Interval. 312*5113495bSYour Name * If gAllowMCCGODiffBI = 3 313*5113495bSYour Name * If set to 3 tear down the P2P link in auto/Non-autonomous -GO case. 314*5113495bSYour Name * If gAllowMCCGODiffBI = 4 315*5113495bSYour Name * If set to 4 don't disconnect the P2P client in autonomous/Non-auto- 316*5113495bSYour Name * nomous -GO case update the BI dynamically 317*5113495bSYour Name * 318*5113495bSYour Name * Related: None. 319*5113495bSYour Name * 320*5113495bSYour Name * Supported Feature: Concurrency 321*5113495bSYour Name * 322*5113495bSYour Name * Usage: External 323*5113495bSYour Name * 324*5113495bSYour Name * </ini> 325*5113495bSYour Name */ 326*5113495bSYour Name #define CFG_ALLOW_MCC_GO_DIFF_BI \ 327*5113495bSYour Name CFG_INI_UINT("gAllowMCCGODiffBI", 0, 4, 4, CFG_VALUE_OR_DEFAULT, \ 328*5113495bSYour Name "Allow GO in MCC mode to accept different BI than STA's") 329*5113495bSYour Name 330*5113495bSYour Name /* 331*5113495bSYour Name * 332*5113495bSYour Name * <ini> 333*5113495bSYour Name * gDualMacFeatureDisable - Disable Dual MAC feature. 334*5113495bSYour Name * @Min: 0 335*5113495bSYour Name * @Max: 6 336*5113495bSYour Name * @Default: 6 337*5113495bSYour Name * 338*5113495bSYour Name * This ini is used to enable/disable dual MAC feature. 339*5113495bSYour Name * 0 - enable DBS 340*5113495bSYour Name * 1 - disable DBS 341*5113495bSYour Name * 2 - disable DBS for connection but keep DBS for scan 342*5113495bSYour Name * 3 - disable DBS for connection but keep DBS scan with async 343*5113495bSYour Name * scan policy disabled 344*5113495bSYour Name * 4 - enable DBS for connection as well as for scan with async 345*5113495bSYour Name * scan policy disabled 346*5113495bSYour Name * 5 - enable DBS for connection but disable DBS for scan. 347*5113495bSYour Name * 6 - enable DBS for connection but disable simultaneous scan 348*5113495bSYour Name * from upper layer (DBS scan remains enabled in FW). 349*5113495bSYour Name * 350*5113495bSYour Name * Note: INI item value should match 'enum dbs_support' 351*5113495bSYour Name * 352*5113495bSYour Name * Related: None. 353*5113495bSYour Name * 354*5113495bSYour Name * Supported Feature: DBS 355*5113495bSYour Name * 356*5113495bSYour Name * Usage: External 357*5113495bSYour Name * 358*5113495bSYour Name * </ini> 359*5113495bSYour Name */ 360*5113495bSYour Name #define CFG_DUAL_MAC_FEATURE_DISABLE \ 361*5113495bSYour Name CFG_INI_UINT("gDualMacFeatureDisable", 0, 6, 6, CFG_VALUE_OR_DEFAULT, \ 362*5113495bSYour Name "This INI is used to enable/disable Dual MAC feature") 363*5113495bSYour Name 364*5113495bSYour Name /* 365*5113495bSYour Name * 366*5113495bSYour Name * <ini> 367*5113495bSYour Name * enable_sbs - Enable/Disable SBS. 368*5113495bSYour Name * @Min: 0 369*5113495bSYour Name * @Max: 1 370*5113495bSYour Name * @Default: 1 371*5113495bSYour Name * 372*5113495bSYour Name * This ini is used to enable/disable SBS feature. 373*5113495bSYour Name * 0 - disable SBS 374*5113495bSYour Name * 1 - enable SBS 375*5113495bSYour Name * 376*5113495bSYour Name * 377*5113495bSYour Name * Related: None. 378*5113495bSYour Name * 379*5113495bSYour Name * Supported Feature: SBS 380*5113495bSYour Name * 381*5113495bSYour Name * Usage: External 382*5113495bSYour Name * 383*5113495bSYour Name * </ini> 384*5113495bSYour Name */ 385*5113495bSYour Name #define CFG_ENABLE_SBS CFG_INI_BOOL(\ 386*5113495bSYour Name "enable_sbs", \ 387*5113495bSYour Name true, \ 388*5113495bSYour Name "Enable/Disable SBS") 389*5113495bSYour Name 390*5113495bSYour Name /* 391*5113495bSYour Name * <ini> 392*5113495bSYour Name * g_sta_sap_scc_on_dfs_chan - Allow STA+SAP SCC on DFS channel with master 393*5113495bSYour Name * mode support disabled. 394*5113495bSYour Name * @Min: 0 395*5113495bSYour Name * @Max: 2 396*5113495bSYour Name * @Default: 2 397*5113495bSYour Name * 398*5113495bSYour Name * This ini is used to allow STA+SAP SCC on DFS channel with master mode 399*5113495bSYour Name * support disabled, the value is defined by enum PM_AP_DFS_MASTER_MODE. 400*5113495bSYour Name * 0 - Disallow STA+SAP SCC on DFS channel 401*5113495bSYour Name * 1 - Allow STA+SAP SCC on DFS channel with master mode disabled 402*5113495bSYour Name * This needs gEnableDFSMasterCap enabled to allow SAP SCC with 403*5113495bSYour Name * STA on DFS but dfs master mode disabled. Single SAP is not allowed 404*5113495bSYour Name * on DFS. 405*5113495bSYour Name * 2 - enhance "1" with below requirement 406*5113495bSYour Name * a. Allow single SAP (GO) start on DFS channel. 407*5113495bSYour Name * b. Allow CAC process on DFS channel in single SAP (GO) mode 408*5113495bSYour Name * c. Allow DFS radar event process in single SAP (GO) mode 409*5113495bSYour Name * d. Disallow CAC and radar event process in SAP (GO) + STA mode. 410*5113495bSYour Name * The value 2 of this ini requires master mode to be enabled so it is 411*5113495bSYour Name * mandatory to enable the dfs master mode ini gEnableDFSMasterCap 412*5113495bSYour Name * along with it. 413*5113495bSYour Name * 414*5113495bSYour Name * Related: None. 415*5113495bSYour Name * 416*5113495bSYour Name * Supported Feature: Non-DBS, DBS 417*5113495bSYour Name * 418*5113495bSYour Name * Usage: External 419*5113495bSYour Name * 420*5113495bSYour Name * </ini> 421*5113495bSYour Name */ 422*5113495bSYour Name 423*5113495bSYour Name #define CFG_STA_SAP_SCC_ON_DFS_CHAN \ 424*5113495bSYour Name CFG_INI_UINT("g_sta_sap_scc_on_dfs_chan", 0, 2, 2, CFG_VALUE_OR_DEFAULT, \ 425*5113495bSYour Name "Allow STA+SAP SCC on DFS channel with master mode disable") 426*5113495bSYour Name 427*5113495bSYour Name /* 428*5113495bSYour Name * <ini> 429*5113495bSYour Name * sta_sap_scc_on_indoor_chan - Allow STA+SAP SCC on indoor channel 430*5113495bSYour Name * when STA is connected on indoor channel. 431*5113495bSYour Name * @Min: false 432*5113495bSYour Name * @Max: true 433*5113495bSYour Name * @Default: false 434*5113495bSYour Name * 435*5113495bSYour Name * This ini is used to allow STA+SAP SCC on indoor channel 436*5113495bSYour Name * 0 - Disallow STA+SAP SCC on Indoor only channel 437*5113495bSYour Name * 1 - Allow STA+SAP SCC on DFS channel. SAP will move to indoor channel 438*5113495bSYour Name * once STA is connected on indoor only channel. 439*5113495bSYour Name * When gindoor_channel_support=1, this ini will not be considered and 440*5113495bSYour Name * SAP can come up on indoor channel. 441*5113495bSYour Name * 442*5113495bSYour Name * Related: gindoor_channel_support. 443*5113495bSYour Name * 444*5113495bSYour Name * Supported Feature: Non-DBS, DBS 445*5113495bSYour Name * 446*5113495bSYour Name * Usage: External 447*5113495bSYour Name * 448*5113495bSYour Name * </ini> 449*5113495bSYour Name */ 450*5113495bSYour Name #define CFG_STA_SAP_SCC_ON_INDOOR_CHAN CFG_INI_BOOL(\ 451*5113495bSYour Name "sta_sap_scc_on_indoor_chan", \ 452*5113495bSYour Name false, \ 453*5113495bSYour Name "Allow STA+SAP SCC on indoor channel") 454*5113495bSYour Name 455*5113495bSYour Name /* 456*5113495bSYour Name * <ini> 457*5113495bSYour Name * gForce1x1Exception - force 1x1 when connecting to certain peer 458*5113495bSYour Name * @Min: 0 459*5113495bSYour Name * @Max: 2 460*5113495bSYour Name * @Default: 2 461*5113495bSYour Name * 462*5113495bSYour Name * This INI when enabled will force 1x1 connection with certain peer. 463*5113495bSYour Name * The implementation for this ini would be as follows:- 464*5113495bSYour Name * Value 0: Even if the AP is present in OUI, 1x1 will not be forced 465*5113495bSYour Name * Value 1: If antenna sharing supported, then only do 1x1. 466*5113495bSYour Name * Value 2: If AP present in OUI, force 1x1 connection. 467*5113495bSYour Name 468*5113495bSYour Name * 469*5113495bSYour Name * Related: None 470*5113495bSYour Name * 471*5113495bSYour Name * Supported Feature: connection 472*5113495bSYour Name * 473*5113495bSYour Name * Usage: External 474*5113495bSYour Name * 475*5113495bSYour Name * </ini> 476*5113495bSYour Name */ 477*5113495bSYour Name 478*5113495bSYour Name #define CFG_FORCE_1X1_FEATURE \ 479*5113495bSYour Name CFG_INI_UINT("gForce1x1Exception", 0, 2, 1, CFG_VALUE_OR_DEFAULT, \ 480*5113495bSYour Name "force 1x1 when connecting to certain peer") 481*5113495bSYour Name 482*5113495bSYour Name /* 483*5113495bSYour Name * <ini> 484*5113495bSYour Name * gEnableSAPManadatoryChanList - Enable SAP Mandatory channel list 485*5113495bSYour Name * Options. 486*5113495bSYour Name * @Min: 0 487*5113495bSYour Name * @Max: 1 488*5113495bSYour Name * @Default: 0 489*5113495bSYour Name * 490*5113495bSYour Name * This ini is used to enable/disable the SAP manadatory chan list 491*5113495bSYour Name * 0 - Disable SAP mandatory chan list 492*5113495bSYour Name * 1 - Enable SAP mandatory chan list 493*5113495bSYour Name * 494*5113495bSYour Name * Supported Feature: SAP 495*5113495bSYour Name * 496*5113495bSYour Name * 497*5113495bSYour Name * Usage: External 498*5113495bSYour Name * 499*5113495bSYour Name * </ini> 500*5113495bSYour Name */ 501*5113495bSYour Name 502*5113495bSYour Name #define CFG_ENABLE_SAP_MANDATORY_CHAN_LIST \ 503*5113495bSYour Name CFG_INI_UINT("gEnableSAPManadatoryChanList", 0, 1, 0, CFG_VALUE_OR_DEFAULT, \ 504*5113495bSYour Name "Enable SAP Mandatory channel list") 505*5113495bSYour Name 506*5113495bSYour Name /* 507*5113495bSYour Name * <ini> 508*5113495bSYour Name * g_nan_sap_scc_on_lte_coex_chan - Allow NAN+SAP SCC on LTE coex channel 509*5113495bSYour Name * @Min: 0 510*5113495bSYour Name * @Max: 1 511*5113495bSYour Name * @Default: 1 512*5113495bSYour Name * 513*5113495bSYour Name * This ini is used to allow NAN+SAP SCC on LTE coex channel 514*5113495bSYour Name * 0 - Disallow NAN+SAP SCC on LTE coex channel 515*5113495bSYour Name * 1 - Allow NAN+SAP SCC on LTE coex channel 516*5113495bSYour Name * 517*5113495bSYour Name * Related: Depends on gWlanMccToSccSwitchMode config. 518*5113495bSYour Name * 519*5113495bSYour Name * Supported Feature: Non-DBS, DBS 520*5113495bSYour Name * 521*5113495bSYour Name * Usage: External 522*5113495bSYour Name * 523*5113495bSYour Name * </ini> 524*5113495bSYour Name */ 525*5113495bSYour Name #define CFG_NAN_SAP_SCC_ON_LTE_COEX_CHAN \ 526*5113495bSYour Name CFG_INI_BOOL("g_nan_sap_scc_on_lte_coex_chan", 1, \ 527*5113495bSYour Name "Allow NAN+SAP SCC on LTE coex channel") 528*5113495bSYour Name 529*5113495bSYour Name /* 530*5113495bSYour Name * <ini> 531*5113495bSYour Name * g_sta_sap_scc_on_lte_coex_chan - Allow STA+SAP SCC on LTE coex channel 532*5113495bSYour Name * @Min: 0 533*5113495bSYour Name * @Max: 1 534*5113495bSYour Name * @Default: 1 535*5113495bSYour Name * 536*5113495bSYour Name * This ini is used to allow STA+SAP SCC on LTE coex channel 537*5113495bSYour Name * 0 - Disallow STA+SAP SCC on LTE coex channel 538*5113495bSYour Name * 1 - Allow STA+SAP SCC on LTE coex channel 539*5113495bSYour Name * 540*5113495bSYour Name * Related: None. 541*5113495bSYour Name * 542*5113495bSYour Name * Supported Feature: Non-DBS, DBS 543*5113495bSYour Name * 544*5113495bSYour Name * Usage: External 545*5113495bSYour Name * 546*5113495bSYour Name * </ini> 547*5113495bSYour Name */ 548*5113495bSYour Name #define CFG_STA_SAP_SCC_ON_LTE_COEX_CHAN \ 549*5113495bSYour Name CFG_INI_UINT("g_sta_sap_scc_on_lte_coex_chan", 0, 1, 1, CFG_VALUE_OR_DEFAULT, \ 550*5113495bSYour Name "Allow STA+SAP SCC on LTE coex channel") 551*5113495bSYour Name 552*5113495bSYour Name /* 553*5113495bSYour Name * <ini> 554*5113495bSYour Name * g_mark_sap_indoor_as_disable - Enable/Disable Indoor channel 555*5113495bSYour Name * @Min: 0 556*5113495bSYour Name * @Max: 1 557*5113495bSYour Name * @Default: 0 558*5113495bSYour Name * 559*5113495bSYour Name * This ini is used to mark the Indoor channel as 560*5113495bSYour Name * disable when SAP start and revert it on SAP stop, 561*5113495bSYour Name * so SAP will not turn on indoor channel and 562*5113495bSYour Name * sta will not scan/associate and roam on indoor 563*5113495bSYour Name * channels. 564*5113495bSYour Name * 565*5113495bSYour Name * Related: If g_mark_sap_indoor_as_disable set, turn the 566*5113495bSYour Name * indoor channels to disable and update Wiphy & fw. 567*5113495bSYour Name * 568*5113495bSYour Name * Supported Feature: SAP/STA 569*5113495bSYour Name * 570*5113495bSYour Name * Usage: External 571*5113495bSYour Name * 572*5113495bSYour Name * </ini> 573*5113495bSYour Name */ 574*5113495bSYour Name 575*5113495bSYour Name #define CFG_MARK_INDOOR_AS_DISABLE_FEATURE \ 576*5113495bSYour Name CFG_INI_UINT("g_mark_sap_indoor_as_disable", 0, 1, 0, CFG_VALUE_OR_DEFAULT, \ 577*5113495bSYour Name "Enable/Disable Indoor channel") 578*5113495bSYour Name 579*5113495bSYour Name /* 580*5113495bSYour Name * <ini> 581*5113495bSYour Name * g_enable_go_force_scc - Enable/Disable force SCC on P2P GO 582*5113495bSYour Name * @Min: 0 583*5113495bSYour Name * @Max: 2 584*5113495bSYour Name * @Default: 0 585*5113495bSYour Name * 586*5113495bSYour Name * This ini and along with "gWlanMccToSccSwitchMode" is used to enable 587*5113495bSYour Name * force SCC on P2P GO interface. 588*5113495bSYour Name * 589*5113495bSYour Name * GO_FORCE_SCC_DISABLED (value 0): GO force scc disabled and GO can come up 590*5113495bSYour Name * in MCC mode 591*5113495bSYour Name * GO_FORCE_SCC_STRICT (value 1): New GO will be forced to form on existing 592*5113495bSYour Name * GO/STA/GC channel in start bss itself. 593*5113495bSYour Name * GO_FORCE_SCC_LIBERAL (value 2): After SET KEY is done, do force SCC for the 594*5113495bSYour Name * first GO to move to new GO channel. 595*5113495bSYour Name * 596*5113495bSYour Name * Supported Feature: P2P GO 597*5113495bSYour Name * 598*5113495bSYour Name * Usage: External 599*5113495bSYour Name * 600*5113495bSYour Name * </ini> 601*5113495bSYour Name */ 602*5113495bSYour Name 603*5113495bSYour Name #define CFG_P2P_GO_ENABLE_FORCE_SCC \ 604*5113495bSYour Name CFG_INI_UINT("g_enable_go_force_scc", 0, 2, 0, CFG_VALUE_OR_DEFAULT, \ 605*5113495bSYour Name "Enable/Disable P2P GO force SCC") 606*5113495bSYour Name 607*5113495bSYour Name /* 608*5113495bSYour Name * <ini> 609*5113495bSYour Name * g_pcl_band_priority - Set 5G/6G Channel order 610*5113495bSYour Name * Options. 611*5113495bSYour Name * @Min: 0 612*5113495bSYour Name * @Max: 1 613*5113495bSYour Name * @Default: 0 614*5113495bSYour Name * 615*5113495bSYour Name * This ini is used to set preference between 5G and 6G channels during 616*5113495bSYour Name * PCL population. 617*5113495bSYour Name * 0 - Prefer 5G channels, 5G channels will be placed before the 6G channels 618*5113495bSYour Name * in PCL. 619*5113495bSYour Name * 1 - Prefer 6G channels, 6G channels will be placed before the 5G channels 620*5113495bSYour Name * in PCL. 621*5113495bSYour Name * 622*5113495bSYour Name * Supported Feature: STA, SAP 623*5113495bSYour Name * 624*5113495bSYour Name * 625*5113495bSYour Name * Usage: External 626*5113495bSYour Name * 627*5113495bSYour Name * </ini> 628*5113495bSYour Name */ 629*5113495bSYour Name 630*5113495bSYour Name #define CFG_PCL_BAND_PRIORITY \ 631*5113495bSYour Name CFG_INI_UINT("g_pcl_band_priority", 0, 1, 0, CFG_VALUE_OR_DEFAULT, \ 632*5113495bSYour Name "Set 5G and 6G Channel order") 633*5113495bSYour Name 634*5113495bSYour Name /* 635*5113495bSYour Name * <ini> 636*5113495bSYour Name * g_multi_sap_allowed_on_same_band - Allow multi sap started on same band 637*5113495bSYour Name * @Min: 0 638*5113495bSYour Name * @Max: 1 639*5113495bSYour Name * @Default: 1 640*5113495bSYour Name * 641*5113495bSYour Name * This ini is used to allow multi sap started on same band or not. 642*5113495bSYour Name * 0 - Disallow multi sap started on same band 643*5113495bSYour Name * 1 - Allow multi sap started on same band 644*5113495bSYour Name * 645*5113495bSYour Name * Supported Feature: SAP 646*5113495bSYour Name * 647*5113495bSYour Name * Usage: External 648*5113495bSYour Name * 649*5113495bSYour Name * </ini> 650*5113495bSYour Name */ 651*5113495bSYour Name #define CFG_MULTI_SAP_ALLOWED_ON_SAME_BAND \ 652*5113495bSYour Name CFG_INI_BOOL("g_multi_sap_allowed_on_same_band", 1, \ 653*5113495bSYour Name "Allow multi SAP started on same band") 654*5113495bSYour Name 655*5113495bSYour Name #ifdef WLAN_FEATURE_SR 656*5113495bSYour Name /* 657*5113495bSYour Name * <ini> 658*5113495bSYour Name * g_enable_sr_in_same_mac_conc - Enable/Disable SR in same MAC concurrency 659*5113495bSYour Name * @Min: 0 660*5113495bSYour Name * @Max: 1 661*5113495bSYour Name * @Default: 1 662*5113495bSYour Name * 663*5113495bSYour Name * This ini is used to enable/disable SR in same MAC concurrency scenarios. 664*5113495bSYour Name * 0 - disable SR in same mac concurrency 665*5113495bSYour Name * 1 - enable SR in same mac concurrency 666*5113495bSYour Name * 667*5113495bSYour Name * Ex- If 1st connection STA operating on MAC0 has enabled Spatial Reuse 668*5113495bSYour Name * already. Then if user tries to bring-up 2nd connection SAP on MAC0 669*5113495bSYour Name * (STA + SAP (SCC)). 670*5113495bSYour Name * Now if this INI is not set to 1, then Spatial Reuse gets disabled for 671*5113495bSYour Name * all the interfaces running on MAC0. Once 2nd connection or concurrency 672*5113495bSYour Name * interface is disabled, Spatial Reuse gets enabled again. 673*5113495bSYour Name * 674*5113495bSYour Name * Related: None. 675*5113495bSYour Name * 676*5113495bSYour Name * Supported Feature: Spatial Reuse 677*5113495bSYour Name * 678*5113495bSYour Name * Usage: External 679*5113495bSYour Name * 680*5113495bSYour Name * </ini> 681*5113495bSYour Name */ 682*5113495bSYour Name #define CFG_ENABLE_SR_IN_SAME_MAC_CONC \ 683*5113495bSYour Name CFG_INI_BOOL("g_enable_sr_in_same_mac_conc", 1, \ 684*5113495bSYour Name "Enable/Disable SR in Same MAC concurrency") 685*5113495bSYour Name 686*5113495bSYour Name #define CFG_SPATIAL_REUSE CFG(CFG_ENABLE_SR_IN_SAME_MAC_CONC) 687*5113495bSYour Name #else 688*5113495bSYour Name #define CFG_SPATIAL_REUSE 689*5113495bSYour Name #endif 690*5113495bSYour Name 691*5113495bSYour Name /* 692*5113495bSYour Name * <ini> 693*5113495bSYour Name * g_use_original_bw_for_sap_restart - Set sap default BW when do restart 694*5113495bSYour Name * @Min: 0 695*5113495bSYour Name * @Max: 1 696*5113495bSYour Name * @Default: 0 697*5113495bSYour Name * 698*5113495bSYour Name * This ini is used to set sap default BW when do restart. 699*5113495bSYour Name * 0 - Use maximum BW as default BW 700*5113495bSYour Name * 1 - Use sap original BW as default BW 701*5113495bSYour Name * 702*5113495bSYour Name * Supported Feature: SAP 703*5113495bSYour Name * 704*5113495bSYour Name * Usage: External 705*5113495bSYour Name * 706*5113495bSYour Name * </ini> 707*5113495bSYour Name */ 708*5113495bSYour Name #define CFG_SAP_DEFAULT_BW_FOR_RESTART \ 709*5113495bSYour Name CFG_INI_BOOL("g_use_original_bw_for_sap_restart", 0, \ 710*5113495bSYour Name "Use SAP original bandwidth when do restart") 711*5113495bSYour Name 712*5113495bSYour Name /* 713*5113495bSYour Name * <ini> 714*5113495bSYour Name * g_move_sap_go_1st_on_dfs_sta_csa - Move SAP / GO first to enforce scc 715*5113495bSYour Name * @Min: 0 716*5113495bSYour Name * @Max: 1 717*5113495bSYour Name * @Default: 0 718*5113495bSYour Name * 719*5113495bSYour Name * This ini moves SAP / GO first to enforce scc in STA+SAP (GO) DFS SCC 720*5113495bSYour Name * 0 - Keep default MCC to SCC enforcement movement 721*5113495bSYour Name * 1 - Move SAP / GO first before STA's movement to non-DFS channel 722*5113495bSYour Name * 723*5113495bSYour Name * In STA+SAP / GO concurrency, SCC is enforced by moving SAP / GO 724*5113495bSYour Name * to STA's operating channel. STA side, if there is a CSA 725*5113495bSYour Name * then SCC will be enforced only after STA moves to new channel. 726*5113495bSYour Name * 727*5113495bSYour Name * In usecase of STA + GO SCC on DFS channel, CSA is sent with no-TX 728*5113495bSYour Name * and STA's movement will only happen once CSA count becomes 0. 729*5113495bSYour Name * This will block data transmission till then, which will have bad 730*5113495bSYour Name * user experience in case of XR where, it needs to have periodic data 731*5113495bSYour Name * transmission in every 1 second with GO interface. 732*5113495bSYour Name * 733*5113495bSYour Name * To resolve this, it is better to move GO / SAP first to allow 1 734*5113495bSYour Name * second periodic transmissions. And once the STA moves to new channel, 735*5113495bSYour Name * existing logic will be triggered to enforce SCC. 736*5113495bSYour Name * 737*5113495bSYour Name * This INI is added to change the behavior only in this specific case. 738*5113495bSYour Name * If this INI is set, then move SAP / GO first upon receiving very first 739*5113495bSYour Name * CSA from AP to a non-DFS channel. Current MCC to SCC rules will be applied 740*5113495bSYour Name * once STA moves to new channel after CSA count becomes 0. 741*5113495bSYour Name * 742*5113495bSYour Name * Dependency: g_sta_sap_scc_on_dfs_chan, g_enable_go_force_scc 743*5113495bSYour Name * 744*5113495bSYour Name * Supported Feature: SAP / P2P-GO 745*5113495bSYour Name * 746*5113495bSYour Name * Usage: External 747*5113495bSYour Name * 748*5113495bSYour Name * </ini> 749*5113495bSYour Name */ 750*5113495bSYour Name #define CFG_MOVE_SAP_GO_1ST_ON_DFS_STA_CSA \ 751*5113495bSYour Name CFG_INI_BOOL("g_move_sap_go_1st_on_dfs_sta_csa", 0, \ 752*5113495bSYour Name "Move SAP / GO first to enforce scc on dfs sta csa") 753*5113495bSYour Name 754*5113495bSYour Name #define CFG_POLICY_MGR_ALL \ 755*5113495bSYour Name CFG(CFG_MCC_TO_SCC_SWITCH) \ 756*5113495bSYour Name CFG(CFG_CONC_SYS_PREF) \ 757*5113495bSYour Name CFG(CFG_MAX_CONC_CXNS) \ 758*5113495bSYour Name CFG(CFG_DBS_SELECTION_PLCY) \ 759*5113495bSYour Name CFG(CFG_VDEV_CUSTOM_PRIORITY_LIST) \ 760*5113495bSYour Name CFG(CFG_CHNL_SELECT_LOGIC_CONC) \ 761*5113495bSYour Name CFG(CFG_ENABLE_CONC_RULE1) \ 762*5113495bSYour Name CFG(CFG_ENABLE_CONC_RULE2) \ 763*5113495bSYour Name CFG(CFG_ENABLE_MCC_ADAPTIVE_SCH_ENABLED_NAME)\ 764*5113495bSYour Name CFG(CFG_ENABLE_STA_CONNECTION_IN_5GHZ)\ 765*5113495bSYour Name CFG(CFG_DUAL_MAC_FEATURE_DISABLE)\ 766*5113495bSYour Name CFG(CFG_ENABLE_SBS)\ 767*5113495bSYour Name CFG(CFG_STA_SAP_SCC_ON_DFS_CHAN)\ 768*5113495bSYour Name CFG(CFG_STA_SAP_SCC_ON_INDOOR_CHAN)\ 769*5113495bSYour Name CFG(CFG_FORCE_1X1_FEATURE)\ 770*5113495bSYour Name CFG(CFG_ENABLE_SAP_MANDATORY_CHAN_LIST)\ 771*5113495bSYour Name CFG(CFG_STA_SAP_SCC_ON_LTE_COEX_CHAN)\ 772*5113495bSYour Name CFG(CFG_NAN_SAP_SCC_ON_LTE_COEX_CHAN) \ 773*5113495bSYour Name CFG(CFG_MARK_INDOOR_AS_DISABLE_FEATURE)\ 774*5113495bSYour Name CFG(CFG_ALLOW_MCC_GO_DIFF_BI) \ 775*5113495bSYour Name CFG(CFG_P2P_GO_ENABLE_FORCE_SCC) \ 776*5113495bSYour Name CFG(CFG_PCL_BAND_PRIORITY) \ 777*5113495bSYour Name CFG(CFG_MULTI_SAP_ALLOWED_ON_SAME_BAND) \ 778*5113495bSYour Name CFG_SPATIAL_REUSE \ 779*5113495bSYour Name CFG(CFG_SAP_DEFAULT_BW_FOR_RESTART) \ 780*5113495bSYour Name CFG(CFG_MOVE_SAP_GO_1ST_ON_DFS_STA_CSA) 781*5113495bSYour Name #endif 782