0001
0002
0003
0004 #ifndef __RTL_CORE_H__
0005 #define __RTL_CORE_H__
0006
0007 #define RTL_SUPPORTED_FILTERS \
0008 (FIF_ALLMULTI | FIF_CONTROL | \
0009 FIF_OTHER_BSS | \
0010 FIF_FCSFAIL | \
0011 FIF_BCN_PRBRESP_PROMISC)
0012
0013 #define DM_DIG_THRESH_HIGH 40
0014 #define DM_DIG_THRESH_LOW 35
0015 #define DM_FALSEALARM_THRESH_LOW 400
0016 #define DM_FALSEALARM_THRESH_HIGH 1000
0017
0018 #define DM_DIG_MAX 0x3e
0019 #define DM_DIG_MIN 0x1e
0020 #define DM_DIG_MAX_AP 0x32
0021 #define DM_DIG_BACKOFF_MAX 12
0022 #define DM_DIG_BACKOFF_MIN -4
0023 #define DM_DIG_BACKOFF_DEFAULT 10
0024
0025 enum cck_packet_detection_threshold {
0026 CCK_PD_STAGE_LOWRSSI = 0,
0027 CCK_PD_STAGE_HIGHRSSI = 1,
0028 CCK_FA_STAGE_LOW = 2,
0029 CCK_FA_STAGE_HIGH = 3,
0030 CCK_PD_STAGE_MAX = 4,
0031 };
0032
0033 enum dm_dig_ext_port_alg_e {
0034 DIG_EXT_PORT_STAGE_0 = 0,
0035 DIG_EXT_PORT_STAGE_1 = 1,
0036 DIG_EXT_PORT_STAGE_2 = 2,
0037 DIG_EXT_PORT_STAGE_3 = 3,
0038 DIG_EXT_PORT_STAGE_MAX = 4,
0039 };
0040
0041 enum dm_dig_connect_e {
0042 DIG_STA_DISCONNECT,
0043 DIG_STA_CONNECT,
0044 DIG_STA_BEFORE_CONNECT,
0045 DIG_MULTISTA_DISCONNECT,
0046 DIG_MULTISTA_CONNECT,
0047 DIG_AP_DISCONNECT,
0048 DIG_AP_CONNECT,
0049 DIG_AP_ADD_STATION,
0050 DIG_CONNECT_MAX
0051 };
0052
0053 extern const struct ieee80211_ops rtl_ops;
0054 void rtl_fw_cb(const struct firmware *firmware, void *context);
0055 void rtl_wowlan_fw_cb(const struct firmware *firmware, void *context);
0056 void rtl_addr_delay(u32 addr);
0057 void rtl_rfreg_delay(struct ieee80211_hw *hw, enum radio_path rfpath, u32 addr,
0058 u32 mask, u32 data);
0059 void rtl_bb_delay(struct ieee80211_hw *hw, u32 addr, u32 data);
0060 bool rtl_cmd_send_packet(struct ieee80211_hw *hw, struct sk_buff *skb);
0061 bool rtl_btc_status_false(void);
0062 void rtl_dm_diginit(struct ieee80211_hw *hw, u32 cur_igval);
0063 void rtl_update_beacon_work_callback(struct work_struct *work);
0064
0065 #endif