Staging: rt2870: remove kernel version compatibility wrappers
[linux-2.6] / drivers / staging / rt2870 / rt_ate.h
1 /*
2  *************************************************************************
3  * Ralink Tech Inc.
4  * 5F., No.36, Taiyuan St., Jhubei City,
5  * Hsinchu County 302,
6  * Taiwan, R.O.C.
7  *
8  * (c) Copyright 2002-2007, Ralink Technology, Inc.
9  *
10  * This program is free software; you can redistribute it and/or modify  *
11  * it under the terms of the GNU General Public License as published by  *
12  * the Free Software Foundation; either version 2 of the License, or     *
13  * (at your option) any later version.                                   *
14  *                                                                       *
15  * This program is distributed in the hope that it will be useful,       *
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of        *
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
18  * GNU General Public License for more details.                          *
19  *                                                                       *
20  * You should have received a copy of the GNU General Public License     *
21  * along with this program; if not, write to the                         *
22  * Free Software Foundation, Inc.,                                       *
23  * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
24  *                                                                       *
25  *************************************************************************
26  */
27
28 #ifndef __ATE_H__
29 #define __ATE_H__
30
31 #ifndef UCOS
32 #define ate_print printk
33 #define ATEDBGPRINT DBGPRINT
34
35 #ifdef RT2870
36 #define EEPROM_SIZE                                                             0x400
37 #ifdef CONFIG_STA_SUPPORT
38 #define EEPROM_BIN_FILE_NAME  "/etc/Wireless/RT2870STA/e2p.bin"
39 #endif // CONFIG_STA_SUPPORT //
40 #endif // RT2870 //
41 #else // !UCOS //
42 #define fATE_LOAD_EEPROM                                                0x0C43
43 #ifdef CONFIG_PRINTK
44 extern INT ConsoleResponse(IN PUCHAR buff);
45 extern int (*remote_display)(char *);
46 extern void puts (const char *s);
47
48 /* specificly defined to redirect and show ate-related messages to host. */
49 /* Try to define ate_print as a macro. */
50 #define ate_print(fmt, args...)                 \
51 do{   int (*org_remote_display)(char *) = NULL;   \
52         org_remote_display = remote_display;\
53         /* Save original "remote_display" */\
54         remote_display = (int (*)(char *))ConsoleResponse;           \
55         printk(fmt, ## args);                       \
56         /* Restore the remote_display function pointer */        \
57         remote_display = org_remote_display; }while(0)
58
59 #define ATEDBGPRINT(Level, Fmt)         \
60 {                                   \
61     if ((Level) <= RTDebugLevel)      \
62     {                               \
63         ate_print Fmt;                                  \
64     }                               \
65 }
66 #endif // CONFIG_PRINTK //
67 #endif // !UCOS //
68
69 #define ATE_ON(_p)              (((_p)->ate.Mode) != ATE_STOP)
70
71 /* RT2880_iNIC will define "RT2860". */
72
73 /* RT2880_iNIC will define RT2860. */
74
75 #ifdef RT2870
76 #define EEPROM_SIZE                                                             0x400
77 #ifdef CONFIG_STA_SUPPORT
78 #define EEPROM_BIN_FILE_NAME  "/etc/Wireless/RT2870STA/e2p.bin"
79 #endif // CONFIG_STA_SUPPORT //
80 #endif // RT2870 //
81
82 #ifdef RT2870
83 #define ATE_BBP_IO_READ8_BY_REG_ID(_A, _I, _pV)    RTMP_BBP_IO_READ8_BY_REG_ID(_A, _I, _pV)
84 #define ATE_BBP_IO_WRITE8_BY_REG_ID(_A, _I, _V)    RTMP_BBP_IO_WRITE8_BY_REG_ID(_A, _I, _V)
85
86 #define BULK_OUT_LOCK(pLock, IrqFlags)  \
87                 if(1 /*!(in_interrupt() & 0xffff0000)*/)        \
88                         RTMP_IRQ_LOCK((pLock), IrqFlags);
89
90 #define BULK_OUT_UNLOCK(pLock, IrqFlags)        \
91                 if(1 /*!(in_interrupt() & 0xffff0000)*/)        \
92                         RTMP_IRQ_UNLOCK((pLock), IrqFlags);
93
94 // Prototypes of completion funuc.
95 VOID ATE_RTUSBBulkOutDataPacketComplete(
96         IN purbb_t purb,
97         OUT struct pt_regs *pt_regs);
98
99 VOID ATE_RTUSBBulkOutDataPacket(
100         IN      PRTMP_ADAPTER   pAd,
101         IN      UCHAR                   BulkOutPipeId);
102
103 VOID ATE_RTUSBCancelPendingBulkInIRP(
104         IN      PRTMP_ADAPTER   pAd);
105 #endif // RT2870 //
106
107 VOID rt_ee_read_all(
108         IN  PRTMP_ADAPTER   pAd,
109         OUT USHORT *Data);
110
111
112 VOID rt_ee_write_all(
113         IN  PRTMP_ADAPTER   pAd,
114         IN  USHORT *Data);
115
116 INT Set_ATE_Proc(
117         IN      PRTMP_ADAPTER   pAd,
118         IN      PUCHAR                  arg);
119
120 INT     Set_ATE_DA_Proc(
121         IN      PRTMP_ADAPTER   pAd,
122         IN      PUCHAR                  arg);
123
124 INT     Set_ATE_SA_Proc(
125         IN      PRTMP_ADAPTER   pAd,
126         IN      PUCHAR                  arg);
127
128 INT     Set_ATE_BSSID_Proc(
129         IN      PRTMP_ADAPTER   pAd,
130         IN      PUCHAR                  arg);
131
132 INT     Set_ATE_CHANNEL_Proc(
133         IN      PRTMP_ADAPTER   pAd,
134         IN      PUCHAR                  arg);
135
136 INT     Set_ATE_TX_POWER0_Proc(
137         IN      PRTMP_ADAPTER   pAd,
138         IN      PUCHAR                  arg);
139
140 INT     Set_ATE_TX_POWER1_Proc(
141         IN      PRTMP_ADAPTER   pAd,
142         IN      PUCHAR                  arg);
143
144 INT     Set_ATE_TX_Antenna_Proc(
145         IN      PRTMP_ADAPTER   pAd,
146         IN      PUCHAR                  arg);
147
148 INT     Set_ATE_RX_Antenna_Proc(
149         IN      PRTMP_ADAPTER   pAd,
150         IN      PUCHAR                  arg);
151
152 INT     Set_ATE_TX_FREQOFFSET_Proc(
153         IN      PRTMP_ADAPTER   pAd,
154         IN      PUCHAR                  arg);
155
156 INT     Set_ATE_TX_BW_Proc(
157         IN      PRTMP_ADAPTER   pAd,
158         IN      PUCHAR                  arg);
159
160 INT     Set_ATE_TX_LENGTH_Proc(
161         IN      PRTMP_ADAPTER   pAd,
162         IN      PUCHAR                  arg);
163
164 INT     Set_ATE_TX_COUNT_Proc(
165         IN      PRTMP_ADAPTER   pAd,
166         IN      PUCHAR                  arg);
167
168 INT     Set_ATE_TX_MCS_Proc(
169         IN      PRTMP_ADAPTER   pAd,
170         IN      PUCHAR                  arg);
171
172 INT     Set_ATE_TX_MODE_Proc(
173         IN      PRTMP_ADAPTER   pAd,
174         IN      PUCHAR                  arg);
175
176 INT     Set_ATE_TX_GI_Proc(
177         IN      PRTMP_ADAPTER   pAd,
178         IN      PUCHAR                  arg);
179
180
181 INT     Set_ATE_RX_FER_Proc(
182         IN      PRTMP_ADAPTER   pAd,
183         IN      PUCHAR                  arg);
184
185 INT Set_ATE_Read_RF_Proc(
186         IN      PRTMP_ADAPTER   pAd,
187         IN      PUCHAR                  arg);
188
189 INT Set_ATE_Write_RF1_Proc(
190         IN      PRTMP_ADAPTER   pAd,
191         IN      PUCHAR                  arg);
192
193 INT Set_ATE_Write_RF2_Proc(
194         IN      PRTMP_ADAPTER   pAd,
195         IN      PUCHAR                  arg);
196
197 INT Set_ATE_Write_RF3_Proc(
198         IN      PRTMP_ADAPTER   pAd,
199         IN      PUCHAR                  arg);
200
201 INT Set_ATE_Write_RF4_Proc(
202         IN      PRTMP_ADAPTER   pAd,
203         IN      PUCHAR                  arg);
204
205 INT Set_ATE_Load_E2P_Proc(
206         IN      PRTMP_ADAPTER   pAd,
207         IN      PUCHAR                  arg);
208
209 INT Set_ATE_Read_E2P_Proc(
210         IN      PRTMP_ADAPTER   pAd,
211         IN      PUCHAR                  arg);
212
213 INT     Set_ATE_Show_Proc(
214         IN      PRTMP_ADAPTER   pAd,
215         IN      PUCHAR                  arg);
216
217 INT     Set_ATE_Help_Proc(
218         IN      PRTMP_ADAPTER   pAd,
219         IN      PUCHAR                  arg);
220
221 #ifdef RALINK_ATE
222 #ifdef RALINK_28xx_QA
223 VOID ATE_QA_Statistics(
224         IN PRTMP_ADAPTER                pAd,
225         IN PRXWI_STRUC                  pRxWI,
226         IN PRT28XX_RXD_STRUC    p28xxRxD,
227         IN PHEADER_802_11               pHeader);
228
229 VOID RtmpDoAte(
230         IN      PRTMP_ADAPTER   pAdapter,
231         IN      struct iwreq    *wrq);
232
233 VOID BubbleSort(
234         IN  INT32 n,
235         IN  INT32 a[]);
236
237 VOID CalNoiseLevel(
238         IN  PRTMP_ADAPTER   pAdapter,
239         IN  UCHAR           channel,
240         OUT INT32           buffer[3][10]);
241
242 BOOLEAN SyncTxRxConfig(
243         IN      PRTMP_ADAPTER   pAdapter,
244         IN      USHORT                  offset,
245         IN      UCHAR                   value);
246
247 #if 0
248 INT Set_TxStart_Proc(
249         IN      PRTMP_ADAPTER   pAd,
250         IN      PUCHAR                  arg);
251 #endif  // 0 //
252
253 INT Set_TxStop_Proc(
254         IN      PRTMP_ADAPTER   pAd,
255         IN      PUCHAR                  arg);
256
257 INT Set_RxStop_Proc(
258         IN      PRTMP_ADAPTER   pAd,
259         IN      PUCHAR                  arg);
260
261 #if 0
262 INT Set_EERead_Proc(
263         IN      PRTMP_ADAPTER   pAd,
264         IN      PUCHAR                  arg);
265
266 INT Set_EEWrite_Proc(
267         IN      PRTMP_ADAPTER   pAd,
268         IN      PUCHAR                  arg);
269
270 INT Set_BBPRead_Proc(
271         IN      PRTMP_ADAPTER   pAd,
272         IN      PUCHAR                  arg);
273
274 INT Set_BBPWrite_Proc(
275         IN      PRTMP_ADAPTER   pAd,
276         IN      PUCHAR                  arg);
277
278 INT Set_RFWrite_Proc(
279         IN      PRTMP_ADAPTER   pAd,
280         IN      PUCHAR                  arg);
281 #endif // end of #if 0 //
282 #endif // RALINK_28xx_QA //
283 #endif // RALINK_ATE //
284
285 VOID ATEAsicSwitchChannel(
286         IN PRTMP_ADAPTER pAd);
287
288 VOID ATEAsicAdjustTxPower(
289         IN PRTMP_ADAPTER pAd);
290
291 VOID ATEDisableAsicProtect(
292         IN              PRTMP_ADAPTER   pAd);
293
294 CHAR ATEConvertToRssi(
295         IN PRTMP_ADAPTER  pAd,
296         IN CHAR                         Rssi,
297         IN UCHAR    RssiNumber);
298
299 VOID ATESampleRssi(
300         IN PRTMP_ADAPTER        pAd,
301         IN PRXWI_STRUC          pRxWI);
302
303
304 #ifdef CONFIG_STA_SUPPORT
305 VOID RTMPStationStop(
306     IN  PRTMP_ADAPTER   pAd);
307
308 VOID RTMPStationStart(
309     IN  PRTMP_ADAPTER   pAd);
310 #endif // CONFIG_STA_SUPPORT //
311 #endif // __ATE_H__ //