1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /****************************************************************************** 3 * 4 * Copyright(c) 2007 - 2017 Realtek Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of version 2 of the GNU General Public License as 8 * published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13 * more details. 14 * 15 *****************************************************************************/ 16 #ifndef __DRV_CONF_H__ 17 #define __DRV_CONF_H__ 18 #include "autoconf.h" 19 #include "hal_ic_cfg.h" 20 21 #define CONFIG_RSSI_PRIORITY 22 #ifdef CONFIG_RTW_REPEATER_SON 23 #ifndef CONFIG_AP 24 #define CONFIG_AP 25 #endif 26 #ifndef CONFIG_CONCURRENT_MODE 27 #define CONFIG_CONCURRENT_MODE 28 #endif 29 #ifndef CONFIG_BR_EXT 30 #define CONFIG_BR_EXT 31 #endif 32 #ifndef CONFIG_RTW_REPEATER_SON_ID 33 #define CONFIG_RTW_REPEATER_SON_ID 0x02040608 34 #endif 35 //#define CONFIG_RTW_REPEATER_SON_ROOT 36 #ifndef CONFIG_RTW_REPEATER_SON_ROOT 37 #define CONFIG_LAYER2_ROAMING_ACTIVE 38 #endif 39 #undef CONFIG_POWER_SAVING 40 #endif 41 42 #if defined(CONFIG_MCC_MODE) && (!defined(CONFIG_CONCURRENT_MODE)) 43 44 #error "Enable CONCURRENT_MODE before enable MCC MODE\n" 45 46 #endif 47 48 #if defined(CONFIG_MCC_MODE) && defined(CONFIG_BT_COEXIST) 49 50 #error "Disable BT COEXIST before enable MCC MODE\n" 51 52 #endif 53 54 #if defined(CONFIG_MCC_MODE) && defined(CONFIG_TDLS) 55 56 #error "Disable TDLS before enable MCC MODE\n" 57 58 #endif 59 60 #if defined(CONFIG_RTW_80211R) && !defined(CONFIG_LAYER2_ROAMING) 61 62 #error "Enable CONFIG_LAYER2_ROAMING before enable CONFIG_RTW_80211R\n" 63 64 #endif 65 66 /* Older Android kernel doesn't has CONFIG_ANDROID defined, 67 * add this to force CONFIG_ANDROID defined */ 68 #ifdef CONFIG_PLATFORM_ANDROID 69 #ifndef CONFIG_ANDROID 70 #define CONFIG_ANDROID 71 #endif 72 #endif 73 74 #ifdef CONFIG_ANDROID 75 /* Some Android build will restart the UI while non-printable ascii is passed 76 * between java and c/c++ layer (JNI). We force CONFIG_VALIDATE_SSID 77 * for Android here. If you are sure there is no risk on your system about this, 78 * mask this macro define to support non-printable ascii ssid. 79 * #define CONFIG_VALIDATE_SSID */ 80 81 /* Android expect dbm as the rx signal strength unit */ 82 #define CONFIG_SIGNAL_DISPLAY_DBM 83 #endif 84 85 /* 86 #if defined(CONFIG_HAS_EARLYSUSPEND) && defined(CONFIG_RESUME_IN_WORKQUEUE) 87 #warning "You have CONFIG_HAS_EARLYSUSPEND enabled in your system, we disable CONFIG_RESUME_IN_WORKQUEUE automatically" 88 #undef CONFIG_RESUME_IN_WORKQUEUE 89 #endif 90 91 #if defined(CONFIG_ANDROID_POWER) && defined(CONFIG_RESUME_IN_WORKQUEUE) 92 #warning "You have CONFIG_ANDROID_POWER enabled in your system, we disable CONFIG_RESUME_IN_WORKQUEUE automatically" 93 #undef CONFIG_RESUME_IN_WORKQUEUE 94 #endif 95 */ 96 97 #ifdef CONFIG_RESUME_IN_WORKQUEUE /* this can be removed, because there is no case for this... */ 98 #if !defined(CONFIG_WAKELOCK) && !defined(CONFIG_ANDROID_POWER) 99 #error "enable CONFIG_RESUME_IN_WORKQUEUE without CONFIG_WAKELOCK or CONFIG_ANDROID_POWER will suffer from the danger of wifi's unfunctionality..." 100 #error "If you still want to enable CONFIG_RESUME_IN_WORKQUEUE in this case, mask this preprossor checking and GOOD LUCK..." 101 #endif 102 #endif 103 104 /* About USB VENDOR REQ */ 105 #if defined(CONFIG_USB_VENDOR_REQ_BUFFER_PREALLOC) && !defined(CONFIG_USB_VENDOR_REQ_MUTEX) 106 #warning "define CONFIG_USB_VENDOR_REQ_MUTEX for CONFIG_USB_VENDOR_REQ_BUFFER_PREALLOC automatically" 107 #define CONFIG_USB_VENDOR_REQ_MUTEX 108 #endif 109 #if defined(CONFIG_VENDOR_REQ_RETRY) && !defined(CONFIG_USB_VENDOR_REQ_MUTEX) 110 #warning "define CONFIG_USB_VENDOR_REQ_MUTEX for CONFIG_VENDOR_REQ_RETRY automatically" 111 #define CONFIG_USB_VENDOR_REQ_MUTEX 112 #endif 113 114 #if defined(CONFIG_DFS_SLAVE_WITH_RADAR_DETECT) && !defined(CONFIG_DFS_MASTER) 115 #define CONFIG_DFS_MASTER 116 #endif 117 118 #if !defined(CONFIG_AP_MODE) && defined(CONFIG_DFS_MASTER) 119 #error "enable CONFIG_DFS_MASTER without CONFIG_AP_MODE" 120 #endif 121 122 #ifdef CONFIG_WIFI_MONITOR 123 /* #define CONFIG_MONITOR_MODE_XMIT */ 124 #endif 125 126 #ifdef CONFIG_CUSTOMER_ALIBABA_GENERAL 127 #ifndef CONFIG_WIFI_MONITOR 128 #define CONFIG_WIFI_MONITOR 129 #endif 130 #ifndef CONFIG_MONITOR_MODE_XMIT 131 #define CONFIG_MONITOR_MODE_XMIT 132 #endif 133 #ifdef CONFIG_POWER_SAVING 134 #undef CONFIG_POWER_SAVING 135 #endif 136 #endif 137 138 #ifdef CONFIG_CUSTOMER01_SMART_ANTENNA 139 #ifdef CONFIG_POWER_SAVING 140 #undef CONFIG_POWER_SAVING 141 #endif 142 #ifdef CONFIG_BEAMFORMING 143 #undef CONFIG_BEAMFORMING 144 #endif 145 #endif 146 147 #ifdef CONFIG_AP_MODE 148 #define CONFIG_TX_MCAST2UNI /* AP mode support IP multicast->unicast */ 149 #endif 150 151 #ifdef CONFIG_RTW_MESH 152 #ifndef CONFIG_RTW_MESH_ACNODE_PREVENT 153 #define CONFIG_RTW_MESH_ACNODE_PREVENT 1 154 #endif 155 156 #ifndef CONFIG_RTW_MESH_OFFCH_CAND 157 #define CONFIG_RTW_MESH_OFFCH_CAND 1 158 #endif 159 160 #ifndef CONFIG_RTW_MESH_PEER_BLACKLIST 161 #define CONFIG_RTW_MESH_PEER_BLACKLIST 1 162 #endif 163 164 #ifndef CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST 165 #define CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST 1 166 #endif 167 #ifndef CONFIG_RTW_MESH_CTO_MGATE_CARRIER 168 #define CONFIG_RTW_MESH_CTO_MGATE_CARRIER CONFIG_RTW_MESH_CTO_MGATE_BLACKLIST 169 #endif 170 171 #ifndef CONFIG_RTW_MPM_TX_IES_SYNC_BSS 172 #define CONFIG_RTW_MPM_TX_IES_SYNC_BSS 1 173 #endif 174 #if CONFIG_RTW_MPM_TX_IES_SYNC_BSS 175 #ifndef CONFIG_RTW_MESH_AEK 176 #define CONFIG_RTW_MESH_AEK 177 #endif 178 #endif 179 180 #ifndef CONFIG_RTW_MESH_DATA_BMC_TO_UC 181 #define CONFIG_RTW_MESH_DATA_BMC_TO_UC 1 182 #endif 183 #endif 184 185 #if !defined(CONFIG_SCAN_BACKOP) && defined(CONFIG_AP_MODE) 186 #define CONFIG_SCAN_BACKOP 187 #endif 188 189 #define RTW_SCAN_SPARSE_MIRACAST 1 190 #define RTW_SCAN_SPARSE_BG 0 191 #define RTW_SCAN_SPARSE_ROAMING_ACTIVE 1 192 193 #ifndef CONFIG_TX_AC_LIFETIME 194 #define CONFIG_TX_AC_LIFETIME 1 195 #endif 196 #ifndef CONFIG_TX_ACLT_FLAGS 197 #define CONFIG_TX_ACLT_FLAGS 0x00 198 #endif 199 #ifndef CONFIG_TX_ACLT_CONF_DEFAULT 200 #define CONFIG_TX_ACLT_CONF_DEFAULT {0x0, 1024 * 1000, 1024 * 1000} 201 #endif 202 #ifndef CONFIG_TX_ACLT_CONF_AP_M2U 203 #define CONFIG_TX_ACLT_CONF_AP_M2U {0xF, 256 * 1000, 256 * 1000} 204 #endif 205 #ifndef CONFIG_TX_ACLT_CONF_MESH 206 #define CONFIG_TX_ACLT_CONF_MESH {0xF, 256 * 1000, 256 * 1000} 207 #endif 208 209 #ifndef CONFIG_RTW_HIQ_FILTER 210 #define CONFIG_RTW_HIQ_FILTER 1 211 #endif 212 213 #ifndef CONFIG_RTW_ADAPTIVITY_EN 214 #define CONFIG_RTW_ADAPTIVITY_EN 0 215 #endif 216 217 #ifndef CONFIG_RTW_ADAPTIVITY_MODE 218 #define CONFIG_RTW_ADAPTIVITY_MODE 0 219 #endif 220 221 #ifndef CONFIG_RTW_ADAPTIVITY_TH_L2H_INI 222 #define CONFIG_RTW_ADAPTIVITY_TH_L2H_INI 0 223 #endif 224 225 #ifndef CONFIG_RTW_ADAPTIVITY_TH_EDCCA_HL_DIFF 226 #define CONFIG_RTW_ADAPTIVITY_TH_EDCCA_HL_DIFF 0 227 #endif 228 229 #ifndef CONFIG_RTW_EXCL_CHS 230 #define CONFIG_RTW_EXCL_CHS {0} 231 #endif 232 233 #ifndef CONFIG_RTW_DFS_REGION_DOMAIN 234 #define CONFIG_RTW_DFS_REGION_DOMAIN 0 235 #endif 236 237 #ifndef CONFIG_TXPWR_BY_RATE_EN 238 #define CONFIG_TXPWR_BY_RATE_EN 2 /* by efuse */ 239 #endif 240 #ifndef CONFIG_TXPWR_LIMIT_EN 241 #define CONFIG_TXPWR_LIMIT_EN 2 /* by efuse */ 242 #endif 243 244 #ifndef CONFIG_RTW_CHPLAN 245 #define CONFIG_RTW_CHPLAN 0xFF /* RTW_CHPLAN_UNSPECIFIED */ 246 #endif 247 248 /* compatible with old fashion configuration */ 249 #if defined(CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY) 250 #undef CONFIG_TXPWR_BY_RATE_EN 251 #undef CONFIG_TXPWR_LIMIT_EN 252 #define CONFIG_TXPWR_BY_RATE_EN 1 253 #define CONFIG_TXPWR_LIMIT_EN 1 254 #elif defined(CONFIG_CALIBRATE_TX_POWER_TO_MAX) 255 #undef CONFIG_TXPWR_BY_RATE_EN 256 #undef CONFIG_TXPWR_LIMIT_EN 257 #define CONFIG_TXPWR_BY_RATE_EN 1 258 #define CONFIG_TXPWR_LIMIT_EN 0 259 #endif 260 261 #ifndef RTW_DEF_MODULE_REGULATORY_CERT 262 #define RTW_DEF_MODULE_REGULATORY_CERT 0 263 #endif 264 265 #if RTW_DEF_MODULE_REGULATORY_CERT 266 /* force enable TX power by rate and TX power limit */ 267 #undef CONFIG_TXPWR_BY_RATE_EN 268 #undef CONFIG_TXPWR_LIMIT_EN 269 #define CONFIG_TXPWR_BY_RATE_EN 1 270 #define CONFIG_TXPWR_LIMIT_EN 1 271 #endif 272 273 #if !CONFIG_TXPWR_LIMIT && CONFIG_TXPWR_LIMIT_EN 274 #undef CONFIG_TXPWR_LIMIT 275 #define CONFIG_TXPWR_LIMIT 1 276 #endif 277 278 #ifdef CONFIG_RTW_IPCAM_APPLICATION 279 #undef CONFIG_TXPWR_BY_RATE_EN 280 #define CONFIG_TXPWR_BY_RATE_EN 1 281 #define CONFIG_RTW_CUSTOMIZE_BEEDCA 0x0000431C 282 #define CONFIG_RTW_CUSTOMIZE_BWMODE 0x00 283 #define CONFIG_RTW_CUSTOMIZE_RLSTA 0x7 284 #if defined(CONFIG_RTL8192E) || defined(CONFIG_RTL8192F) || defined(CONFIG_RTL8822B) 285 #define CONFIG_RTW_TX_2PATH_EN /* mutually incompatible with STBC_TX & Beamformer */ 286 #endif 287 #endif 288 /*#define CONFIG_EXTEND_LOWRATE_TXOP */ 289 290 #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_1SS 291 #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_1SS {0xFF, 0xFF, 0xFF, 0xFF} 292 #endif 293 #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_2SS 294 #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_2SS {0xFF, 0xFF, 0xFF, 0xFF} 295 #endif 296 #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_3SS 297 #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_3SS {0xFF, 0xFF, 0xFF, 0xFF} 298 #endif 299 #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_4SS 300 #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_4SS {0xFF, 0xFF, 0xFF, 0xFF} 301 #endif 302 303 #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_A 304 #define CONFIG_RTW_TARGET_TX_PWR_2G_A {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1} 305 #endif 306 307 #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_B 308 #define CONFIG_RTW_TARGET_TX_PWR_2G_B {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1} 309 #endif 310 311 #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_C 312 #define CONFIG_RTW_TARGET_TX_PWR_2G_C {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1} 313 #endif 314 315 #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_D 316 #define CONFIG_RTW_TARGET_TX_PWR_2G_D {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1} 317 #endif 318 319 #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_A 320 #define CONFIG_RTW_TARGET_TX_PWR_5G_A {-1, -1, -1, -1, -1, -1, -1, -1, -1} 321 #endif 322 323 #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_B 324 #define CONFIG_RTW_TARGET_TX_PWR_5G_B {-1, -1, -1, -1, -1, -1, -1, -1, -1} 325 #endif 326 327 #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_C 328 #define CONFIG_RTW_TARGET_TX_PWR_5G_C {-1, -1, -1, -1, -1, -1, -1, -1, -1} 329 #endif 330 331 #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_D 332 #define CONFIG_RTW_TARGET_TX_PWR_5G_D {-1, -1, -1, -1, -1, -1, -1, -1, -1} 333 #endif 334 335 #ifndef CONFIG_RTW_AMPLIFIER_TYPE_2G 336 #define CONFIG_RTW_AMPLIFIER_TYPE_2G 0 337 #endif 338 339 #ifndef CONFIG_RTW_AMPLIFIER_TYPE_5G 340 #define CONFIG_RTW_AMPLIFIER_TYPE_5G 0 341 #endif 342 343 #ifndef CONFIG_RTW_RFE_TYPE 344 #define CONFIG_RTW_RFE_TYPE 64 345 #endif 346 347 #ifndef CONFIG_RTW_GLNA_TYPE 348 #define CONFIG_RTW_GLNA_TYPE 0 349 #endif 350 351 #ifndef CONFIG_RTW_PLL_REF_CLK_SEL 352 #define CONFIG_RTW_PLL_REF_CLK_SEL 0x0F 353 #endif 354 355 #ifndef CONFIG_IFACE_NUMBER 356 #ifdef CONFIG_CONCURRENT_MODE 357 #define CONFIG_IFACE_NUMBER 2 358 #else 359 #define CONFIG_IFACE_NUMBER 1 360 #endif 361 #endif 362 363 #ifndef CONFIG_CONCURRENT_MODE 364 #if (CONFIG_IFACE_NUMBER > 1) 365 #error "CONFIG_IFACE_NUMBER over 1,but CONFIG_CONCURRENT_MODE not defined" 366 #endif 367 #endif 368 369 #if (CONFIG_IFACE_NUMBER == 0) 370 #error "CONFIG_IFACE_NUMBER cound not be 0 !!" 371 #endif 372 373 #if (CONFIG_IFACE_NUMBER > 4) 374 #error "Not support over 4 interfaces yet !!" 375 #endif 376 377 #if (CONFIG_IFACE_NUMBER > 8) /*IFACE_ID_MAX*/ 378 #error "HW count not support over 8 interfaces !!" 379 #endif 380 381 #if (CONFIG_IFACE_NUMBER > 2) 382 #define CONFIG_MI_WITH_MBSSID_CAM 383 384 #ifdef CONFIG_MI_WITH_MBSSID_CAM 385 #define CONFIG_MBSSID_CAM 386 #if defined(CONFIG_RUNTIME_PORT_SWITCH) 387 #undef CONFIG_RUNTIME_PORT_SWITCH 388 #endif 389 #endif 390 391 #ifdef CONFIG_AP_MODE 392 #define CONFIG_SUPPORT_MULTI_BCN 393 394 #define CONFIG_SWTIMER_BASED_TXBCN 395 396 #if defined(CONFIG_RTL8822B) || defined(CONFIG_RTL8821C) /* || defined(CONFIG_RTL8822C)*/ 397 #define CONFIG_FW_HANDLE_TXBCN 398 399 #ifdef CONFIG_FW_HANDLE_TXBCN 400 #ifdef CONFIG_SWTIMER_BASED_TXBCN 401 #undef CONFIG_SWTIMER_BASED_TXBCN 402 #endif 403 404 #define CONFIG_LIMITED_AP_NUM 4 405 #endif 406 #endif /*defined(CONFIG_RTL8822B) || defined(CONFIG_RTL8821C) */ /*|| defined(CONFIG_RTL8822C)*/ 407 #endif /*CONFIG_AP_MODE*/ 408 409 #if defined(CONFIG_RTL8822B) || defined(CONFIG_RTL8821C) || defined(CONFIG_RTL8822C) 410 #define CONFIG_CLIENT_PORT_CFG 411 #define CONFIG_NEW_NETDEV_HDL 412 #endif/*defined(CONFIG_RTL8822B) || defined(CONFIG_RTL8821C) || defined(CONFIG_RTL8822C)*/ 413 414 #endif/*(CONFIG_IFACE_NUMBER > 2)*/ 415 416 #define MACID_NUM_SW_LIMIT 32 417 #define SEC_CAM_ENT_NUM_SW_LIMIT 32 418 419 #if defined(CONFIG_RTL8812A) || defined(CONFIG_RTL8821A) || defined(CONFIG_RTL8814A) 420 #define CONFIG_IEEE80211_BAND_5GHZ 421 #endif 422 423 #if defined(CONFIG_WOWLAN) && (defined(CONFIG_RTL8822B) || defined(CONFIG_RTL8821C) || defined(CONFIG_RTL8814A) || defined(CONFIG_RTL8822C)) 424 #define CONFIG_WOW_PATTERN_HW_CAM 425 #endif 426 427 #ifndef CONFIG_TSF_UPDATE_PAUSE_FACTOR 428 #define CONFIG_TSF_UPDATE_PAUSE_FACTOR 200 429 #endif 430 431 #ifndef CONFIG_TSF_UPDATE_RESTORE_FACTOR 432 #define CONFIG_TSF_UPDATE_RESTORE_FACTOR 5 433 #endif 434 435 /* 436 Mark CONFIG_DEAUTH_BEFORE_CONNECT by Arvin 2015/07/20 437 If the failure of Wi-Fi connection is due to some irregular disconnection behavior (like unplug dongle, 438 power down etc.) in last time, we can unmark this flag to avoid some unpredictable response from AP. 439 */ 440 /*#define CONFIG_DEAUTH_BEFORE_CONNECT */ 441 442 /*#define CONFIG_WEXT_DONT_JOIN_BYSSID */ 443 /* #include <rtl871x_byteorder.h> */ 444 445 446 /*#define CONFIG_DOSCAN_IN_BUSYTRAFFIC */ 447 /*#define CONFIG_PHDYM_FW_FIXRATE */ /* Another way to fix tx rate */ 448 449 /*Don't release SDIO irq in suspend/resume procedure*/ 450 #define CONFIG_RTW_SDIO_KEEP_IRQ 0 451 452 /* 453 * Add by Lucas@2016/02/15 454 * For RX Aggregation 455 */ 456 #if defined(CONFIG_SDIO_HCI) || defined(CONFIG_USB_RX_AGGREGATION) 457 #define RTW_RX_AGGREGATION 458 #endif /* CONFIG_SDIO_HCI || CONFIG_USB_RX_AGGREGATION */ 459 460 #ifdef CONFIG_RTW_HOSTAPD_ACS 461 #if defined(CONFIG_RTL8812A) || defined(CONFIG_RTL8821A) || defined(CONFIG_RTL8814A) 462 #ifndef CONFIG_FIND_BEST_CHANNEL 463 #define CONFIG_FIND_BEST_CHANNEL 464 #endif 465 #else 466 #ifdef CONFIG_FIND_BEST_CHANNEL 467 #undef CONFIG_FIND_BEST_CHANNEL 468 #endif 469 #ifndef CONFIG_RTW_ACS 470 #define CONFIG_RTW_ACS 471 #endif 472 #ifndef CONFIG_BACKGROUND_NOISE_MONITOR 473 #define CONFIG_BACKGROUND_NOISE_MONITOR 474 #endif 475 #endif 476 #endif 477 478 #ifdef CONFIG_RTW_80211K 479 #ifndef CONFIG_RTW_ACS 480 #define CONFIG_RTW_ACS 481 #endif 482 #endif /*CONFIG_RTW_80211K*/ 483 484 #ifdef DBG_CONFIG_ERROR_RESET 485 #ifndef CONFIG_IPS 486 #define CONFIG_IPS 487 #endif 488 #endif 489 490 /* IPS */ 491 #ifndef RTW_IPS_MODE 492 #if defined(CONFIG_IPS) 493 #define RTW_IPS_MODE 1 494 #else 495 #define RTW_IPS_MODE 0 496 #endif 497 #endif /* !RTW_IPS_MODE */ 498 499 #if (RTW_IPS_MODE > 1 || RTW_IPS_MODE < 0) 500 #error "The CONFIG_IPS_MODE value is wrong. Please follow HowTo_enable_the_power_saving_functionality.pdf.\n" 501 #endif 502 503 /* LPS */ 504 #ifndef RTW_LPS_MODE 505 #if defined(CONFIG_LPS_PG) || defined(CONFIG_LPS_PG_DDMA) 506 #define RTW_LPS_MODE 3 507 #elif defined(CONFIG_LPS_LCLK) 508 #define RTW_LPS_MODE 2 509 #elif defined(CONFIG_LPS) 510 #define RTW_LPS_MODE 1 511 #else 512 #define RTW_LPS_MODE 0 513 #endif 514 #endif /* !RTW_LPS_MODE */ 515 516 #if (RTW_LPS_MODE > 3 || RTW_LPS_MODE < 0) 517 #error "The CONFIG_LPS_MODE value is wrong. Please follow HowTo_enable_the_power_saving_functionality.pdf.\n" 518 #endif 519 520 #ifndef RTW_LPS_1T1R 521 #define RTW_LPS_1T1R 0 522 #endif 523 524 #ifndef RTW_WOW_LPS_1T1R 525 #define RTW_WOW_LPS_1T1R 0 526 #endif 527 528 /* WOW LPS */ 529 #ifndef RTW_WOW_LPS_MODE 530 #if defined(CONFIG_LPS_PG) || defined(CONFIG_LPS_PG_DDMA) 531 #define RTW_WOW_LPS_MODE 3 532 #elif defined(CONFIG_LPS_LCLK) 533 #define RTW_WOW_LPS_MODE 2 534 #elif defined(CONFIG_LPS) 535 #define RTW_WOW_LPS_MODE 1 536 #else 537 #define RTW_WOW_LPS_MODE 0 538 #endif 539 #endif /* !RTW_WOW_LPS_MODE */ 540 541 #if (RTW_WOW_LPS_MODE > 3 || RTW_WOW_LPS_MODE < 0) 542 #error "The RTW_WOW_LPS_MODE value is wrong. Please follow HowTo_enable_the_power_saving_functionality.pdf.\n" 543 #endif 544 545 #ifdef RTW_REDUCE_SCAN_SWITCH_CH_TIME 546 #ifndef CONFIG_RTL8822B 547 #error "Only 8822B support RTW_REDUCE_SCAN_SWITCH_CH_TIME" 548 #endif 549 #ifndef RTW_CHANNEL_SWITCH_OFFLOAD 550 #define RTW_CHANNEL_SWITCH_OFFLOAD 551 #endif 552 #endif 553 554 #define CONFIG_RTW_TPT_MODE 555 556 #ifdef CONFIG_PCI_BCN_POLLING 557 #define CONFIG_BCN_ICF 558 #endif 559 560 #ifndef CONFIG_PCI_MSI 561 #define CONFIG_RTW_PCI_MSI_DISABLE 562 #endif 563 564 #endif /* __DRV_CONF_H__ */ 565