1 /******************************************************************************
3 * Copyright(c) 2009-2012 Realtek Corporation.
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of version 2 of the GNU General Public License as
7 * published by the Free Software Foundation.
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * The full GNU General Public License is included in this distribution in the
15 * file called LICENSE.
17 * Contact Information:
18 * wlanfae <wlanfae@realtek.com>
19 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20 * Hsinchu 300, Taiwan.
22 * Larry Finger <Larry.Finger@lwfinger.net>
24 *****************************************************************************/
25 #ifndef __RTL_92S_DM_H__
26 #define __RTL_92S_DM_H__
29 DIG_ALGO_BY_FALSE_ALARM = 0,
31 DIG_ALGO_BEFORE_CONNECT_BY_RSSI_AND_ALARM = 2,
32 DIG_ALGO_BY_TOW_PORT = 3,
36 enum dm_dig_two_port_alg {
37 DIG_TWO_PORT_ALGO_RSSI = 0,
38 DIG_TWO_PORT_ALGO_FALSE_ALARM = 1,
55 DM_RATR_STA_MIDDLEHIGH = 1,
56 DM_RATR_STA_MIDDLE = 2,
57 DM_RATR_STA_MIDDLELOW = 3,
59 DM_RATR_STA_ULTRALOW = 5,
63 #define DM_TYPE_BYFW 0
64 #define DM_TYPE_BYDRIVER 1
66 #define TX_HIGH_PWR_LEVEL_NORMAL 0
67 #define TX_HIGH_PWR_LEVEL_LEVEL1 1
68 #define TX_HIGH_PWR_LEVEL_LEVEL2 2
70 #define HAL_DM_DIG_DISABLE BIT(0) /* Disable Dig */
71 #define HAL_DM_HIPWR_DISABLE BIT(1) /* Disable High Power */
73 #define TX_HIGHPWR_LEVEL_NORMAL 0
74 #define TX_HIGHPWR_LEVEL_NORMAL1 1
75 #define TX_HIGHPWR_LEVEL_NORMAL2 2
77 #define TX_POWER_NEAR_FIELD_THRESH_LVL2 74
78 #define TX_POWER_NEAR_FIELD_THRESH_LVL1 67
80 #define DM_DIG_HIGH_PWR_THRESH_HIGH 75
81 #define DM_DIG_HIGH_PWR_THRESH_LOW 70
82 #define DM_DIG_MIN_Netcore 0x12
84 void rtl92s_dm_watchdog(struct ieee80211_hw *hw);
85 void rtl92s_dm_init(struct ieee80211_hw *hw);
86 void rtl92s_dm_init_edca_turbo(struct ieee80211_hw *hw);