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