/* * Headler file defines some configure options and basic types * * $Id: 8192cd_cfg.h,v 1.59.2.26 2011/01/10 07:49:07 jerryko Exp $ * * Copyright (c) 2009 Realtek Semiconductor Corp. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef _8192CD_CFG_H_ #define _8192CD_CFG_H_ //#define _LITTLE_ENDIAN_ //#define _BIG_ENDIAN_ #ifdef __MIPSEB__ #ifndef _BIG_ENDIAN_ #define _BIG_ENDIAN_ #endif #ifdef _LITTLE_ENDIAN_ #undef _LITTLE_ENDIAN_ #endif //### add by sen_liu 2011.4.14 CONFIG_NET_PCI defined in V2.4 and CONFIG_PCI // define now to replace it. However,some modules still use CONFIG_NET_PCI #ifdef CONFIG_PCI #define CONFIG_NET_PCI #endif //### end #endif //__MIPSEB__ #ifdef __KERNEL__ #include #if LINUX_VERSION_CODE >= 0x020615 // linux 2.6.21 #define LINUX_2_6_21_ #endif #if LINUX_VERSION_CODE >= 0x020616 // linux 2.6.22 #define LINUX_2_6_22_ #endif #if LINUX_VERSION_CODE >= 0x020618 // linux 2.6.24 #define LINUX_2_6_24_ #endif #if LINUX_VERSION_CODE >= 0x02061B // linux 2.6.27 #define LINUX_2_6_27_ #endif #if LINUX_VERSION_CODE > 0x020600 #define __LINUX_2_6__ #endif #ifdef LINUX_2_6_22_ #include #include #include #else #include #endif #endif // __KERNEL__ #ifdef __ECOS #include #include #define CONFIG_RTL_819X #define CONFIG_RTL8196C #ifndef RTLPKG_DEVS_ETH_RLTK_819X_RX_ZERO_COPY #define CONFIG_RTL8190_PRIV_SKB #endif #endif /* * Following Definition Sync 2.4/2.6 SDK Definitions */ #if !defined(__LINUX_2_6__) #if defined(CONFIG_RTL8196B) || defined(CONFIG_RTL8196C) || defined(CONFIG_RTL8198) #define CONFIG_RTL_819X #endif #if defined(CONFIG_RTL8198) #define CONFIG_RTL_8198 #endif #if defined(CONFIG_RTL8196C) #define CONFIG_RTL_8196C #endif #define BSP_PCIE0_D_CFG0 PCIE0_D_CFG0 #define BSP_PCIE1_D_CFG0 PCIE0_D_CFG0 #define BSP_PCIE0_H_CFG PCIE0_H_CFG #define BSP_PCIE0_H_EXT PCIE0_RC_EXT_BASE #define BSP_PCIE0_H_MDIO (BSP_PCIE0_H_EXT + 0x00) #define BSP_PCIE0_H_INTSTR (BSP_PCIE0_H_EXT + 0x04) #define BSP_PCIE0_H_PWRCR (BSP_PCIE0_H_EXT + 0x08) #define BSP_PCIE0_H_IPCFG (BSP_PCIE0_H_EXT + 0x0C) #define BSP_PCIE0_H_MISC (BSP_PCIE0_H_EXT + 0x10) #define BSP_PCIE1_H_CFG PCIE1_H_CFG #define BSP_PCIE1_H_EXT PCIE1_RC_EXT_BASE #define BSP_PCIE1_H_MDIO (BSP_PCIE1_H_EXT + 0x00) #define BSP_PCIE1_H_INTSTR (BSP_PCIE1_H_EXT + 0x04) #define BSP_PCIE1_H_PWRCR (BSP_PCIE1_H_EXT + 0x08) #define BSP_PCIE1_H_IPCFG (BSP_PCIE1_H_EXT + 0x0C) #define BSP_PCIE1_H_MISC (BSP_PCIE1_H_EXT + 0x10) #endif // !defined(__LINUX_2_6__) #ifndef CONFIG_RTL_8198_AP_ROOT #define CONFIG_RTL_CUSTOM_PASSTHRU #endif #define CONFIG_RTL_CUSTOM_PASSTHRU #if defined(CONFIG_RTL_CUSTOM_PASSTHRU) #define CONFIG_RTL_CUSTOM_PASSTHRU_PPPOE #define IP6_PASSTHRU_MASK 0x1 #if defined(CONFIG_RTL_CUSTOM_PASSTHRU_PPPOE) #define PPPOE_PASSTHRU_MASK 0x1<<1 #endif #if defined(CONFIG_RTL_92D_SUPPORT) #define WISP_WLAN_IDX_MASK 0xF0 #define WISP_WLAN_IDX_RIGHT_SHIFT 4 #endif #endif /* CONFIG_RTL_CUSTOM_PASSTHRU */ #if (defined(CONFIG_RTL_92C_SUPPORT)&&defined(CONFIG_RTL_92D_SUPPORT))||defined(CONFIG_RTL_92D_DMDP)||defined(CONFIG_RTL_DUAL_PCIESLOT_BIWLAN) #define CONCURRENT_MODE #ifdef CONFIG_RTL_92D_SMART_CONCURRENT #define SMART_CONCURRENT_92D #endif #if defined(CONFIG_RTL_92D_DMDP) && !defined(CONFIG_RTL_DUAL_PCIESLOT_BIWLAN) && !defined(CONFIG_RTL_92C_SUPPORT) && !defined(CONFIG_RTL_DUAL_PCIESLOT_BIWLAN_D) #define DUALBAND_ONLY #endif #endif #if defined(CONFIG_RTL_92D_SUPPORT) && defined(CONFIG_RTL_8198) /* Currenlty 98 support 92D should use pcie slot 1 */ #if defined(CONFIG_RTK_VOIP_BOARD) #define RTL_USED_PCIE_SLOT 0 #else #define RTL_USED_PCIE_SLOT 1 #endif /* CONFIG_RTK_VOIP_BOARD */ #else #define RTL_USED_PCIE_SLOT 0 #endif #if defined(CONFIG_RTL_8198) #if defined(CONFIG_RTK_VOIP_BOARD) #define RTL_MAX_PCIE_SLOT_NUM 1 #else #define RTL_MAX_PCIE_SLOT_NUM 2 #endif /*CONFIG_RTK_VOIP_BOARD*/ #if defined(CONFIG_RTL_92D_SUPPORT) #if defined(CONFIG_RTK_VOIP_BOARD) #define RTL_USED_PCIE_SLOT 0 #else #define RTL_USED_PCIE_SLOT 1 #endif /*ONFIG_RTK_VOIP_BOARD*/ #else /* defined(CONFIG_RTL_92D_SUPPORT) */ #define RTL_USED_PCIE_SLOT 0 #endif /* defined(CONFIG_RTL_92D_SUPPORT) */ #else /* defined(CONFIG_RTL_8198) */ #define RTL_MAX_PCIE_SLOT_NUM 1 #define RTL_USED_PCIE_SLOT 0 #endif /* defined(CONFIG_RTL_8198) */ #ifdef CONFIG_RTK_MESH #include "mesh_ext/mesh_cfg.h" #endif #if defined(CONFIG_RTL8196B) || defined(CONFIG_RTL_819X) #if defined(CONFIG_RTL8196B_AP_ROOT) || defined(CONFIG_RTL8196B_TR) || defined(CONFIG_RTL8196B_GW) || defined(CONFIG_RTL_8196C_GW) || defined(CONFIG_RTL_8198_GW) || defined(CONFIG_RTL8196B_KLD) || defined(CONFIG_RTL8196B_TLD) || defined(CONFIG_RTL8196C_AP_ROOT) || defined(CONFIG_RTL8196C_AP_HCM) || defined(CONFIG_RTL8198_AP_ROOT) || defined(CONFIG_RTL_8198_AP_ROOT) || defined(CONFIG_RTL8196C_CLIENT_ONLY) || defined(CONFIG_RTL_8198_NFBI_BOARD) || defined(CONFIG_RTL8196C_KLD) || defined(CONFIG_RTL8196C_EC) || defined(CONFIG_RTL_8196C_iNIC) || defined(CONFIG_RTL_8198_INBAND_AP) #define USE_RTL8186_SDK #endif #endif #if defined(_BIG_ENDIAN_) || defined(_LITTLE_ENDIAN_) #elif defined(_BIG_ENDIAN_) && defined(_LITTLE_ENDIAN_) #error "One one ENDIAN should be specified\n" #else #error "Please specify your ENDIAN type!\n" #endif #define PCI_CONFIG_COMMAND (wdev->conf_addr+4) #define PCI_CONFIG_LATENCY (wdev->conf_addr+0x0c) #define PCI_CONFIG_BASE0 (wdev->conf_addr+0x10) #define PCI_CONFIG_BASE1 (wdev->conf_addr+0x18) #define MAX_NUM(_x_, _y_) (((_x_)>(_y_))? (_x_) : (_y_)) #define MIN_NUM(_x_, _y_) (((_x_)<(_y_))? (_x_) : (_y_)) //------------------------------------------------------------- // Driver version information //------------------------------------------------------------- #define DRV_VERSION_H 1 #define DRV_VERSION_L 6 #define DRV_RELDATE "2011-07-18" #ifdef LINUX_2_6_22_ #define DRV_NAME "RTL8192C/RTL8188C" #else #define DRV_NAME "RTL8192C-RTL8188C" #endif //------------------------------------------------------------- // Will check type for endian issue when access IO and memory //------------------------------------------------------------- #define CHECK_SWAP //------------------------------------------------------------- // Defined when include proc file system //------------------------------------------------------------- #define INCLUDE_PROC_FS #if defined(CONFIG_PROC_FS) && defined(INCLUDE_PROC_FS) #define _INCLUDE_PROC_FS_ #endif //------------------------------------------------------------- // Debug function //------------------------------------------------------------- //#define _DEBUG_RTL8192CD_ // defined when debug print is used #define _IOCTL_DEBUG_CMD_ // defined when read/write register/memory command is used in ioctl //------------------------------------------------------------- // Defined when internal DRAM is used for sw encryption/decryption //------------------------------------------------------------- #ifdef __MIPSEB__ // disable internal ram for nat speedup //#define _USE_DRAM_ #endif //------------------------------------------------------------- // Support 8188C/8192C test chip //------------------------------------------------------------- #if !defined(CONFIG_RTL8196B_GW_8M) //&&!defined(CONFIG_RTL_92D_SUPPORT) #define TESTCHIP_SUPPORT #endif //------------------------------------------------------------- // Support software tx queue // ------------------------------------------------------------ #define SW_TX_QUEUE #if defined(CONFIG_RTL_8198) #define MAX_AGGR_NUM 16 #else #define MAX_AGGR_NUM 8 #endif #define MIN_AGGR_NUM 8 //------------------------------------------------------------- // Support Tx Report //------------------------------------------------------------- //#ifndef CONFIG_RTL_92D_SUPPORT #define TXREPORT #ifdef TXREPORT #define DETECT_STA_EXISTANCE #endif //#endif //#define LEAVESTADETECT //------------------------------------------------------------- // PCIe power saving function //------------------------------------------------------------- #ifdef CONFIG_PCIE_POWER_SAVING #if !defined(CONFIG_NET_PCI) && !defined(CONFIG_RTL_8196CS) #define PCIE_POWER_SAVING #endif #if defined(CONFIG_RTL_92D_SUPPORT) && defined(CONFIG_RTL_92C_SUPPORT) #undef PCIE_POWER_SAVING #endif #if defined(CONFIG_RTL_92D_SUPPORT) && defined(CONFIG_RTL_8198) #undef PCIE_POWER_SAVING #endif #endif #ifdef _SINUX_ #define PCIE_POWER_SAVING #endif #ifdef PCIE_POWER_SAVING #define GPIO_WAKEPIN #define FIB_96C // #define PCIE_POWER_SAVING_DEBUG // #define ASPM_ENABLE #ifdef PCIE_POWER_SAVING_DEBUG #define PCIE_L2_ENABLE #endif #define CONFIG_SLOT0H 0xb8b00000 #define CONFIG_SLOT0S 0xb8b10000 #define CONFIG_SLOT1H 0xb8b20000 #define CONFIG_SLOT1S 0xb8b30000 #if defined(CONFIG_RTL_8198) #define CFG_92C_SLOTH CONFIG_SLOT0H #define CFG_92C_SLOTS CONFIG_SLOT0S #if (RTL_USED_PCIE_SLOT==1) #define CFG_92D_SLOTH CONFIG_SLOT1H #define CFG_92D_SLOTS CONFIG_SLOT1S #else #define CFG_92D_SLOTH CONFIG_SLOT0H #define CFG_92D_SLOTS CONFIG_SLOT0S #endif #elif defined(CONFIG_RTL_8196C) #define CFG_92C_SLOTH CONFIG_SLOT0H #define CFG_92C_SLOTS CONFIG_SLOT0S #define CFG_92D_SLOTH CONFIG_SLOT0H #define CFG_92D_SLOTS CONFIG_SLOT0S #endif #endif //------------------------------------------------------------- // WDS function support //------------------------------------------------------------- #if defined(CONFIG_RTL_WDS_SUPPORT) #define WDS // #define LAZY_WDS #endif //------------------------------------------------------------- // Pass EAP packet by event queue //------------------------------------------------------------- #define EAP_BY_QUEUE #undef EAPOLSTART_BY_QUEUE // jimmylin: don't pass eapol-start up // due to XP compatibility issue //#define USE_CHAR_DEV #define USE_PID_NOTIFY //------------------------------------------------------------- // WPA Supplicant //------------------------------------------------------------- //#define WIFI_WPAS #ifdef WIFI_WPAS #ifndef WIFI_HAPD #define WIFI_HAPD #endif #ifndef CLIENT_MODE #define CLIENT_MODE #endif #endif //------------------------------------------------------------- // Client mode function support //------------------------------------------------------------- #if defined(CONFIG_RTL_CLIENT_MODE_SUPPORT) #define CLIENT_MODE #endif #ifdef CLIENT_MODE #define RTK_BR_EXT // Enable NAT2.5 and MAC clone support #define CL_IPV6_PASS // Enable IPV6 pass-through. RTK_BR_EXT must be defined #endif //------------------------------------------------------------- // Defined when WPA2 is used //------------------------------------------------------------- #define RTL_WPA2 #define RTL_WPA2_PREAUTH //------------------------------------------------------------- // MP test //------------------------------------------------------------- #if !defined(CONFIG_RTL8196B_GW_8M) || defined(CONFIG_RTL8196B_GW_MP) #define MP_TEST #ifdef CONFIG_RTL_92D_SUPPORT //#define TEMP_MP_92D #endif #endif //------------------------------------------------------------- // MIC error test //------------------------------------------------------------- //#define MICERR_TEST //------------------------------------------------------------- // Log event //------------------------------------------------------------- #define EVENT_LOG //------------------------------------------------------------- // Tx/Rx data path shortcut //------------------------------------------------------------- #define TX_SHORTCUT #define RX_SHORTCUT #if defined(CONFIG_RTK_MESH) && defined(RX_SHORTCUT) #define RX_RL_SHORTCUT #endif #define BR_SHORTCUT #if defined(CONFIG_RTK_MESH) && defined(TX_SHORTCUT) #define MESH_TX_SHORTCUT #endif #define TX_SC_ENTRY_NUM 1 //------------------------------------------------------------- // back to back test //------------------------------------------------------------- //#define B2B_TEST //------------------------------------------------------------- // enable e-fuse read write //------------------------------------------------------------- #ifdef CONFIG_ENABLE_EFUSE #define EN_EFUSE #endif //------------------------------------------------------------- // new Auto channel //------------------------------------------------------------- #define CONFIG_RTL_NEW_AUTOCH //------------------------------------------------------------- // new IQ calibration for 92c / 88c //------------------------------------------------------------- #define CONFIG_RTL_NEW_IQK //------------------------------------------------------------- // noise control //------------------------------------------------------------- #ifdef CONFIG_RTL_92C_SUPPORT //#define CONFIG_RTL_NOISE_CONTROL_92C #endif //------------------------------------------------------------- // Universal Repeater (support AP + Infra client concurrently) //------------------------------------------------------------- #if defined(CONFIG_RTL_REPEATER_MODE_SUPPORT) #define UNIVERSAL_REPEATER #endif //------------------------------------------------------------- // Check hangup for Tx queue //------------------------------------------------------------- #define CHECK_HANGUP #ifdef CHECK_HANGUP #define CHECK_TX_HANGUP #define FAST_RECOVERY #endif //------------------------------------------------------------- // DFS //------------------------------------------------------------- #ifdef CONFIG_RTL_DFS_SUPPORT #define DFS #endif //------------------------------------------------------------- // Driver based WPA PSK feature //------------------------------------------------------------- #define INCLUDE_WPA_PSK //------------------------------------------------------------- // RF Fine Tune //------------------------------------------------------------- //#define RF_FINETUNE //------------------------------------------------------------- // Wifi WMM //------------------------------------------------------------- #define WIFI_WMM #ifdef WIFI_WMM #define WMM_APSD // WMM Power Save #define RTL_MANUAL_EDCA // manual EDCA parameter setting #endif //------------------------------------------------------------- // Hostapd //------------------------------------------------------------- //#ifdef CONFIG_RTL_HOSTAPD_SUPPORT //#define WIFI_HAPD //#endif #ifdef WIFI_HAPD //#define HAPD_DRV_PSK_WPS #ifndef CONFIG_RTL_COMAPI_WLTOOLS #define CONFIG_RTL_COMAPI_WLTOOLS #endif #ifndef HAPD_DRV_PSK_WPS #undef EAP_BY_QUEUE #undef INCLUDE_WPA_PSK #endif #endif //------------------------------------------------------------- // IO mapping access //------------------------------------------------------------- //#define IO_MAPPING //------------------------------------------------------------- // Wifi Simple Config support //------------------------------------------------------------- #define WIFI_SIMPLE_CONFIG /* WPS2DOTX */ #define WPS2DOTX #define OUI_LEN 4 #ifdef WPS2DOTX #define SUPPORT_PROBE_REQ_REASSEM //for AP mode #define SUPPORT_PROBE_RSP_REASSEM // for STA mode #define WPS2DOTX_DEBUG #endif #ifdef WPS2DOTX_DEBUG //0614 for wps2.0 trace #define SECU_DEBUG(fmt, args...) printk("[secu]%s %d:"fmt, __FUNCTION__,__LINE__, ## args) #define SME_DEBUG(fmt, args...) printk("[sme]%s %d:"fmt,__FUNCTION__ , __LINE__ , ## args) #else #define SECU_DEBUG(fmt, args...) #define SME_DEBUG(fmt, args...) #endif /* WPS2DOTX */ //------------------------------------------------------------- // Support Multiple BSSID //------------------------------------------------------------- #if defined(CONFIG_RTL_VAP_SUPPORT) #define MBSSID #endif #ifdef MBSSID #define RTL8192CD_NUM_VWLAN 4 //#define FW_SW_BEACON #else #ifdef CONFIG_RTL8671 #define RTL8192CD_NUM_VWLAN 0 #endif #endif //------------------------------------------------------------- // Support Tx Descriptor Reservation for each interface //------------------------------------------------------------- #ifdef CONFIG_RTL_TX_RESERVE_DESC #if defined(UNIVERSAL_REPEATER) || defined(MBSSID) //#define RESERVE_TXDESC_FOR_EACH_IF #endif #endif //------------------------------------------------------------- // Group BandWidth Control //------------------------------------------------------------- //#define GBWC //------------------------------------------------------------- // Support 802.11 SNMP MIB //------------------------------------------------------------- //#define SUPPORT_SNMP_MIB //------------------------------------------------------------- // Driver-MAC loopback //------------------------------------------------------------- //#define DRVMAC_LB //------------------------------------------------------------- // Use perfomance profiling //------------------------------------------------------------- //#define PERF_DUMP //------------------------------------------------------------- // 1x1 Antenna Diversity //------------------------------------------------------------- #ifdef CONFIG_ANT_SWITCH //#define SW_ANT_SWITCH #define HW_ANT_SWITCH #endif //------------------------------------------------------------- // WPAI performance issue //------------------------------------------------------------- #ifdef CONFIG_RTL_WAPI_SUPPORT //#define IRAM_FOR_WIRELESS_AND_WAPI_PERFORMANCE #if defined(CONFIG_RTL8192CD) // if CONFIG_RTL_HW_WAPI_SUPPORT defined, { SWCRYPTO=1: sw wapi; SWCRYPTO=0: hw wapi. } // if CONFIG_RTL_HW_WAPI_SUPPORT not defined, { SWCRYPTO=1: sw wapi; SWCRYPTO=0: should not be used! } #define CONFIG_RTL_HW_WAPI_SUPPORT 1 #endif #endif //------------------------------------------------------------- // Use local ring for pre-alloc Rx buffer. // If no defined, will use kernel skb que //------------------------------------------------------------- #define RTK_QUE //------------------------------------------------------------- //Support IP multicast->unicast //------------------------------------------------------------- #define SUPPORT_TX_MCAST2UNI //#define MCAST2UI_REFINE #ifdef CLIENT_MODE #define SUPPORT_RX_UNI2MCAST #endif /* for cameo feature*/ #ifdef CONFIG_RTL865X_CMO #define IGMP_FILTER_CMO #endif // Support IPV6 multicast->unicast #ifdef SUPPORT_TX_MCAST2UNI #define TX_SUPPORT_IPV6_MCAST2UNI #endif //------------------------------------------------------------- // Support USB tx rate adaptive //------------------------------------------------------------- // define it always for object code release #ifdef CONFIG_USB #define USB_PKT_RATE_CTRL_SUPPORT #endif //------------------------------------------------------------- // Support Tx AMSDU //------------------------------------------------------------- //#define SUPPORT_TX_AMSDU //------------------------------------------------------------- // Mesh Network //------------------------------------------------------------- #ifdef CONFIG_RTK_MESH #define _MESH_ACL_ENABLE_ /*need check Tx AMSDU dependency ; 8196B no support now */ #ifdef SUPPORT_TX_AMSDU #define MESH_AMSDU #endif //#define MESH_ESTABLISH_RSSI_THRESHOLD //#define MESH_BOOTSEQ_AUTH #endif // CONFIG_RTK_MESH //------------------------------------------------------------- // Realtek proprietary wake up on wlan mode //------------------------------------------------------------- //#define RTK_WOW //------------------------------------------------------------- // Support 802.11d //------------------------------------------------------------- //#define DOT11D //------------------------------------------------------------- // Use static buffer for STA private buffer //------------------------------------------------------------- #if !defined(CONFIG_RTL8196B_GW_8M) && !defined(CONFIG_WIRELESS_LAN_MODULE) #define PRIV_STA_BUF #endif //------------------------------------------------------------- // Do not drop packet immediately when rx buffer empty //------------------------------------------------------------- #ifdef CONFIG_RTL8190_PRIV_SKB #define DELAY_REFILL_RX_BUF #endif //------------------------------------------------------------- // WiFi 11n 20/40 coexistence //------------------------------------------------------------- #define WIFI_11N_2040_COEXIST //------------------------------------------------------------- // Add TX power by command //------------------------------------------------------------- #define ADD_TX_POWER_BY_CMD //------------------------------------------------------------- // Merge firmware and phy parameter files into binary //------------------------------------------------------------- #define MERGE_FW //------------------------------------------------------------- // Do Rx process in tasklet //------------------------------------------------------------- //#define RX_TASKLET //------------------------------------------------------------- // Support external high power PA //------------------------------------------------------------- #ifdef CONFIG_HIGH_POWER_EXT_PA #define HIGH_POWER_EXT_PA #endif //------------------------------------------------------------- // Cache station info for bridge //------------------------------------------------------------- //#define RTL_CACHED_BR_STA //------------------------------------------------------------- // Use default keys of WEP (instead of keymapping keys) //------------------------------------------------------------- //#define USE_WEP_DEFAULT_KEY //------------------------------------------------------------- // Concurrent support up to 64 clients //------------------------------------------------------------- //#define STA_EXT //------------------------------------------------------------- // Auto test support //------------------------------------------------------------- #ifndef CONFIG_RTL_92D_SUPPORT #define AUTO_TEST_SUPPORT #endif //------------------------------------------------------------- // to prevent broadcast storm attacks //------------------------------------------------------------- #define PREVENT_BROADCAST_STORM 1 #ifdef PREVENT_BROADCAST_STORM /* * NOTE: The driver will skip the other broadcast packets if the system free memory is less than FREE_MEM_LOWER_BOUND * and the broadcast packet amount is larger than BROADCAST_STORM_THRESHOLD in one second period. */ #define BROADCAST_STORM_THRESHOLD 8 #define FREE_MEM_LOWER_BOUND 800 //uint: KBytes #endif //------------------------------------------------------------- // Video streaming refine //------------------------------------------------------------- #ifdef CONFIG_RTK_VLC_SPEEDUP_SUPPORT #define VIDEO_STREAMING_REFINE #endif //------------------------------------------------------------- // Rx buffer gather feature //------------------------------------------------------------- #define RX_BUFFER_GATHER //------------------------------------------------------------- // A4 client support //------------------------------------------------------------- //#define A4_STA #if defined(A4_STA) && defined(WDS) #error "A4_STA and WDS can't be used together\n" #endif //------------------------------------------------------------- // Avoid deadlock for SMP(Symmetrical Multi-Processing) architecture //------------------------------------------------------------- //#define SMP_SYNC //------------------------------------------------------------- // NOT use Realtek specified BSP //------------------------------------------------------------- //#define NOT_RTK_BSP //------------------------------------------------------------- // No padding between members in the structure for specified CPU //------------------------------------------------------------- //#define PACK_STRUCTURE /*********************************************************************/ /* some definitions in 8192cd driver, we set them as NULL definition */ /*********************************************************************/ #ifdef USE_RTL8186_SDK #ifdef CONFIG_WIRELESS_LAN_MODULE #define __DRAM_IN_865X #define __IRAM_IN_865X #else #define __DRAM_IN_865X __attribute__ ((section(".dram-rtkwlan"))) #define __IRAM_IN_865X __attribute__ ((section(".iram-rtkwlan"))) #endif #define RTL8190_DIRECT_RX /* For packet RX : directly receive the packet instead of queuing it */ #define RTL8190_ISR_RX /* process RXed packet in interrupt service routine: It become useful only when RTL8190_DIRECT_RX is defined */ #ifndef CONFIG_WIRELESS_LAN_MODULE #ifndef CONCURRENT_MODE #define RTL8192CD_VARIABLE_USED_DMEM /* Use DMEM for some critical variables */ #endif #endif #else // not USE_RTL8186_SDK #define __DRAM_IN_865X #define __IRAM_IN_865X #endif #undef __MIPS16 #if defined(CONFIG_WIRELESS_LAN_MODULE) #define __MIPS16 #else #define __MIPS16 __attribute__ ((mips16)) #endif #ifdef IRAM_FOR_WIRELESS_AND_WAPI_PERFORMANCE #define __IRAM_WLAN_HI __attribute__ ((section(".iram-wapi"))) #define __DRAM_WLAN_HI __attribute__ ((section(".dram-wapi"))) #endif //------------------------------------------------------------- // Kernel 2.6 specific config //------------------------------------------------------------- #ifdef __LINUX_2_6__ #define USE_RLX_BSP #ifndef CONCURRENT_MODE #define RTL8192CD_VARIABLE_USED_DMEM #endif #ifndef RX_TASKLET #define RX_TASKLET #endif #endif #if 0 //------------------------------------------------------------- // TR define flag //------------------------------------------------------------- #if defined(CONFIG_RTL8196B_TR) || defined(CONFIG_RTL8196C_EC) #ifndef INCLUDE_WPA_PSK #define INCLUDE_WPA_PSK #endif #ifdef UNIVERSAL_REPEATER #undef UNIVERSAL_REPEATER #endif #ifdef CLIENT_MODE #undef CLIENT_MODE #undef RTK_BR_EXT #endif #ifndef WIFI_SIMPLE_CONFIG #define WIFI_SIMPLE_CONFIG #endif #ifdef GBWC #undef GBWC #endif #ifdef SUPPORT_SNMP_MIB #undef SUPPORT_SNMP_MIB #endif #endif // CONFIG_RTL8196B_TR //------------------------------------------------------------- // AC define flag //------------------------------------------------------------- #ifdef CONFIG_RTL865X_AC #ifndef INCLUDE_WPA_PSK #define INCLUDE_WPA_PSK #endif #ifdef UNIVERSAL_REPEATER #undef UNIVERSAL_REPEATER #endif #ifdef CLIENT_MODE #undef CLIENT_MODE #undef RTK_BR_EXT #endif #ifndef WIFI_SIMPLE_CONFIG #define WIFI_SIMPLE_CONFIG #endif #ifdef GBWC #undef GBWC #endif #ifdef SUPPORT_SNMP_MIB #undef SUPPORT_SNMP_MIB #endif #endif // CONFIG_RTL865X_AC #endif //#if 0 //------------------------------------------------------------- // Config Little Endian CPU //------------------------------------------------------------- #ifdef _LITTLE_ENDIAN_ #ifndef NOT_RTK_BSP #define NOT_RTK_BSP #endif #ifndef CONFIG_WIRELESS_LAN_MODULE #define CONFIG_WIRELESS_LAN_MODULE #endif #ifdef __MIPSEB__ #undef __MIPSEB__ #endif #ifdef _BIG_ENDIAN_ #undef _BIG_ENDIAN_ #endif #endif //_LITTLE_ENDIAN_ //------------------------------------------------------------- // Config if NOT use Realtek specified BSP //------------------------------------------------------------- #ifdef NOT_RTK_BSP #ifndef CONFIG_NET_PCI #define CONFIG_NET_PCI #endif #ifndef __LINUX_2_6__ #define del_timer_sync del_timer #endif #if LINUX_VERSION_CODE >= 0x02061D // linux 2.6.29 #define NETDEV_NO_PRIV #endif #ifndef LINUX_2_6_22_ #define CONFIG_COMPAT_NET_DEV_OPS #endif #ifdef CONFIG_RTL_CUSTOM_PASSTHRU #undef CONFIG_RTL_CUSTOM_PASSTHRU #endif #ifdef CONFIG_RTL_CUSTOM_PASSTHRU_PPPOE #undef CONFIG_RTL_CUSTOM_PASSTHRU_PPPOE #endif #ifdef _USE_DRAM_ #undef _USE_DRAM_ #endif #ifdef CHECK_SWAP #undef CHECK_SWAP #endif #ifdef EVENT_LOG #undef EVENT_LOG #endif #ifdef BR_SHORTCUT #undef BR_SHORTCUT #endif #ifdef RTK_BR_EXT #undef RTK_BR_EXT #endif #ifdef UNIVERSAL_REPEATER #undef UNIVERSAL_REPEATER #endif #ifdef GBWC #undef GBWC #endif #ifdef USE_IO_OPS #undef USE_IO_OPS #endif #ifdef IO_MAPPING #undef IO_MAPPING #endif #ifdef RTK_QUE #undef RTK_QUE #endif #ifdef USE_RLX_BSP #undef USE_RLX_BSP #endif #ifdef RX_BUFFER_GATHER #undef RX_BUFFER_GATHER #endif #endif //NOT_RTK_BSP //------------------------------------------------------------- // Define flag of EC system //------------------------------------------------------------- #ifdef CONFIG_RTL8196C_EC #ifndef USE_WEP_DEFAULT_KEY #define USE_WEP_DEFAULT_KEY #endif #ifdef TESTCHIP_SUPPORT #undef TESTCHIP_SUPPORT #endif #endif //------------------------------------------------------------- // MSC define flag //------------------------------------------------------------- #ifdef _SINUX_ #define CONFIG_MSC #endif #ifdef CONFIG_MSC #define INCLUDE_WPS #ifdef CHECK_HANGUP #undef CHECK_HANGUP #endif #ifndef USE_WEP_DEFAULT_KEY //2010.4.23 Fred Fu open it to support wep key index 1 2 3 #define USE_WEP_DEFAULT_KEY #endif #ifdef WIFI_SIMPLE_CONFIG #ifdef INCLUDE_WPS #define USE_PORTING_OPENSSL #endif #endif #endif //------------------------------------------------------------- // Define flag of 8672 system //------------------------------------------------------------- #ifdef CONFIG_RTL8672 #undef DRV_RELDATE #define DRV_RELDATE "2009-11-18/2010-0104" #ifndef RX_TASKLET #define RX_TASKLET #endif #ifdef RTL8190_DIRECT_RX #undef RTL8190_DIRECT_RX #endif #ifdef RTL8190_ISR_RX #undef RTL8190_ISR_RX #endif #ifdef USE_RLX_BSP #undef USE_RLX_BSP #endif #undef TX_SC_ENTRY_NUM #define TX_SC_ENTRY_NUM 2 #ifdef __DRAM_IN_865X #undef __DRAM_IN_865X #endif #define __DRAM_IN_865X __attribute__ ((section(".dram-rtkwlan"))) #ifdef __IRAM_IN_865X #undef __IRAM_IN_865X #endif #define __IRAM_IN_865X __attribute__ ((section(".iram-rtkwlan"))) #ifdef __IRAM_IN_865X_HI #undef __IRAM_IN_865X_HI #endif #define __IRAM_IN_865X_HI __attribute__ ((section(".iram-tx"))) #ifdef PCIE_POWER_SAVING #undef PCIE_POWER_SAVING #endif #endif // CONFIG_RTL8672 //------------------------------------------------------------- // Define flag of rtl8192d features //------------------------------------------------------------- #ifdef CONFIG_RTL_92D_SUPPORT #define SW_LCK_92D #ifdef CONFIG_TXPWR_LMT #define TXPWR_LMT #endif #define RX_GAIN_TRACK_92D //#define CONFIG_RTL_NOISE_CONTROL #ifdef CONFIG_RTL_92D_DMDP //#define NON_INTR_ANTDIV #endif //#ifdef CONFIG_RTL_92D_INT_PA #define RTL8192D_INT_PA //#endif #endif #if 0 //------------------------------------------------------------- // TLD define flag //------------------------------------------------------------- #ifdef CONFIG_RTL8196B_TLD #ifndef STA_EXT #define STA_EXT #endif #ifdef GBWC #undef GBWC #endif #ifdef SUPPORT_SNMP_MIB #undef SUPPORT_SNMP_MIB #endif #ifdef DRVMAC_LB #undef DRVMAC_LB #endif #ifdef HIGH_POWER_EXT_PA #undef HIGH_POWER_EXT_PA #endif #ifdef ADD_TX_POWER_BY_CMD #undef ADD_TX_POWER_BY_CMD #endif #endif // CONFIG_RTL8196B_TLD #endif //------------------------------------------------------------- // KLD define flag //------------------------------------------------------------- #if defined(CONFIG_RTL8196C_KLD) #ifndef INCLUDE_WPA_PSK #define INCLUDE_WPA_PSK #endif #ifdef UNIVERSAL_REPEATER #undef UNIVERSAL_REPEATER #endif #ifndef WIFI_SIMPLE_CONFIG #define WIFI_SIMPLE_CONFIG #endif #ifdef GBWC #undef GBWC #endif #ifdef SUPPORT_SNMP_MIB #undef SUPPORT_SNMP_MIB #endif #ifdef DRVMAC_LB #undef DRVMAC_LB #endif #ifdef MBSSID #undef RTL8192CD_NUM_VWLAN #define RTL8192CD_NUM_VWLAN 1 #endif //#ifdef HIGH_POWER_EXT_PA // #undef HIGH_POWER_EXT_PA //#endif //#ifdef ADD_TX_POWER_BY_CMD // #undef ADD_TX_POWER_BY_CMD //#endif #endif // CONFIG_RTL8196C_KLD //------------------------------------------------------------- // Dependence check of define flag //------------------------------------------------------------- #if defined(B2B_TEST) && !defined(MP_TEST) #error "Define flag error, MP_TEST is not defined!\n" #endif #if defined(UNIVERSAL_REPEATER) && !defined(CLIENT_MODE) #error "Define flag error, CLIENT_MODE is not defined!\n" #endif /*=============================================================*/ /*------ Compiler Portability Macros --------------------------*/ /*=============================================================*/ #ifdef EVENT_LOG extern int scrlog_printk(const char * fmt, ...); #ifdef CONFIG_RTK_MESH /* * NOTE: dot1180211sInfo.log_enabled content from webpage MIB_LOG_ENABLED (bitmap) (in AP/goahead-2.1.1/LINUX/fmmgmt.c formSysLog) */ #define _LOG_MSG(fmt, args...) if (1 & GET_MIB(priv)->dot1180211sInfo.log_enabled) scrlog_printk(fmt, ## args) #define LOG_MESH_MSG(fmt, args...) if (16 & GET_MIB(priv)->dot1180211sInfo.log_enabled) _LOG_MSG("%s: " fmt, priv->mesh_dev->name, ## args) #else #define _LOG_MSG(fmt, args...) scrlog_printk(fmt, ## args) #endif #if defined(CONFIG_RTL8196B_TR) || defined(CONFIG_RTL8196C_EC) #define _NOTICE "NOTICElog_num:13;msg:" #define _DROPT "DROPlog_num:13;msg:" #define _SYSACT "SYSACTlog_num:13;msg:" #define LOG_MSG_NOTICE(fmt, args...) _LOG_MSG("%s" fmt, _NOTICE, ## args) #define LOG_MSG_DROP(fmt, args...) _LOG_MSG("%s" fmt, _DROPT, ## args) #define LOG_MSG_SYSACT(fmt, args...) _LOG_MSG("%s" fmt, _SYSACT, ## args) #define LOG_MSG(fmt, args...) {} #define LOG_START_MSG() { \ char tmpbuf[10]; \ LOG_MSG_NOTICE("Access Point: %s started at channel %d;\n", \ priv->pmib->dot11StationConfigEntry.dot11DesiredSSID, \ priv->pmib->dot11RFEntry.dot11channel); \ if (priv->pmib->dot11StationConfigEntry.autoRate) \ strcpy(tmpbuf, "best"); \ else \ sprintf(tmpbuf, "%d", get_rate_from_bit_value(priv->pmib->dot11StationConfigEntry.fixedTxRate)/2); \ LOG_MSG_SYSACT("AP 2.4GHz mode Ready. Channel : %d TxRate : %s SSID : %s;\n", \ priv->pmib->dot11RFEntry.dot11channel, \ tmpbuf, priv->pmib->dot11StationConfigEntry.dot11DesiredSSID); \ } #elif defined(CONFIG_RTL865X_AC) || defined(CONFIG_RTL865X_KLD) || defined(CONFIG_RTL8196B_KLD) || defined(CONFIG_RTL8196C_KLD) #define _NOTICE "NOTICElog_num:13;msg:" #define _DROPT "DROPlog_num:13;msg:" #define _SYSACT "SYSACTlog_num:13;msg:" #define LOG_MSG_NOTICE(fmt, args...) _LOG_MSG("%s" fmt, _NOTICE, ## args) #define LOG_MSG_DROP(fmt, args...) _LOG_MSG("%s" fmt, _DROPT, ## args) #define LOG_MSG_SYSACT(fmt, args...) _LOG_MSG("%s" fmt, _SYSACT, ## args) #define LOG_MSG(fmt, args...) {} #define LOG_START_MSG() { \ char tmpbuf[10]; \ LOG_MSG_NOTICE("Access Point: %s started at channel %d;\n", \ priv->pmib->dot11StationConfigEntry.dot11DesiredSSID, \ priv->pmib->dot11RFEntry.dot11channel); \ if (priv->pmib->dot11StationConfigEntry.autoRate) \ strcpy(tmpbuf, "best"); \ else \ sprintf(tmpbuf, "%d", get_rate_from_bit_value(priv->pmib->dot11StationConfigEntry.fixedTxRate)/2); \ LOG_MSG_SYSACT("AP 2.4GHz mode Ready. Channel : %d TxRate : %s SSID : %s;\n", \ priv->pmib->dot11RFEntry.dot11channel, \ tmpbuf, priv->pmib->dot11StationConfigEntry.dot11DesiredSSID); \ } #elif defined(CONFIG_RTL8196B_TLD) #define LOG_MSG_DEL(fmt, args...) _LOG_MSG(fmt, ## args) #define LOG_MSG(fmt, args...) {} #else #define LOG_MSG(fmt, args...) _LOG_MSG("%s: "fmt, priv->dev->name, ## args) #endif #else #if defined(__GNUC__) || defined(GREEN_HILL) #define LOG_MSG(fmt, args...) {} #else #define LOG_MSG #endif #endif // EVENT_LOG #ifdef _USE_DRAM_ #define DRAM_START_ADDR 0x81000000 // start address of internal data ram #endif #ifdef __GNUC__ #define __WLAN_ATTRIB_PACK__ __attribute__ ((packed)) #define __PACK #endif #ifdef __arm #define __WLAN_ATTRIB_PACK__ #define __PACK __packed #endif #ifdef GREEN_HILL #define __WLAN_ATTRIB_PACK__ #define __PACK #endif /*=============================================================*/ /*-----------_ Driver module flags ----------------------------*/ /*=============================================================*/ #ifdef CONFIG_WIRELESS_LAN_MODULE #define MODULE_NAME "Realtek WirelessLan Driver" #define MODULE_VERSION "v1.00" #define MDL_DEVINIT #define MDL_DEVEXIT #define MDL_INIT #define MDL_EXIT #define MDL_DEVINITDATA #else #define MDL_DEVINIT __devinit #define MDL_DEVEXIT __devexit #define MDL_INIT __init #define MDL_EXIT __exit #define MDL_DEVINITDATA __devinitdata #endif /*=============================================================*/ /*----------- System configuration ----------------------------*/ /*=============================================================*/ #if defined(CONFIG_RTL8196B_GW_8M) #define NUM_TX_DESC 200 #else #if defined(CONFIG_RTL_8198) #if defined(CONFIG_RTL_DUAL_PCIESLOT_BIWLAN_D) #define NUM_TX_DESC 640 #else #define NUM_TX_DESC 512 #endif #else #define NUM_TX_DESC 256 // kmalloc max size issue #endif #endif #if defined(CONFIG_RTL_8198) #if defined(CONFIG_RTL_DUAL_PCIESLOT_BIWLAN_D) #define NUM_RX_DESC 256 #else #define NUM_RX_DESC 128 #endif #elif defined(CONFIG_RTL_92D_SUPPORT) #define NUM_RX_DESC 80 #elif defined(__ECOS) #define NUM_RX_DESC 64 #undef NUM_TX_DESC #define NUM_TX_DESC 512 #else #ifdef RX_BUFFER_GATHER #define NUM_RX_DESC 64 #else #define NUM_RX_DESC 32 #endif #endif #ifdef DELAY_REFILL_RX_BUF #define REFILL_THRESHOLD NUM_RX_DESC #endif #define FW_NUM_STAT 32 #if (defined(CONFIG_RTL8196B_KLD) || defined(CONFIG_RTL8196C_KLD)) && defined(MBSSID) #define NUM_CMD_DESC 2 #else #define NUM_CMD_DESC 16 #endif #ifdef STA_EXT #define NUM_STAT 64 #else #define NUM_STAT 31 //32 #endif #define MAX_GUEST_NUM NUM_STAT #define NUM_TXPKT_QUEUE 64 #define NUM_APSD_TXPKT_QUEUE 32 #define NUM_DZ_MGT_QUEUE 16 #define PRE_ALLOCATED_HDR NUM_TX_DESC #ifdef DRVMAC_LB #define PRE_ALLOCATED_MMPDU 32 #define PRE_ALLOCATED_BUFSIZE (2048/4) // 600 bytes long should be enough for mgt! Declare as unsigned int #else #define PRE_ALLOCATED_MMPDU 64 #define PRE_ALLOCATED_BUFSIZE ((600+128)/4) // 600 bytes long should be enough for mgt! Declare as unsigned int #endif #define MAX_BSS_NUM 64 #define MAX_NUM_WLANIF 4 #define WLAN_MISC_MAJOR 13 #define MAX_FRAG_COUNT 10 #define NUM_MP_SKB 32 #define SUPPORT_CH_NUM 59 // unit of time out: 10 msec #define AUTH_TO RTL_SECONDS_TO_JIFFIES(5) #define ASSOC_TO RTL_SECONDS_TO_JIFFIES(5) #define FRAG_TO RTL_SECONDS_TO_JIFFIES(20) #define SS_TO RTL_MILISECONDS_TO_JIFFIES(50) #define SS_PSSV_TO RTL_MILISECONDS_TO_JIFFIES(120) // passive scan for 120 ms #ifdef CONFIG_RTL_NEW_AUTOCH #define SS_AUTO_CHNL_TO RTL_MILISECONDS_TO_JIFFIES(200) #endif #ifdef CONFIG_RTK_MESH //GANTOE for automatic site survey 2008/12/10 #define SS_RAND_DEFER 300 #endif #ifdef LINUX_2_6_22_ #define EXPIRE_TO RTL_SECONDS_TO_JIFFIES(1) #else #define EXPIRE_TO RTL_SECONDS_TO_JIFFIES(1) #endif #define REAUTH_TO RTL_SECONDS_TO_JIFFIES(5) #define REASSOC_TO RTL_SECONDS_TO_JIFFIES(5) #define REAUTH_LIMIT 6 #define REASSOC_LIMIT 6 #define DEFAULT_OLBC_EXPIRE 60 #define GBWC_TO RTL_MILISECONDS_TO_JIFFIES(250) #ifdef __DRAYTEK_OS__ #define SS_COUNT 2 #else #define SS_COUNT 3 #endif #define TUPLE_WINDOW 64 #define RC_TIMER_NUM 64 #define RC_ENTRY_NUM 128 #define AMSDU_TIMER_NUM 64 #define AMPDU_TIMER_NUM 64 #define ROAMING_DECISION_PERIOD_INFRA 5 #define ROAMING_DECISION_PERIOD_ADHOC 10 #define ROAMING_DECISION_PERIOD_ARRAY (MAX_NUM(ROAMING_DECISION_PERIOD_ADHOC,ROAMING_DECISION_PERIOD_INFRA)+1) #define ROAMING_THRESHOLD 1 // roaming will be triggered when rx // beacon percentage is less than the value #define FAST_ROAMING_THRESHOLD 40 /* below is for security.h */ #define MAXDATALEN 1560 #define MAXQUEUESIZE 8 //WPS2DOTX #define MAXRSNIELEN 128 #define E_DOT11_2LARGE -1 #define E_DOT11_QFULL -2 #define E_DOT11_QEMPTY -3 #ifdef WIFI_SIMPLE_CONFIG #define PROBEIELEN 260 #endif // for SW LED #define LED_MAX_PACKET_CNT_B 400 #define LED_MAX_PACKET_CNT_AG 1200 #define LED_MAX_SCALE 100 #define LED_NOBLINK_TIME RTL_SECONDS_TO_JIFFIES(11)/10 // time more than watchdog interval #define LED_INTERVAL_TIME RTL_MILISECONDS_TO_JIFFIES(500) // 500ms #define LED_ON_TIME RTL_MILISECONDS_TO_JIFFIES(40) // 40ms #define LED_ON 0 #define LED_OFF 1 #define LED_0 0 #define LED_1 1 #define LED_2 2 // for counting association number #define INCREASE 1 #define DECREASE 0 // DFS #define CH_AVAIL_CHK_TO RTL_SECONDS_TO_JIFFIES(62) // 62 seconds #define CH_AVAIL_CHK_TO_CE RTL_SECONDS_TO_JIFFIES(602) // 602 seconds #ifdef RX_BUFFER_GATHER #ifdef __LINUX_2_6__ #define MAX_SKB_BUF 2280 #else #define MAX_SKB_BUF 2048 #endif #define MAX_RX_BUF_LEN (MAX_SKB_BUF -sizeof(struct skb_shared_info) - 128) #define MIN_RX_BUF_LEN MAX_RX_BUF_LEN #else #define MAX_RX_BUF_LEN 8400 #define MIN_RX_BUF_LEN 4400 #endif /* for RTL865x suspend mode */ #define TP_HIGH_WATER_MARK 50 //80 /* unit: Mbps */ #define TP_LOW_WATER_MARK 30 //40 /* unit: Mbps */ #define FW_BOOT_SIZE 400 #define FW_MAIN_SIZE 52000 #define FW_DATA_SIZE 850 #define AGC_TAB_SIZE 1600 #define PHY_REG_SIZE 2048 #define MAC_REG_SIZE 1200 #ifdef CONFIG_RTL_92D_SUPPORT #define PHY_REG_PG_SIZE 2560 #else #define PHY_REG_PG_SIZE 256 #endif #define PHY_REG_1T2R 256 #define PHY_REG_1T1R 256 #define FW_IMEM_SIZE 40*(1024) #define FW_EMEM_SIZE 50*(1024) #define FW_DMEM_SIZE 48 // for PCIe power saving #define POWER_DOWN_T0 (10*HZ) #define PKT_PAGE_SZ 128 #define TX_DESC_SZ 32 #ifdef SUPPORT_TX_MCAST2UNI #define MAX_IP_MC_ENTRY 8 #endif #define IQK_ADDA_REG_NUM 16 #define MAX_TOLERANCE 5 #define IQK_DELAY_TIME 1 //ms #define IQK_MAC_REG_NUM 4 #define SKIP_MIC_NUM 300 //Analog Pre-distortion calibration #define APK_BB_REG_NUM 5 #define APK_AFE_REG_NUM 16 #define APK_CURVE_REG_NUM 4 #define PATH_NUM 2 // for dynamic mechanism of reserving tx desc #if defined(RESERVE_TXDESC_FOR_EACH_IF) && (defined(UNIVERSAL_REPEATER) || defined(MBSSID)) #define IF_TXDESC_UPPER_LIMIT 70 // percentage #endif // for dynamic mechanism of retry count #define RETRY_TRSHLD_H 3750000 #define RETRY_TRSHLD_L 3125000 //------------------------------------------------------------- // Define flag for 8M gateway configuration //------------------------------------------------------------- #if defined(CONFIG_RTL8196B_GW_8M) //#ifdef MERGE_FW // #undef MERGE_FW //#endif //#define DW_FW_BY_MALLOC_BUF #ifdef MBSSID #undef RTL8192CD_NUM_VWLAN #define RTL8192CD_NUM_VWLAN 1 #endif #undef NUM_STAT #define NUM_STAT 16 #endif // CONFIG_RTL8196B_GW_8M #if defined(CONFIG_RTL8196C_AP_ROOT) || defined(CONFIG_RTL8198_AP_ROOT) #ifdef DOT11D #undef DOT11D #endif #ifdef MBSSID #undef RTL8192CD_NUM_VWLAN #define RTL8192CD_NUM_VWLAN 1 #endif #undef NUM_STAT #define NUM_STAT 16 #endif //defined(CONFIG_RTL8196C_AP_ROOT) #ifdef CONFIG_RTL_8198_NFBI_RTK_INBAND_AP //mark_nfbi_inband_ap #ifdef MBSSID #undef RTL8192CD_NUM_VWLAN #define RTL8192CD_NUM_VWLAN 7 #endif #endif #if defined(CONFIG_RTL8196C_CLIENT_ONLY) #ifdef DOT11D #undef DOT11D #endif #endif #ifdef CONCURRENT_MODE #define NUM_WLAN_IFACE 2 #endif #ifdef CONFIG_NET_PCI #ifndef NUM_WLAN_IFACE #define NUM_WLAN_IFACE 2 #endif #endif #if defined(CONFIG_RTL_92D_SUPPORT) && defined(CONFIG_USB_POWER_BUS) #define USB_POWER_SUPPORT #endif #ifdef WIFI_SIMPLE_CONFIG #define MAX_WSC_IE_LEN (256+128) #define MAX_WSC_PROBE_STA 10 #endif #ifdef CONFIG_WIRELESS_LAN_MODULE //BE_MODULE #undef __DRAM_IN_865X #undef __IRAM_IN_865X #undef __MIPS16 #define __DRAM_IN_865X #define __IRAM_IN_865X #define __MIPS16 #undef BR_SHORTCUT #undef CONFIG_RTL865X_ETH_PRIV_SKB #undef CONFIG_RTL_ETH_PRIV_SKB #undef CONFIG_RTK_VLAN_SUPPORT #endif #endif // _8192CD_CFG_H_