1
2
3
4 #ifndef __RTL_92S_DM_H__
5 #define __RTL_92S_DM_H__
6
7 enum dm_dig_alg {
8 DIG_ALGO_BY_FALSE_ALARM = 0,
9 DIG_ALGO_BY_RSSI = 1,
10 DIG_ALGO_BEFORE_CONNECT_BY_RSSI_AND_ALARM = 2,
11 DIG_ALGO_BY_TOW_PORT = 3,
12 DIG_ALGO_MAX
13 };
14
15 enum dm_dig_two_port_alg {
16 DIG_TWO_PORT_ALGO_RSSI = 0,
17 DIG_TWO_PORT_ALGO_FALSE_ALARM = 1,
18 };
19
20 enum dm_dig_dbg {
21 DM_DBG_OFF = 0,
22 DM_DBG_ON = 1,
23 DM_DBG_MAX
24 };
25
26 enum dm_dig_sta {
27 DM_STA_DIG_OFF = 0,
28 DM_STA_DIG_ON,
29 DM_STA_DIG_MAX
30 };
31
32 enum dm_ratr_sta {
33 DM_RATR_STA_HIGH = 0,
34 DM_RATR_STA_MIDDLEHIGH = 1,
35 DM_RATR_STA_MIDDLE = 2,
36 DM_RATR_STA_MIDDLELOW = 3,
37 DM_RATR_STA_LOW = 4,
38 DM_RATR_STA_ULTRALOW = 5,
39 DM_RATR_STA_MAX
40 };
41
42 #define DM_TYPE_BYFW 0
43 #define DM_TYPE_BYDRIVER 1
44
45 #define TX_HIGH_PWR_LEVEL_NORMAL 0
46 #define TX_HIGH_PWR_LEVEL_LEVEL1 1
47 #define TX_HIGH_PWR_LEVEL_LEVEL2 2
48
49 #define HAL_DM_DIG_DISABLE BIT(0)
50 #define HAL_DM_HIPWR_DISABLE BIT(1)
51
52 #define TX_HIGHPWR_LEVEL_NORMAL 0
53 #define TX_HIGHPWR_LEVEL_NORMAL1 1
54 #define TX_HIGHPWR_LEVEL_NORMAL2 2
55
56 #define TX_POWER_NEAR_FIELD_THRESH_LVL2 74
57 #define TX_POWER_NEAR_FIELD_THRESH_LVL1 67
58
59 #define DM_DIG_HIGH_PWR_THRESH_HIGH 75
60 #define DM_DIG_HIGH_PWR_THRESH_LOW 70
61 #define DM_DIG_MIN_NETCORE 0x12
62
63 void rtl92s_dm_watchdog(struct ieee80211_hw *hw);
64 void rtl92s_dm_init(struct ieee80211_hw *hw);
65 void rtl92s_dm_init_edca_turbo(struct ieee80211_hw *hw);
66
67 #endif