1 /* 2 * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. 3 * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for 6 * any purpose with or without fee is hereby granted, provided that the 7 * above copyright notice and this permission notice appear in all 8 * copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 11 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 12 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 13 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 14 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 15 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 16 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17 * PERFORMANCE OF THIS SOFTWARE. 18 */ 19 20 /** 21 * DOC: This file contains centralized definitions of converged configuration. 22 */ 23 24 #ifndef __HDD_CONFIG_H 25 #define __HDD_CONFIG_H 26 27 #include "hdd_sar_safety_config.h" 28 29 #if defined(CONFIG_HL_SUPPORT) 30 #include "wlan_tgt_def_config_hl.h" 31 #else 32 #include "wlan_tgt_def_config.h" 33 #endif 34 35 #define CFG_QDF_TRACE_ENABLE_DEFAULT (0xffff) 36 #include <wlan_action_oui_public_struct.h> 37 38 /** 39 * enum hdd_wext_control - knob for wireless extensions 40 * @hdd_wext_disabled: interface is completely disabled. An access 41 * control error log will be generated for each attempted use. 42 * @hdd_wext_deprecated: interface is available but should not be 43 * used. An access control warning log will be generated for each 44 * use. 45 * @hdd_wext_enabled: interface is available without restriction. No 46 * access control logs will be generated. 47 * 48 * enum hdd_wext_control is used to enable coarse grained control on 49 * wireless extensions ioctls. This control is used by configuration 50 * item private_wext_control. 51 * 52 */ 53 enum hdd_wext_control { 54 hdd_wext_disabled = 0, 55 hdd_wext_deprecated = 1, 56 hdd_wext_enabled = 2, 57 }; 58 59 /* 60 * <ini> 61 * private_wext_control - Private wireless extensions control 62 * @Min: 0 63 * @Max: 2 64 * @Default: 1 65 * 66 * Values are per enum hdd_wext_control. 67 * This ini is used to control access to private wireless extensions 68 * ioctls SIOCIWFIRSTPRIV (0x8BE0) thru SIOCIWLASTPRIV (0x8BFF). The 69 * functionality provided by some of these ioctls has been superseded 70 * by cfg80211 (either standard commands or vendor commands), but many 71 * of the private ioctls do not have a cfg80211-based equivalent, so 72 * by default support for these ioctls is deprecated. 73 * 74 * Related: None 75 * 76 * Supported Feature: All 77 * 78 * Usage: Internal/External 79 * 80 * </ini> 81 */ 82 #define CFG_PRIVATE_WEXT_CONTROL CFG_INI_UINT( \ 83 "private_wext_control", \ 84 hdd_wext_disabled, \ 85 hdd_wext_enabled, \ 86 hdd_wext_deprecated, \ 87 CFG_VALUE_OR_DEFAULT, \ 88 "Private WEXT Control") 89 90 enum hdd_dot11_mode { 91 eHDD_DOT11_MODE_AUTO = 0, /* covers all things we support */ 92 eHDD_DOT11_MODE_abg, /* 11a/b/g only, no HT, no proprietary */ 93 eHDD_DOT11_MODE_11b, 94 eHDD_DOT11_MODE_11g, 95 eHDD_DOT11_MODE_11n, 96 eHDD_DOT11_MODE_11g_ONLY, 97 eHDD_DOT11_MODE_11n_ONLY, 98 eHDD_DOT11_MODE_11b_ONLY, 99 eHDD_DOT11_MODE_11ac_ONLY, 100 eHDD_DOT11_MODE_11ac, 101 eHDD_DOT11_MODE_11a, 102 eHDD_DOT11_MODE_11ax_ONLY, 103 eHDD_DOT11_MODE_11ax, 104 #ifdef WLAN_FEATURE_11BE 105 eHDD_DOT11_MODE_11be, 106 eHDD_DOT11_MODE_11be_ONLY, 107 #endif 108 }; 109 110 /* 111 * <ini> 112 * gDot11Mode - Phymode of vdev 113 * @Min: 0 (auto) 114 * @Max: 12 (11ax) 115 * @Default: 12 (11ax) 116 * 117 * This ini is used to set Phy Mode (auto, b, g, n, etc/) Valid values are 118 * 0-12, with 0 = Auto, 12 = 11ax. 119 * 120 * Related: None. 121 * 122 * Supported Feature: SAP 123 * 124 * Usage: Internal/External 125 * 126 * </ini> 127 */ 128 #define CFG_HDD_DOT11_MODE CFG_INI_UINT( \ 129 "gDot11Mode", \ 130 eHDD_DOT11_MODE_AUTO, \ 131 eHDD_DOT11_MODE_11ax, \ 132 eHDD_DOT11_MODE_11ax, \ 133 CFG_VALUE_OR_DEFAULT, \ 134 "dot11 mode") 135 136 #ifdef FEATURE_SET 137 /* 138 * <ini> 139 * get_wifi_features - Get wifi features info from fw 140 * @Min: 0 141 * @Max: 1 142 * @Default: 0 143 * 144 * This ini is used to enable feature to get wifi supported features from fw 145 * 146 * Related: None 147 * 148 * Supported Feature: All 149 * 150 * Usage: External 151 * 152 * </ini> 153 */ 154 #define CFG_GET_WIFI_FEATURES CFG_INI_BOOL( \ 155 "get_wifi_features", \ 156 0, \ 157 "Get wifi features") 158 #define CFG_GET_WIFI_FEATURES_ALL CFG(CFG_GET_WIFI_FEATURES) 159 #else 160 #define CFG_GET_WIFI_FEATURES_ALL 161 #endif 162 163 #ifdef FEATURE_RUNTIME_PM 164 /* 165 * <ini> 166 * cpu_cxpc_threshold - PM QOS threshold 167 * @Min: 0 168 * @Max: 15000 169 * @Default: 10000 170 * 171 * This ini is used to set PM QOS threshold value 172 * 173 * Related: None. 174 * 175 * Supported Feature: ALL 176 * 177 * Usage: External 178 * 179 * </ini> 180 */ 181 #define CFG_CPU_CXPC_THRESHOLD CFG_INI_UINT( \ 182 "cpu_cxpc_threshold", \ 183 0, \ 184 15000, \ 185 10000, \ 186 CFG_VALUE_OR_DEFAULT, \ 187 "PM QOS threshold") 188 #define CFG_CPU_CXPC_THRESHOLD_ALL CFG(CFG_CPU_CXPC_THRESHOLD) 189 #else 190 #define CFG_CPU_CXPC_THRESHOLD_ALL 191 #endif 192 193 #ifdef QCA_WIFI_EMULATION 194 #define CFG_INTERFACE_CHANGE_WAIT_DEFAULT 300000 195 #else 196 #ifdef SHUTDOWN_WLAN_IN_SYSTEM_SUSPEND 197 #define CFG_INTERFACE_CHANGE_WAIT_DEFAULT 10000 198 #else 199 #define CFG_INTERFACE_CHANGE_WAIT_DEFAULT 250 200 #endif 201 #endif 202 203 /* 204 * <ini> 205 * gInterfaceChangeWait - Interface change wait 206 * @Min: 0, 207 * @Max: 500000 208 * @Default: 10000 (300000 for emulation) 209 * 210 * Timer waiting for interface up from the upper layer. If 211 * this timer expires all the cds modules shall be closed. 212 * Time Units: ms 213 * 214 * Value 0 can be used to disable idle module stop. 215 * 216 * Related: None 217 * 218 * Supported Feature: All 219 * 220 * </ini> 221 */ 222 #define CFG_INTERFACE_CHANGE_WAIT CFG_INI_UINT( \ 223 "gInterfaceChangeWait", \ 224 0, \ 225 500000, \ 226 CFG_INTERFACE_CHANGE_WAIT_DEFAULT, \ 227 CFG_VALUE_OR_DEFAULT, \ 228 "Interface change wait") 229 230 #ifdef QCA_WIFI_EMULATION 231 #define CFG_TIMER_MULTIPLIER_DEFAULT 100 232 #else 233 #define CFG_TIMER_MULTIPLIER_DEFAULT 1 234 #endif 235 236 /* 237 * <ini> 238 * gTimerMultiplier - Scale QDF timers by this value 239 * @Min: 1 240 * @Max: 0xFFFFFFFF 241 * @Default: 1 (100 for emulation) 242 * 243 * To assist in debugging emulation setups, scale QDF timers by this factor. 244 * 245 * @E.g. 246 * # QDF timers expire in real time 247 * gTimerMultiplier=1 248 * # QDF timers expire after 100 times real time 249 * gTimerMultiplier=100 250 * 251 * Related: None 252 * 253 * Usage: Internal 254 * 255 * </ini> 256 */ 257 #define CFG_TIMER_MULTIPLIER CFG_INI_UINT( \ 258 "gTimerMultiplier", \ 259 1, \ 260 0xFFFFFFFF, \ 261 CFG_TIMER_MULTIPLIER_DEFAULT, \ 262 CFG_VALUE_OR_DEFAULT, \ 263 "Timer Multiplier") 264 265 #define CFG_BUG_ON_REINIT_FAILURE_DEFAULT 0 266 /* 267 * <ini> 268 * g_bug_on_reinit_failure - Enable/Disable bug on reinit 269 * @Min: 0 270 * @Max: 1 271 * @Default: 1 272 * 273 * This ini is used to debug ssr reinit failure issues by raising vos bug so 274 * dumps can be collected. 275 * g_bug_on_reinit_failure = 0 wlan driver will only recover after driver 276 * unload and load 277 * g_bug_on_reinit_failure = 1 raise vos bug to collect dumps 278 * 279 * Related: gEnableSSR 280 * 281 * Supported Feature: SSR 282 * 283 * Usage: External 284 * 285 * </ini> 286 */ 287 #define CFG_BUG_ON_REINIT_FAILURE CFG_INI_BOOL( \ 288 "g_bug_on_reinit_failure", \ 289 CFG_BUG_ON_REINIT_FAILURE_DEFAULT, \ 290 "BUG on reinit failure") 291 292 /* 293 * <ini> 294 * gEnableDumpCollect - It will use for collect the dumps 295 * @Min: 0 296 * @Max: 1 297 * @Default: 1 298 * 299 * This ini is used to set collect default dump 300 * 301 * Related: None 302 * 303 * Supported Feature: STA 304 * 305 * Usage: Internal/External 306 * 307 * </ini> 308 */ 309 #define CFG_ENABLE_RAMDUMP_COLLECTION CFG_INI_BOOL( \ 310 "gEnableDumpCollect", \ 311 1, \ 312 "Enable dump collect") 313 314 #if defined(MDM_PLATFORM) && !defined(FEATURE_MULTICAST_HOST_FW_MSGS) 315 #define CFG_MULTICAST_HOST_FW_MSGS_DEFAULT 0 316 #else 317 #define CFG_MULTICAST_HOST_FW_MSGS_DEFAULT 1 318 #endif 319 320 /* 321 * <ini> 322 * gMulticastHostFwMsgs - Multicast host FW messages 323 * @Min: 0 324 * @Max: 1 325 * @Default: 0 for MDM platform and 1 for other 326 * 327 * </ini> 328 */ 329 #define CFG_MULTICAST_HOST_FW_MSGS CFG_INI_UINT( \ 330 "gMulticastHostFwMsgs", \ 331 0, \ 332 1, \ 333 CFG_MULTICAST_HOST_FW_MSGS_DEFAULT, \ 334 CFG_VALUE_OR_DEFAULT, \ 335 "Multicast host FW msgs") 336 337 #ifdef WLAN_LOGGING_SOCK_SVC_ENABLE 338 /* 339 * <ini> 340 * wlanLoggingEnable - Wlan logging enable 341 * @Min: 0 342 * @Max: 1 343 * @Default: 1 344 * 345 * </ini> 346 */ 347 #define CFG_WLAN_LOGGING_SUPPORT CFG_INI_BOOL( \ 348 "wlanLoggingEnable", \ 349 1, \ 350 "Wlan logging enable") 351 352 /* 353 * <ini> 354 * host_log_custom_nl_proto - Host log netlink protocol 355 * @Min: 0 356 * @Max: 32 357 * @Default: 2 358 * 359 * This ini is used to set host log netlink protocol. The default 360 * value is 2 (NETLINK_USERSOCK), customer should avoid selecting the 361 * netlink protocol that already used on their platform by other 362 * applications or services. By choosing the non-default value(2), 363 * Customer need to change the netlink protocol of application receive 364 * tool(cnss_diag) accordingly. Available values could be: 365 * 366 * host_log_custom_nl_proto = 0 - NETLINK_ROUTE, Routing/device hook 367 * host_log_custom_nl_proto = 1 - NETLINK_UNUSED, Unused number 368 * host_log_custom_nl_proto = 2 - NETLINK_USERSOCK, Reserved for user 369 * mode socket protocols 370 * host_log_custom_nl_proto = 3 - NETLINK_FIREWALL, Unused number, 371 * formerly ip_queue 372 * host_log_custom_nl_proto = 4 - NETLINK_SOCK_DIAG, socket monitoring 373 * host_log_custom_nl_proto = 5 - NETLINK_NFLOG, netfilter/iptables ULOG 374 * host_log_custom_nl_proto = 6 - NETLINK_XFRM, ipsec 375 * host_log_custom_nl_proto = 7 - NETLINK_SELINUX, SELinux event 376 * notifications 377 * host_log_custom_nl_proto = 8 - NETLINK_ISCSI, Open-iSCSI 378 * host_log_custom_nl_proto = 9 - NETLINK_AUDIT, auditing 379 * host_log_custom_nl_proto = 10 - NETLINK_FIB_LOOKUP 380 * host_log_custom_nl_proto = 11 - NETLINK_CONNECTOR 381 * host_log_custom_nl_proto = 12 - NETLINK_NETFILTER, netfilter subsystem 382 * host_log_custom_nl_proto = 13 - NETLINK_IP6_FW 383 * host_log_custom_nl_proto = 14 - NETLINK_DNRTMSG, DECnet routing messages 384 * host_log_custom_nl_proto = 15 - NETLINK_KOBJECT_UEVENT, Kernel 385 * messages to userspace 386 * host_log_custom_nl_proto = 16 - NETLINK_GENERIC, leave room for 387 * NETLINK_DM (DM Events) 388 * host_log_custom_nl_proto = 18 - NETLINK_SCSITRANSPORT, SCSI Transports 389 * host_log_custom_nl_proto = 19 - NETLINK_ECRYPTFS 390 * host_log_custom_nl_proto = 20 - NETLINK_RDMA 391 * host_log_custom_nl_proto = 21 - NETLINK_CRYPTO, Crypto layer 392 * host_log_custom_nl_proto = 22 - NETLINK_SMC, SMC monitoring 393 * 394 * The max value is: MAX_LINKS which is 32 395 * 396 * Related: None 397 * 398 * Supported Feature: STA 399 * 400 * Usage: Internal/External 401 * 402 * </ini> 403 */ 404 #define CFG_HOST_LOG_CUSTOM_NETLINK_PROTO CFG_INI_UINT( \ 405 "host_log_custom_nl_proto", \ 406 0, \ 407 32, \ 408 2, \ 409 CFG_VALUE_OR_DEFAULT, \ 410 "host log custom netlink protocol") 411 412 /* 413 * <ini> 414 * wlanConsoleLogLevelsBitmap - Bitmap to enable/disable console log levels 415 * @Min: 0x00000000 416 * @Max: 0x000003ff 417 * @Default: 0x0000001e 418 * 419 * This INI is used to enable/disable console logs for specific log level. 420 * 421 * bit-0: Reserved 422 * bit-1: QDF_TRACE_LEVEL_FATAL 423 * bit-2: QDF_TRACE_LEVEL_ERROR 424 * bit-3: QDF_TRACE_LEVEL_WARN 425 * bit-4: QDF_TRACE_LEVEL_INFO 426 * bit-5: QDF_TRACE_LEVEL_INFO_HIGH 427 * bit-6: QDF_TRACE_LEVEL_INFO_MED 428 * bit-7: QDF_TRACE_LEVEL_INFO_LOW 429 * bit-8: QDF_TRACE_LEVEL_DEBUG 430 * bit-9: QDF_TRACE_LEVEL_TRACE 431 * bit-10 to bit-31: Reserved 432 * 433 * </ini> 434 */ 435 #define CFG_WLAN_LOGGING_CONSOLE_SUPPORT CFG_INI_UINT( \ 436 "wlanConsoleLogLevelsBitmap", \ 437 0x00000000, \ 438 0x000003ff, \ 439 0x0000001e, \ 440 CFG_VALUE_OR_DEFAULT, \ 441 "Wlan logging to console") 442 443 #define CFG_WLAN_LOGGING_SUPPORT_ALL \ 444 CFG(CFG_WLAN_LOGGING_SUPPORT) \ 445 CFG(CFG_WLAN_LOGGING_CONSOLE_SUPPORT) \ 446 CFG(CFG_HOST_LOG_CUSTOM_NETLINK_PROTO) 447 #else 448 #define CFG_WLAN_LOGGING_SUPPORT_ALL 449 #endif 450 451 #ifdef FEATURE_WLAN_AUTO_SHUTDOWN 452 /* 453 * <ini> 454 * gWlanAutoShutdown - Wlan auto shutdown timer value 455 * @Min: 0 456 * @Max: 86400 457 * @Default: 0 458 * 459 * This ini specifies the seconds of WLAN inactivity firmware has to wait 460 * before indicating WLAN idle event to driver. Upon receiving firmware's 461 * WLAN idle indication, driver may indicate similar event to upper layer 462 * daemons(SCM, or any other components working to achieve the same purpose), 463 * who may choose what to do next, e.g. whether to unload driver module or not. 464 * 0 indicates no auto shutdown will take place. 465 * 466 * </ini> 467 */ 468 #define CFG_WLAN_AUTO_SHUTDOWN CFG_INI_UINT( \ 469 "gWlanAutoShutdown", \ 470 0, \ 471 86400, \ 472 0, \ 473 CFG_VALUE_OR_DEFAULT, \ 474 "Wlan auto shutdown") 475 #define CFG_WLAN_AUTO_SHUTDOWN_ALL \ 476 CFG(CFG_WLAN_AUTO_SHUTDOWN) 477 #else 478 #define CFG_WLAN_AUTO_SHUTDOWN_ALL 479 #endif 480 481 /* 482 * <ini> 483 * gEnablefwprint - Enable FW uart print 484 * @Min: 0 485 * @Max: 1 486 * @Default: 0 487 * 488 * </ini> 489 */ 490 #define CFG_ENABLE_FW_UART_PRINT CFG_INI_BOOL( \ 491 "gEnablefwprint", \ 492 0, \ 493 "Enable FW uart print") 494 495 /* 496 * <ini> 497 * gEnablefwlog - Enable FW log 498 * @Min: 0 499 * @Max: 2 500 * @Default: 1 501 * 502 * </ini> 503 */ 504 #define CFG_ENABLE_FW_LOG CFG_INI_UINT( \ 505 "gEnablefwlog", \ 506 0, \ 507 2, \ 508 1, \ 509 CFG_VALUE_OR_DEFAULT, \ 510 "Enable FW log") 511 512 #ifndef REMOVE_PKT_LOG 513 514 #ifdef FEATURE_PKTLOG 515 #define CFG_ENABLE_PACKET_LOG_DEFAULT 1 516 #else 517 #define CFG_ENABLE_PACKET_LOG_DEFAULT 0 518 #endif 519 520 /* 521 * <ini> 522 * gEnablePacketLog - Enale packet log 523 * @Min: 0 524 * @Max: 1 525 * @Default: 1 if packet log code is enabled, 0 otherwise 526 * 527 * This option enables/disables packet log collecting. 528 * 529 * </ini> 530 */ 531 #define CFG_ENABLE_PACKET_LOG CFG_INI_BOOL( \ 532 "gEnablePacketLog", \ 533 CFG_ENABLE_PACKET_LOG_DEFAULT, \ 534 "Enable packet log") 535 536 #define CFG_ENABLE_PACKET_LOG_ALL \ 537 CFG(CFG_ENABLE_PACKET_LOG) 538 #else 539 #define CFG_ENABLE_PACKET_LOG_ALL 540 #endif 541 542 #ifdef FEATURE_RUNTIME_PM 543 544 /** 545 * enum hdd_runtime_pm_cfg - Runtime PM (RTPM) configuration options 546 * @hdd_runtime_pm_disabled: RTPM and CxPC aware RTPM disabled 547 * @hdd_runtime_pm_static: RTPM enabled, but CxPC aware RTPM disabled 548 * @hdd_runtime_pm_dynamic: RTPM and CxPC aware RTPM enabled 549 */ 550 enum hdd_runtime_pm_cfg { 551 hdd_runtime_pm_disabled = 0, 552 hdd_runtime_pm_static = 1, 553 hdd_runtime_pm_dynamic = 2, 554 }; 555 556 /* 557 * <ini> 558 * gRuntimePM - enable runtime suspend 559 * @Min: 0 560 * @Max: 2 561 * @Default: 0 562 * 563 * This ini is used to enable runtime PM 564 * 565 * 0: RTPM disabled, so CxPC aware RTPM will be disabled as well 566 * 1: RTPM enabled, but CxPC aware RTPM disabled 567 * 2: RTPM enabled and CxPC aware RTPM enabled as well 568 * Related: None 569 * 570 * Supported Feature: Power Save 571 * 572 * Usage: External 573 * 574 * </ini> 575 */ 576 #define CFG_ENABLE_RUNTIME_PM CFG_INI_UINT( \ 577 "gRuntimePM", \ 578 0, \ 579 2, \ 580 0, \ 581 CFG_VALUE_OR_DEFAULT, \ 582 "This ini is used to enable runtime_suspend") 583 #define CFG_ENABLE_RUNTIME_PM_ALL \ 584 CFG(CFG_ENABLE_RUNTIME_PM) 585 #else 586 #define CFG_ENABLE_RUNTIME_PM_ALL 587 #endif 588 589 #ifdef WLAN_FEATURE_WMI_SEND_RECV_QMI 590 /* 591 * <ini> 592 * enable_qmi_stats - enable periodic stats over qmi 593 * @Min: 0 594 * @Max: 1 595 * @Default: 1 596 * 597 * This ini is used to enable periodic stats over qmi if DUT is 598 * in RTPM suspended state to avoid WoW enter/exit for every stats 599 * request. 600 * 601 * 0: Periodic stats over QMI is disabled 602 * 1: Periodic stats over QMI is enabled 603 * Related: None 604 * 605 * Supported Feature: Power Save 606 * 607 * Usage: External 608 * 609 * </ini> 610 */ 611 #define CFG_ENABLE_QMI_STATS CFG_INI_UINT( \ 612 "enable_qmi_stats", \ 613 0, \ 614 1, \ 615 1, \ 616 CFG_VALUE_OR_DEFAULT, \ 617 "This ini is used to enable periodic stats over qmi") 618 #define CFG_ENABLE_QMI_STATS_ALL \ 619 CFG(CFG_ENABLE_QMI_STATS) 620 #else 621 #define CFG_ENABLE_QMI_STATS_ALL 622 #endif 623 624 /* 625 * <ini> 626 * gInformBssRssiRaw - Report rssi in cfg80211_inform_bss_frame 627 * @Min: 0 628 * @Max: 1 629 * @Default: 1 630 * 631 * Option to report rssi in cfg80211_inform_bss_frame() 632 * 633 * Related: None 634 * 635 * Supported Feature: N/A 636 * 637 * Usage: External 638 * 639 * </ini> 640 */ 641 #define CFG_INFORM_BSS_RSSI_RAW CFG_INI_BOOL( \ 642 "gInformBssRssiRaw", \ 643 1, \ 644 "Option to report rssi in cfg80211_inform_bss_frame") 645 646 #ifdef FEATURE_WLAN_DYNAMIC_CVM 647 /* 648 * <ini> 649 * gConfigVCmodeBitmap - Bitmap for operating voltage corner mode 650 * @Min: 0x00000000 651 * @Max: 0x0fffffff 652 * @Default: 0x0000000a 653 * This ini is used to set operating voltage corner mode for differenet 654 * phymode and bw configurations. Every 2 bits till BIT27 are dedicated 655 * for a specific configuration. Bit values decide the type of voltage 656 * corner mode. All the details below - 657 * 658 * Configure operating voltage corner mode based on phymode and bw. 659 * bit 0-1 - operating voltage corner mode for 11a/b. 660 * bit 2-3 - operating voltage corner mode for 11g. 661 * bit 4-5 - operating voltage corner mode for 11n, 20MHz, 1x1. 662 * bit 6-7 - operating voltage corner mode for 11n, 20MHz, 2x2. 663 * bit 8-9 - operating voltage corner mode for 11n, 40MHz, 1x1. 664 * bit 10-11 - operating voltage corner mode for 11n, 40MHz, 2x2. 665 * bit 12-13 - operating voltage corner mode for 11ac, 20MHz, 1x1. 666 * bit 14-15 - operating voltage corner mode for 11ac, 20MHz, 2x2. 667 * bit 16-17 - operating voltage corner mode for 11ac, 40MHz, 1x1. 668 * bit 18-19 - operating voltage corner mode for 11ac, 40MHz, 2x2. 669 * bit 20-21 - operating voltage corner mode for 11ac, 80MHz, 1x1. 670 * bit 22-23 - operating voltage corner mode for 11ac, 80MHz, 2x2. 671 * bit 24-25 - operating voltage corner mode for 11ac, 160MHz, 1x1. 672 * bit 26-27 - operating voltage corner mode for 11ac, 160MHz, 2x2. 673 * --------------------------------------------- 674 * 00 - Static voltage corner SVS 675 * 01 - static voltage corner LOW SVS 676 * 10 - Dynamic voltage corner selection based on TPUT 677 * 11 - Dynamic voltage corner selection based on TPUT and Tx Flush counters 678 679 * Related: None 680 * 681 * Supported Feature: None 682 * 683 * Usage: External 684 * 685 * </ini> 686 */ 687 #define CFG_VC_MODE_BITMAP CFG_INI_INT( \ 688 "gConfigVCmode", \ 689 0x00000000, \ 690 0x0fffffff, \ 691 0x00000005, \ 692 CFG_VALUE_OR_DEFAULT, \ 693 "Bitmap for operating voltage corner mode") 694 695 #define CFG_VC_MODE_BITMAP_ALL CFG(CFG_VC_MODE_BITMAP) 696 #else 697 #define CFG_VC_MODE_BITMAP_ALL 698 #endif 699 700 /* 701 * <ini> 702 * def_sta_operating_freq - Default STA operating Freq 703 * @Min: 0 704 * @Max: 2484 705 * @Default: 2412 706 * 707 * This ini is used to specify the default operating frequency of a STA during 708 * initialization. 709 * 710 * Related: None 711 * 712 * Supported Feature: STA 713 * 714 * Usage: External 715 * 716 * </ini> 717 */ 718 #define CFG_OPERATING_FREQUENCY CFG_INI_UINT( \ 719 "def_sta_operating_freq", \ 720 0, \ 721 2484, \ 722 2412, \ 723 CFG_VALUE_OR_DEFAULT, \ 724 "Default STA Operating Frequency") 725 #ifdef DHCP_SERVER_OFFLOAD 726 #define IPADDR_NUM_ENTRIES (4) 727 #define IPADDR_STRING_LENGTH (16) 728 #define CFG_DHCP_SERVER_IP_DEFAULT "" 729 730 /* 731 * struct wlan_mlme_chainmask - All chainmask related cfg items 732 * @dhcpServerIP: Dhcp server IP address 733 * @is_dhcp_server_ip_valid: is dhcp server valid 734 */ 735 struct dhcp_server { 736 uint8_t dhcp_server_ip[IPADDR_NUM_ENTRIES]; 737 bool is_dhcp_server_ip_valid; 738 } 739 740 /* 741 * <ini> 742 * gDHCPServerIP - Dhcp server Ip name 743 * @Default: 744 * 745 * This ini is used to give the DHCP IP server name 746 */ 747 #define CFG_DHCP_SERVER_IP_NAME \ 748 CFG_INI_STRING("gDHCPServerIP", \ 749 0, IPADDR_STRING_LENGTH, CFG_DHCP_SERVER_IP_DEFAULT, "DHCP Server IP") 750 #endif /* DHCP_SERVER_OFFLOAD */ 751 752 /* 753 * <ini> 754 * gNumVdevs - max number of VDEVs supported 755 * 756 * @Min: 0x1 757 * @Max: 0x5 758 * @Default: CFG_TGT_NUM_VDEV 759 * 760 * Usage: External 761 * 762 * </ini> 763 */ 764 #define CFG_NUM_VDEV_ENABLE CFG_INI_UINT( \ 765 "gNumVdevs", \ 766 1, \ 767 5, \ 768 CFG_TGT_NUM_VDEV, \ 769 CFG_VALUE_OR_DEFAULT, \ 770 "Number of VDEVs") 771 772 #define CFG_CONCURRENT_IFACE_MAX_LEN 16 773 /* 774 * <ini> 775 * gEnableConcurrentSTA - This will control the creation of concurrent STA 776 * interface 777 * @Default: NULL 778 * 779 * This ini is used for providing control to create a concurrent STA session 780 * along with the creation of wlan0 and p2p0. The name of the interface is 781 * specified as the parameter 782 * 783 * Usage: Internal 784 * 785 * </ini> 786 */ 787 788 #define CFG_ENABLE_CONCURRENT_STA CFG_INI_STRING( \ 789 "gEnableConcurrentSTA", \ 790 0, \ 791 CFG_CONCURRENT_IFACE_MAX_LEN, \ 792 "", \ 793 "Enable Concurrent STA") 794 795 #define CFG_DBS_SCAN_PARAM_LENGTH 42 796 /* 797 * <ini> 798 * gdbs_scan_selection - DBS Scan Selection. 799 * @Default: "" 800 * 801 * This ini is used to enable DBS scan selection. 802 * Example 803 * @Value: "5,2,2,16,2,2" 804 * 1st argument is module_id, 2nd argument is number of DBS scan, 805 * 3rd argument is number of non-DBS scan, 806 * and other arguments follows. 807 * 5,2,2,16,2,2 means: 808 * 5 is module id, 2 is num of DBS scan, 2 is num of non-DBS scan. 809 * 16 is module id, 2 is num of DBS scan, 2 is num of non-DBS scan. 810 * 811 * Related: None. 812 * 813 * Supported Feature: DBS Scan 814 * 815 * Usage: Internal/External 816 * 817 * </ini> 818 */ 819 #define CFG_DBS_SCAN_SELECTION CFG_INI_STRING( \ 820 "gdbs_scan_selection", \ 821 0, \ 822 CFG_DBS_SCAN_PARAM_LENGTH, \ 823 "", \ 824 "DBS Scan Selection") 825 826 /* 827 * </ini> 828 * enable_mac_provision - Enable/disable MAC address provisioning feature 829 * @Min: 0 830 * @Max: 1 831 * @Default: 0 832 * 833 * This ini is used to enable/disable MAC address provisioning feature 834 * 835 * Supported Feature: STA/SAP/P2P 836 * 837 * Usage: External 838 * 839 * </ini> 840 */ 841 #define CFG_ENABLE_MAC_PROVISION CFG_INI_BOOL( \ 842 "enable_mac_provision", \ 843 0, \ 844 "enable/disable MAC address provisioning feature") 845 846 /* 847 * </ini> 848 * read_mac_addr_from_mac_file - Use/ignore MAC address from mac cfg file 849 * @Min: 0 850 * @Max: 1 851 * @Default: 0 852 * 853 * This ini is used whether to configure MAC address from the cfg file or not 854 * 855 * Supported Feature: STA/SAP/P2P 856 * 857 * Usage: External 858 * 859 * </ini> 860 */ 861 #define CFG_READ_MAC_ADDR_FROM_MAC_FILE CFG_INI_BOOL( \ 862 "read_mac_addr_from_mac_file", \ 863 0, \ 864 "Use/ignore MAC address from cfg file") 865 866 /* 867 * <ini> 868 * provisioned_intf_pool - It is bit mask value of Interfaces 869 * @Min: 0 870 * @Max: 0xffffffff 871 * @Default: 0xffffffff 872 * 873 * This ini will contain the bitmask of all the interfaces 874 * which can use addresses from provisioned list. Using enum QDF_OPMODE 875 * for deciding the bit positions corresponding to each interface. 876 * Bit 0 : QDF_STA_MODE 877 * Bit 1 : QDF_SAP_MODE 878 * Bit 2 : QDF_P2P_CLIENT_MODE 879 * Bit 3 : QDF_P2P_GO_MODE 880 * Bit 4 : QDF_FTM_MODE 881 * Bit 5 : QDF_IBSS_MODE 882 * Bit 6 : QDF_MONITOR_MODE 883 * Bit 7 : QDF_P2P_DEVICE_MODE 884 * Bit 8 : QDF_OCB_MODE 885 * Bit 9 : QDF_EPPING_MODE 886 * Bit 10 : QDF_QVIT_MODE 887 * Bit 11 : QDF_NDI_MODE 888 * Bit 12 : QDF_MAX_NO_OF_MODE 889 * For example : 890 * If Bit 0 represents STA 891 * Bit 1 represents SAP 892 * Bit 2 represents P2PGO 893 * If only STA and SAP can use addresses from provisioned list then the value 894 * of ini should be 3 (00000011) as first and second bit should be set. 895 * If only STA and P2PGO can use addresses from provisioned list then the value 896 * of ini should be 5 (00000101) as first and third bit should be set. 897 * Similarly, for only SAP and P2PGO ini should be 6 (00000110) 898 * 899 * Supported Feature: STA/SAP/P2P 900 * 901 * Usage: External 902 * 903 * </ini> 904 */ 905 #define CFG_PROVISION_INTERFACE_POOL CFG_INI_UINT( \ 906 "provisioned_intf_pool", \ 907 0, \ 908 0xffffffff, \ 909 0xffffffff, \ 910 CFG_VALUE_OR_DEFAULT, \ 911 "It is bit mask value of Interfaces") 912 913 /* 914 * <ini> 915 * deriveded_intf_pool - It is bit mask value of Interfaces 916 * @Min: 0 917 * @Max: 0xffffffff 918 * @Default: 0xffffffff 919 * 920 * This ini will contain the bitmask of all the interfaces 921 * which can use addresses from derived list 922 * 923 * 924 * Supported Feature: STA/SAP/P2P 925 * 926 * Usage: External 927 * 928 * </ini> 929 */ 930 #define CFG_DERIVED_INTERFACE_POOL CFG_INI_UINT( \ 931 "derived_intf_pool", \ 932 0, \ 933 0xffffffff, \ 934 0xffffffff, \ 935 CFG_VALUE_OR_DEFAULT, \ 936 "It is bit mask value of Interfaces") 937 938 #ifdef ENABLE_MTRACE_LOG 939 /* 940 * <ini> 941 * enable_mtrace - Enable Mtrace. 942 * @Default: 0 943 * 944 * This ini is used to enable MTRACE logging 945 * 946 * Related: None. 947 * 948 * Supported Feature: MTRACE 949 * 950 * Usage: Internal/External 951 * 952 * </ini> 953 */ 954 #define CFG_ENABLE_MTRACE CFG_INI_BOOL( \ 955 "enable_mtrace", \ 956 false, \ 957 "Enable MTRACE") 958 #define CFG_ENABLE_MTRACE_ALL CFG(CFG_ENABLE_MTRACE) 959 #else 960 #define CFG_ENABLE_MTRACE_ALL 961 #endif 962 963 /* 964 * <ini> 965 * gAdvertiseConcurrentOperation - Iface combination advertising 966 * @Min: 0 967 * @Max: 1 968 * @Default: 1 969 * 970 * This ini is used to control whether driver should indicate to kernel 971 * wiphy layer the combination of all its interfaces' supportability. 972 * 973 * Related: None 974 * 975 * Supported Feature: STA 976 * 977 * Usage: Internal/External 978 * 979 * </ini> 980 */ 981 #define CFG_ADVERTISE_CONCURRENT_OPERATION CFG_INI_BOOL( \ 982 "gAdvertiseConcurrentOperation", \ 983 1, \ 984 "Iface combination advertising") 985 986 /* 987 * <ini> 988 * gEnableUnitTestFramework - Enable/Disable unit test framework 989 * @Min: 0 990 * @Max: 1 991 * @Default: 0 992 * 993 * Related: None 994 * 995 * Supported Feature: unit test framework 996 * 997 * Usage: Internal (only for dev and test team) 998 * 999 * </ini> 1000 */ 1001 #define CFG_ENABLE_UNIT_TEST_FRAMEWORK CFG_INI_BOOL( \ 1002 "gEnableUnitTestFramework", \ 1003 0, \ 1004 "Enable/Disable unit test framework") 1005 1006 /* 1007 * <ini> 1008 * gDisableChannel - Used to disable channels specified 1009 * 1010 * @Min: 0 1011 * @Max: 1 1012 * Default: 0 1013 * 1014 * This ini is used to disable the channels given in the command 1015 * SET_DISABLE_CHANNEL_LIST and to restore the channels when the 1016 * command is given with channel list as 0 1017 * Usage: External 1018 * 1019 * </ini> 1020 */ 1021 #define CFG_ENABLE_DISABLE_CHANNEL CFG_INI_BOOL( \ 1022 "gDisableChannel", \ 1023 0, \ 1024 "Enable/Disable to disable channels specified") 1025 1026 /* 1027 * <ini> 1028 * gEnableSARV1toSARV2 - Used to Enable/Disable SAR version conversion 1029 * 1030 * @Min: 0 1031 * @Max: 1 1032 * Default: 1 1033 * 1034 * If user space is using SARV1 and FW is using SARV2 in BDF in that case 1035 * this ini is used to enable conversion from user specified SARV1 command 1036 * to FW expected SARV2 command. 1037 * If value of this ini is set to 0, SAR version 1 will 1038 * not be converted to SARV2 and command will be rejected. 1039 * If value of this ini is set to 1 SAR version 1 will be converted to 1040 * SARV2 based on FW capability 1041 * Usage: External 1042 * 1043 * </ini> 1044 */ 1045 #define CFG_SAR_CONVERSION CFG_INI_BOOL( \ 1046 "gEnableSARV1toSARV2", \ 1047 1, \ 1048 "Enable/Disable conversion from SARV1 to SARV2") 1049 1050 /* 1051 * <ini> 1052 * nb_commands_interval - Used to rate limit nb commands from userspace 1053 * 1054 * @Min: 0 1055 * @Max: 10 1056 * Default: 3 1057 * 1058 * This ini is used to specify the duration in which any supp. nb command from 1059 * userspace will not be processed completely in driver. For ex, the default 1060 * value of 3 seconds signifies that consecutive commands within that 1061 * time will not be processed fully. 1062 * 1063 * Usage: Internal 1064 * 1065 * </ini> 1066 */ 1067 #define CFG_NB_COMMANDS_RATE_LIMIT CFG_INI_UINT( \ 1068 "nb_commands_interval", \ 1069 0, \ 1070 10, \ 1071 3, \ 1072 CFG_VALUE_OR_DEFAULT, \ 1073 "Rate limiting for nb commands") 1074 1075 #ifdef WLAN_FEATURE_PERIODIC_STA_STATS 1076 /* 1077 * <ini> 1078 * periodic_stats_timer_interval - Print selective stats on this specified 1079 * interval 1080 * 1081 * @Min: 0 1082 * @Max: 10000 1083 * Default: 3000 1084 * 1085 * This ini is used to specify interval in milliseconds for periodic stats 1086 * timer. This timer will print selective stats after expiration of each 1087 * interval. STA starts this periodic timer after initial connection or after 1088 * roaming is successful. This will be restarted for every 1089 * periodic_stats_timer_interval till the periodic_stats_timer_duration expires. 1090 * 1091 * Supported Feature: STA 1092 * 1093 * Usage: Internal 1094 * 1095 * </ini> 1096 */ 1097 #define CFG_PERIODIC_STATS_TIMER_INTERVAL CFG_INI_UINT( \ 1098 "periodic_stats_timer_interval", \ 1099 0, \ 1100 10000, \ 1101 3000, \ 1102 CFG_VALUE_OR_DEFAULT, \ 1103 "Periodic stats timer interval") 1104 1105 /* 1106 * <ini> 1107 * periodic_stats_timer_duration - Used as duration for which periodic timer 1108 * should run 1109 * 1110 * @Min: 0 1111 * @Max: 60000 1112 * Default: 30000 1113 * 1114 * This ini is used as duration in milliseconds for which periodic stats timer 1115 * should run. This periodic timer will print selective stats for every 1116 * periodic_stats_timer_interval until this duration is reached. 1117 * 1118 * Supported Feature: STA 1119 * 1120 * Usage: Internal 1121 * 1122 * </ini> 1123 */ 1124 #define CFG_PERIODIC_STATS_TIMER_DURATION CFG_INI_UINT( \ 1125 "periodic_stats_timer_duration", \ 1126 0, \ 1127 60000, \ 1128 30000, \ 1129 CFG_VALUE_OR_DEFAULT, \ 1130 "Periodic stats timer duration") 1131 1132 #define CFG_WLAN_STA_PERIODIC_STATS \ 1133 CFG(CFG_PERIODIC_STATS_TIMER_DURATION) \ 1134 CFG(CFG_PERIODIC_STATS_TIMER_INTERVAL) 1135 #else 1136 #define CFG_WLAN_STA_PERIODIC_STATS 1137 #endif /* WLAN_FEATURE_PERIODIC_STA_STATS */ 1138 1139 #ifdef FEATURE_CLUB_LL_STATS_AND_GET_STATION 1140 /* 1141 * <ini> 1142 * club_get_sta_in_ll_stats_req - Flag used to club ll_stats and get_station 1143 * requests in the driver 1144 * 1145 * @Min: 0 1146 * @Max: 1 1147 * Default: 1 1148 * 1149 * This ini param is used to enable/disable the feature for clubbing ll stats 1150 * and get station requests. 1151 * 1152 * Supported Feature: STA 1153 * 1154 * Usage: External 1155 * 1156 * </ini> 1157 */ 1158 #define CFG_CLUB_LL_STA_AND_GET_STATION CFG_INI_BOOL( \ 1159 "club_get_sta_in_ll_stats_req", \ 1160 1, \ 1161 "Club ll_stats and get station requests") 1162 1163 /* 1164 * <ini> 1165 * sta_stats_cache_expiry_time - Expiry time for cached station stats 1166 * 1167 * @Min: 0 1168 * @Max: 5000 1169 * Default: 400 1170 * 1171 * This ini is used as duration in milliseconds for which cached station stats 1172 * are valid. Driver sends the cached information as response, if it gets the 1173 * get_station request with in this duration. Otherwise driver sends new 1174 * request to the firmware to get the updated stats. 1175 * 1176 * Supported Feature: STA 1177 * 1178 * Usage: External 1179 * 1180 * </ini> 1181 */ 1182 #define CFG_STA_STATS_CACHE_EXPIRY CFG_INI_UINT( \ 1183 "sta_stats_cache_expiry_time", \ 1184 0, \ 1185 5000, \ 1186 400, \ 1187 CFG_VALUE_OR_DEFAULT, \ 1188 "Station stats cache expiry") 1189 1190 #define CFG_WLAN_CLUB_GET_STA_IN_LL_STA_REQ \ 1191 CFG(CFG_CLUB_LL_STA_AND_GET_STATION) \ 1192 CFG(CFG_STA_STATS_CACHE_EXPIRY) 1193 #else 1194 #define CFG_WLAN_CLUB_GET_STA_IN_LL_STA_REQ 1195 #endif /* FEATURE_CLUB_LL_STATS_AND_GET_STATION */ 1196 1197 #ifdef WLAN_FEATURE_11BE_MLO 1198 /* 1199 * <ini> 1200 * link_state_cache_expiry_time - Expiry time for cached ml link state 1201 * 1202 * @Min: 0 1203 * @Max: 5000 1204 * Default: 400 1205 * 1206 * This ini is used as duration in milliseconds for which cached ml link state 1207 * are valid. Driver sends the cached information as response, if it gets the 1208 * ml link state request with in this duration. Otherwise driver sends new 1209 * request to the firmware to get the updated ml link state. 1210 * 1211 * Supported Feature: MLO STA 1212 * 1213 * Usage: External 1214 * 1215 * </ini> 1216 */ 1217 #define CFG_LINK_STATE_CACHE_EXPIRY CFG_INI_UINT( \ 1218 "link_state_cache_expiry_time", \ 1219 0, \ 1220 5000, \ 1221 400, \ 1222 CFG_VALUE_OR_DEFAULT, \ 1223 "link state cache expiry") 1224 1225 #define CFG_LINK_STATE_CACHE_EXPIRY_ALL \ 1226 CFG(CFG_LINK_STATE_CACHE_EXPIRY) 1227 #else 1228 #define CFG_LINK_STATE_CACHE_EXPIRY_ALL 1229 #endif /* WLAN_FEATURE_11BE_MLO */ 1230 1231 /** 1232 * enum host_log_level - Debug verbose level imposed by user 1233 * @HOST_LOG_LEVEL_NONE: no trace will be logged. 1234 * @HOST_LOG_LEVEL_FATAL: fatal error will be logged 1235 * @HOST_LOG_LEVEL_ERROR: error(include level less than error) will be logged 1236 * @HOST_LOG_LEVEL_WARN: warning(include level less than warning) will be logged 1237 * @HOST_LOG_LEVEL_INFO: inform(include level less than inform) will be logged 1238 * @HOST_LOG_LEVEL_DEBUG: debug(include level less than debug) will be logged 1239 * @HOST_LOG_LEVEL_TRACE: trace(include level less than trace) will be logged 1240 * @HOST_LOG_LEVEL_MAX: Max host log level 1241 */ 1242 enum host_log_level { 1243 HOST_LOG_LEVEL_NONE = 0, 1244 HOST_LOG_LEVEL_FATAL, 1245 HOST_LOG_LEVEL_ERROR, 1246 HOST_LOG_LEVEL_WARN, 1247 HOST_LOG_LEVEL_INFO, 1248 HOST_LOG_LEVEL_DEBUG, 1249 HOST_LOG_LEVEL_TRACE, 1250 HOST_LOG_LEVEL_MAX, 1251 }; 1252 1253 /* 1254 * <ini> 1255 * gHostModuleLoglevel - modulized host debug log level 1256 * @Min: N/A 1257 * @Max: N/A 1258 * @Default: N/A 1259 * 1260 * This ini is used to set modulized host debug log level. 1261 * WLAN host module log level input string format looks like below: 1262 * gHostModuleLoglevel="<host Module ID>,<Log Level>,..." 1263 * For example: 1264 * gHostModuleLoglevel=51,1,52,2,53,3,54,4,55,5,56,6 1265 * The above input string means: 1266 * For WLAN host module ID 51 enable log level HOST_LOG_LEVEL_FATAL 1267 * For WLAN host module ID 52 enable log level HOST_LOG_LEVEL_ERROR 1268 * For WLAN host module ID 53 enable log level HOST_LOG_LEVEL_WARN 1269 * For WLAN host module ID 54 enable log level HOST_LOG_LEVEL_INFO 1270 * For WLAN host module ID 55 enable log level HOST_LOG_LEVEL_DEBUG 1271 * For WLAN host module ID 55 enable log level HOST_LOG_LEVEL_TRACE 1272 * For valid values of module ids check enum QDF_MODULE_ID and 1273 * for valid values of log levels check below. 1274 * HOST_LOG_LEVEL_NONE = 0, No trace will be logged 1275 * HOST_LOG_LEVEL_FATAL = 1, fatal error log 1276 * HOST_LOG_LEVEL_ERROR = 2, error(include level less than error) log 1277 * HOST_LOG_LEVEL_WARN = 3, warning(include level less than warning) log 1278 * HOST_LOG_LEVEL_INFO = 4, inform(include level less than inform) log 1279 * HOST_LOG_LEVEL_DEBUG = 5, debug(include level less than debug) log 1280 * HOST_LOG_LEVEL_TRACE = 6, trace(include level less than trace) log 1281 * 1282 * Related: None 1283 * 1284 * Supported Feature: Debugging 1285 * 1286 * Usage: Internal 1287 * 1288 * </ini> 1289 */ 1290 1291 #define HOST_MODULE_LOG_LEVEL_STRING_MAX_LENGTH (QDF_MODULE_ID_MAX * 6) 1292 #define CFG_ENABLE_HOST_MODULE_LOG_LEVEL CFG_INI_STRING( \ 1293 "gHostModuleLoglevel", \ 1294 0, \ 1295 HOST_MODULE_LOG_LEVEL_STRING_MAX_LENGTH, \ 1296 "", \ 1297 "Set modulized host debug log level") 1298 1299 #ifdef WLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE 1300 /* 1301 * <ini> 1302 * dynamic_mac_addr_update_supported - Flag to configure dynamic MAC address 1303 * support in the driver 1304 * 1305 * @Min: 0 1306 * @Max: 1 1307 * Default: 1 1308 * 1309 * This ini param is used to enable/disable the dynamic MAC address support 1310 * in the driver. 1311 * 1312 * Supported Feature: STA/SAP/P2P_Device 1313 * 1314 * Usage: External 1315 * 1316 * </ini> 1317 */ 1318 #define CFG_DYNAMIC_MAC_ADDR_UPDATE_SUPPORTED CFG_INI_BOOL( \ 1319 "dynamic_mac_addr_update_supported", \ 1320 1, \ 1321 "Dynamic MAC address update support") 1322 #define CFG_DYNAMIC_MAC_ADDR_UPDATE_SUPPORTED_ALL \ 1323 CFG(CFG_DYNAMIC_MAC_ADDR_UPDATE_SUPPORTED) 1324 #else 1325 #define CFG_DYNAMIC_MAC_ADDR_UPDATE_SUPPORTED_ALL 1326 #endif 1327 1328 /* 1329 * <ini> 1330 * exclude_selftx_from_cca_busy_time - Exclude self tx time from cca busy time 1331 * @Default: false 1332 * 1333 * This ini is used to exclude self tx time from cca busy time. 1334 * 1335 * false: Don't exclude self tx time from cca busy time. 1336 * true: Deduct tx time from cca busy time. 1337 * 1338 * Usage: External 1339 * 1340 * </ini> 1341 */ 1342 #define CFG_EXCLUDE_SELFTX_FROM_CCA_BUSY_TIME CFG_INI_BOOL( \ 1343 "exclude_selftx_from_cca_busy_time", \ 1344 false, \ 1345 "This ini is used to exclude self tx time from CCA busy time") 1346 1347 #define CFG_HDD_ALL \ 1348 CFG_DYNAMIC_MAC_ADDR_UPDATE_SUPPORTED_ALL \ 1349 CFG_ENABLE_PACKET_LOG_ALL \ 1350 CFG_ENABLE_RUNTIME_PM_ALL \ 1351 CFG_ENABLE_QMI_STATS_ALL \ 1352 CFG_VC_MODE_BITMAP_ALL \ 1353 CFG_WLAN_AUTO_SHUTDOWN_ALL \ 1354 CFG_WLAN_CLUB_GET_STA_IN_LL_STA_REQ \ 1355 CFG_WLAN_LOGGING_SUPPORT_ALL \ 1356 CFG_WLAN_STA_PERIODIC_STATS \ 1357 CFG(CFG_ADVERTISE_CONCURRENT_OPERATION) \ 1358 CFG(CFG_BUG_ON_REINIT_FAILURE) \ 1359 CFG(CFG_DBS_SCAN_SELECTION) \ 1360 CFG(CFG_DERIVED_INTERFACE_POOL) \ 1361 CFG(CFG_ENABLE_CONCURRENT_STA) \ 1362 CFG(CFG_ENABLE_FW_LOG) \ 1363 CFG(CFG_ENABLE_FW_UART_PRINT) \ 1364 CFG(CFG_ENABLE_MAC_PROVISION) \ 1365 CFG_ENABLE_MTRACE_ALL \ 1366 CFG(CFG_ENABLE_RAMDUMP_COLLECTION) \ 1367 CFG(CFG_ENABLE_UNIT_TEST_FRAMEWORK) \ 1368 CFG(CFG_INTERFACE_CHANGE_WAIT) \ 1369 CFG(CFG_INFORM_BSS_RSSI_RAW) \ 1370 CFG(CFG_MULTICAST_HOST_FW_MSGS) \ 1371 CFG(CFG_NUM_VDEV_ENABLE) \ 1372 CFG(CFG_OPERATING_FREQUENCY) \ 1373 CFG(CFG_PRIVATE_WEXT_CONTROL) \ 1374 CFG(CFG_PROVISION_INTERFACE_POOL) \ 1375 CFG(CFG_TIMER_MULTIPLIER) \ 1376 CFG(CFG_NB_COMMANDS_RATE_LIMIT) \ 1377 CFG(CFG_HDD_DOT11_MODE) \ 1378 CFG(CFG_ENABLE_DISABLE_CHANNEL) \ 1379 CFG(CFG_READ_MAC_ADDR_FROM_MAC_FILE) \ 1380 CFG(CFG_SAR_CONVERSION) \ 1381 CFG(CFG_ENABLE_HOST_MODULE_LOG_LEVEL) \ 1382 SAR_SAFETY_FEATURE_ALL \ 1383 CFG_GET_WIFI_FEATURES_ALL \ 1384 CFG_CPU_CXPC_THRESHOLD_ALL \ 1385 CFG(CFG_EXCLUDE_SELFTX_FROM_CCA_BUSY_TIME) \ 1386 CFG_LINK_STATE_CACHE_EXPIRY_ALL 1387 #endif 1388