| 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
| 2 | /* Copyright(c) 2009-2012 Realtek Corporation.*/ |
| 3 | |
| 4 | #ifndef __RTL_CORE_H__ |
| 5 | #define __RTL_CORE_H__ |
| 6 | |
| 7 | #define RTL_SUPPORTED_FILTERS \ |
| 8 | (FIF_ALLMULTI | FIF_CONTROL | \ |
| 9 | FIF_OTHER_BSS | \ |
| 10 | FIF_FCSFAIL | \ |
| 11 | FIF_BCN_PRBRESP_PROMISC) |
| 12 | |
| 13 | #define DM_DIG_THRESH_HIGH 40 |
| 14 | #define DM_DIG_THRESH_LOW 35 |
| 15 | #define DM_FALSEALARM_THRESH_LOW 400 |
| 16 | #define DM_FALSEALARM_THRESH_HIGH 1000 |
| 17 | |
| 18 | #define DM_DIG_MAX 0x3e |
| 19 | #define DM_DIG_MIN 0x1e |
| 20 | #define DM_DIG_MAX_AP 0x32 |
| 21 | #define DM_DIG_BACKOFF_MAX 12 |
| 22 | #define DM_DIG_BACKOFF_MIN -4 |
| 23 | #define DM_DIG_BACKOFF_DEFAULT 10 |
| 24 | |
| 25 | enum cck_packet_detection_threshold { |
| 26 | = 0, |
| 27 | = 1, |
| 28 | CCK_FA_STAGE_LOW = 2, |
| 29 | CCK_FA_STAGE_HIGH = 3, |
| 30 | CCK_PD_STAGE_MAX = 4, |
| 31 | }; |
| 32 | |
| 33 | enum dm_dig_ext_port_alg_e { |
| 34 | DIG_EXT_PORT_STAGE_0 = 0, |
| 35 | DIG_EXT_PORT_STAGE_1 = 1, |
| 36 | DIG_EXT_PORT_STAGE_2 = 2, |
| 37 | DIG_EXT_PORT_STAGE_3 = 3, |
| 38 | DIG_EXT_PORT_STAGE_MAX = 4, |
| 39 | }; |
| 40 | |
| 41 | enum dm_dig_connect_e { |
| 42 | DIG_STA_DISCONNECT, |
| 43 | DIG_STA_CONNECT, |
| 44 | DIG_STA_BEFORE_CONNECT, |
| 45 | DIG_MULTISTA_DISCONNECT, |
| 46 | DIG_MULTISTA_CONNECT, |
| 47 | DIG_AP_DISCONNECT, |
| 48 | DIG_AP_CONNECT, |
| 49 | DIG_AP_ADD_STATION, |
| 50 | DIG_CONNECT_MAX |
| 51 | }; |
| 52 | |
| 53 | extern const struct ieee80211_ops rtl_ops; |
| 54 | |
| 55 | void rtl_init_sw_leds(struct ieee80211_hw *hw); |
| 56 | void rtl_fw_cb(const struct firmware *firmware, void *context); |
| 57 | void rtl_wowlan_fw_cb(const struct firmware *firmware, void *context); |
| 58 | void rtl_addr_delay(u32 addr); |
| 59 | void rtl_rfreg_delay(struct ieee80211_hw *hw, enum radio_path rfpath, u32 addr, |
| 60 | u32 mask, u32 data); |
| 61 | bool rtl_cmd_send_packet(struct ieee80211_hw *hw, struct sk_buff *skb); |
| 62 | bool rtl_btc_status_false(void); |
| 63 | void rtl_dm_diginit(struct ieee80211_hw *hw, u32 cur_igval); |
| 64 | void rtl_update_beacon_work_callback(struct work_struct *work); |
| 65 | |
| 66 | #endif |
| 67 | |