Commit | Line | Data |
---|---|---|
364e30eb LF |
1 | /****************************************************************************** |
2 | * | |
3 | * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. | |
4 | * | |
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. | |
8 | * | |
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 | |
12 | * more details. | |
13 | * | |
14 | ******************************************************************************/ | |
15 | #ifndef __RTL8723A_DM_H__ | |
16 | #define __RTL8723A_DM_H__ | |
17 | /* */ | |
18 | /* Description: */ | |
19 | /* */ | |
20 | /* This file is for 8723A dynamic mechanism only */ | |
21 | /* */ | |
22 | /* */ | |
23 | /* */ | |
24 | #define DYNAMIC_FUNC_BT BIT(0) | |
25 | ||
26 | enum{ | |
27 | UP_LINK, | |
28 | DOWN_LINK, | |
29 | }; | |
30 | /* */ | |
31 | /* structure and define */ | |
32 | /* */ | |
33 | ||
34 | /* duplicate code,will move to ODM ######### */ | |
35 | #define IQK_MAC_REG_NUM 4 | |
36 | #define IQK_ADDA_REG_NUM 16 | |
37 | #define IQK_BB_REG_NUM 9 | |
38 | #define HP_THERMAL_NUM 8 | |
39 | /* duplicate code,will move to ODM ######### */ | |
8ce6b2d2 | 40 | struct dm_priv { |
364e30eb LF |
41 | u32 InitODMFlag; |
42 | ||
43 | /* Upper and Lower Signal threshold for Rate Adaptive*/ | |
44 | int UndecoratedSmoothedPWDB; | |
45 | int UndecoratedSmoothedCCK; | |
46 | int EntryMinUndecoratedSmoothedPWDB; | |
47 | int EntryMaxUndecoratedSmoothedPWDB; | |
48 | int MinUndecoratedPWDBForDM; | |
49 | int LastMinUndecoratedPWDBForDM; | |
50 | ||
51 | s32 UndecoratedSmoothedBeacon; | |
52 | #ifdef CONFIG_8723AU_BT_COEXIST | |
53 | s32 BT_EntryMinUndecoratedSmoothedPWDB; | |
54 | s32 BT_EntryMaxUndecoratedSmoothedPWDB; | |
55 | #endif | |
56 | ||
57 | /* for High Power */ | |
364e30eb LF |
58 | u8 DynamicTxHighPowerLvl;/* Add by Jacken Tx Power Control for Near/Far Range 2008/03/06 */ |
59 | ||
60 | /* for tx power tracking */ | |
61 | u8 bTXPowerTracking; | |
62 | u8 TXPowercount; | |
63 | u8 bTXPowerTrackingInit; | |
64 | u8 TxPowerTrackControl; /* for mp mode, turn off txpwrtracking as default */ | |
65 | u8 TM_Trigger; | |
66 | ||
67 | u8 ThermalMeter[2]; /* ThermalMeter, index 0 for RFIC0, and 1 for RFIC1 */ | |
68 | u8 ThermalValue; | |
69 | u8 ThermalValue_LCK; | |
70 | u8 ThermalValue_IQK; | |
71 | u8 ThermalValue_DPK; | |
72 | ||
73 | u8 bRfPiEnable; | |
74 | ||
75 | /* for APK */ | |
76 | u32 APKoutput[2][2]; /* path A/B; output1_1a/output1_2a */ | |
77 | u8 bAPKdone; | |
78 | u8 bAPKThermalMeterIgnore; | |
79 | u8 bDPdone; | |
80 | u8 bDPPathAOK; | |
81 | u8 bDPPathBOK; | |
82 | ||
83 | /* for IQK */ | |
84 | u32 RegC04; | |
85 | u32 Reg874; | |
86 | u32 RegC08; | |
87 | u32 RegB68; | |
88 | u32 RegB6C; | |
89 | u32 Reg870; | |
90 | u32 Reg860; | |
91 | u32 Reg864; | |
92 | u32 ADDA_backup[IQK_ADDA_REG_NUM]; | |
93 | u32 IQK_MAC_backup[IQK_MAC_REG_NUM]; | |
94 | u32 IQK_BB_backup_recover[9]; | |
95 | u32 IQK_BB_backup[IQK_BB_REG_NUM]; | |
96 | u8 PowerIndex_backup[6]; | |
97 | ||
98 | u8 bCCKinCH14; | |
99 | ||
100 | u8 CCK_index; | |
101 | u8 OFDM_index[2]; | |
102 | ||
103 | u8 bDoneTxpower; | |
104 | u8 CCK_index_HP; | |
105 | u8 OFDM_index_HP[2]; | |
106 | u8 ThermalValue_HP[HP_THERMAL_NUM]; | |
107 | u8 ThermalValue_HP_index; | |
108 | ||
109 | /* for TxPwrTracking */ | |
110 | s32 RegE94; | |
111 | s32 RegE9C; | |
112 | s32 RegEB4; | |
113 | s32 RegEBC; | |
114 | ||
115 | u32 TXPowerTrackingCallbackCnt; /* cosa add for debug */ | |
116 | ||
117 | u32 prv_traffic_idx; /* edca turbo */ | |
118 | ||
119 | s32 OFDM_Pkt_Cnt; | |
120 | u8 RSSI_Select; | |
121 | /* u8 DIG_Dynamic_MIN ; */ | |
122 | /* duplicate code,will move to ODM ######### */ | |
123 | /* Add for Reading Initial Data Rate SEL Register 0x484 during watchdog. Using for fill tx desc. 2011.3.21 by Thomas */ | |
124 | u8 INIDATA_RATE[32]; | |
125 | }; | |
126 | ||
127 | ||
128 | /* */ | |
129 | /* function prototype */ | |
130 | /* */ | |
131 | ||
132 | void rtl8723a_init_dm_priv(struct rtw_adapter *padapter); | |
364e30eb LF |
133 | |
134 | void rtl8723a_InitHalDm(struct rtw_adapter *padapter); | |
135 | void rtl8723a_HalDmWatchDog(struct rtw_adapter *padapter); | |
136 | ||
137 | #endif |