Greg Kroah-Hartman | c55519f | 2008-12-17 17:04:23 -0800 | [diff] [blame] | 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 | #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) |
| 96 | #define ATE_RTUSBBulkOutDataPacketComplete(purb, pt_regs) ATE_RTUSBBulkOutDataPacketComplete(purb) |
| 97 | #endif |
| 98 | |
| 99 | VOID ATE_RTUSBBulkOutDataPacketComplete( |
| 100 | IN purbb_t purb, |
| 101 | OUT struct pt_regs *pt_regs); |
| 102 | |
| 103 | VOID ATE_RTUSBBulkOutDataPacket( |
| 104 | IN PRTMP_ADAPTER pAd, |
| 105 | IN UCHAR BulkOutPipeId); |
| 106 | |
| 107 | VOID ATE_RTUSBCancelPendingBulkInIRP( |
| 108 | IN PRTMP_ADAPTER pAd); |
| 109 | #endif // RT2870 // |
| 110 | |
| 111 | VOID rt_ee_read_all( |
| 112 | IN PRTMP_ADAPTER pAd, |
| 113 | OUT USHORT *Data); |
| 114 | |
| 115 | |
| 116 | VOID rt_ee_write_all( |
| 117 | IN PRTMP_ADAPTER pAd, |
| 118 | IN USHORT *Data); |
| 119 | |
| 120 | INT Set_ATE_Proc( |
| 121 | IN PRTMP_ADAPTER pAd, |
| 122 | IN PUCHAR arg); |
| 123 | |
| 124 | INT Set_ATE_DA_Proc( |
| 125 | IN PRTMP_ADAPTER pAd, |
| 126 | IN PUCHAR arg); |
| 127 | |
| 128 | INT Set_ATE_SA_Proc( |
| 129 | IN PRTMP_ADAPTER pAd, |
| 130 | IN PUCHAR arg); |
| 131 | |
| 132 | INT Set_ATE_BSSID_Proc( |
| 133 | IN PRTMP_ADAPTER pAd, |
| 134 | IN PUCHAR arg); |
| 135 | |
| 136 | INT Set_ATE_CHANNEL_Proc( |
| 137 | IN PRTMP_ADAPTER pAd, |
| 138 | IN PUCHAR arg); |
| 139 | |
| 140 | INT Set_ATE_TX_POWER0_Proc( |
| 141 | IN PRTMP_ADAPTER pAd, |
| 142 | IN PUCHAR arg); |
| 143 | |
| 144 | INT Set_ATE_TX_POWER1_Proc( |
| 145 | IN PRTMP_ADAPTER pAd, |
| 146 | IN PUCHAR arg); |
| 147 | |
| 148 | INT Set_ATE_TX_Antenna_Proc( |
| 149 | IN PRTMP_ADAPTER pAd, |
| 150 | IN PUCHAR arg); |
| 151 | |
| 152 | INT Set_ATE_RX_Antenna_Proc( |
| 153 | IN PRTMP_ADAPTER pAd, |
| 154 | IN PUCHAR arg); |
| 155 | |
| 156 | INT Set_ATE_TX_FREQOFFSET_Proc( |
| 157 | IN PRTMP_ADAPTER pAd, |
| 158 | IN PUCHAR arg); |
| 159 | |
| 160 | INT Set_ATE_TX_BW_Proc( |
| 161 | IN PRTMP_ADAPTER pAd, |
| 162 | IN PUCHAR arg); |
| 163 | |
| 164 | INT Set_ATE_TX_LENGTH_Proc( |
| 165 | IN PRTMP_ADAPTER pAd, |
| 166 | IN PUCHAR arg); |
| 167 | |
| 168 | INT Set_ATE_TX_COUNT_Proc( |
| 169 | IN PRTMP_ADAPTER pAd, |
| 170 | IN PUCHAR arg); |
| 171 | |
| 172 | INT Set_ATE_TX_MCS_Proc( |
| 173 | IN PRTMP_ADAPTER pAd, |
| 174 | IN PUCHAR arg); |
| 175 | |
| 176 | INT Set_ATE_TX_MODE_Proc( |
| 177 | IN PRTMP_ADAPTER pAd, |
| 178 | IN PUCHAR arg); |
| 179 | |
| 180 | INT Set_ATE_TX_GI_Proc( |
| 181 | IN PRTMP_ADAPTER pAd, |
| 182 | IN PUCHAR arg); |
| 183 | |
| 184 | |
| 185 | INT Set_ATE_RX_FER_Proc( |
| 186 | IN PRTMP_ADAPTER pAd, |
| 187 | IN PUCHAR arg); |
| 188 | |
| 189 | INT Set_ATE_Read_RF_Proc( |
| 190 | IN PRTMP_ADAPTER pAd, |
| 191 | IN PUCHAR arg); |
| 192 | |
| 193 | INT Set_ATE_Write_RF1_Proc( |
| 194 | IN PRTMP_ADAPTER pAd, |
| 195 | IN PUCHAR arg); |
| 196 | |
| 197 | INT Set_ATE_Write_RF2_Proc( |
| 198 | IN PRTMP_ADAPTER pAd, |
| 199 | IN PUCHAR arg); |
| 200 | |
| 201 | INT Set_ATE_Write_RF3_Proc( |
| 202 | IN PRTMP_ADAPTER pAd, |
| 203 | IN PUCHAR arg); |
| 204 | |
| 205 | INT Set_ATE_Write_RF4_Proc( |
| 206 | IN PRTMP_ADAPTER pAd, |
| 207 | IN PUCHAR arg); |
| 208 | |
| 209 | INT Set_ATE_Load_E2P_Proc( |
| 210 | IN PRTMP_ADAPTER pAd, |
| 211 | IN PUCHAR arg); |
| 212 | |
| 213 | INT Set_ATE_Read_E2P_Proc( |
| 214 | IN PRTMP_ADAPTER pAd, |
| 215 | IN PUCHAR arg); |
| 216 | |
| 217 | INT Set_ATE_Show_Proc( |
| 218 | IN PRTMP_ADAPTER pAd, |
| 219 | IN PUCHAR arg); |
| 220 | |
| 221 | INT Set_ATE_Help_Proc( |
| 222 | IN PRTMP_ADAPTER pAd, |
| 223 | IN PUCHAR arg); |
| 224 | |
| 225 | #ifdef RALINK_ATE |
| 226 | #ifdef RALINK_28xx_QA |
| 227 | VOID ATE_QA_Statistics( |
| 228 | IN PRTMP_ADAPTER pAd, |
| 229 | IN PRXWI_STRUC pRxWI, |
| 230 | IN PRT28XX_RXD_STRUC p28xxRxD, |
| 231 | IN PHEADER_802_11 pHeader); |
| 232 | |
| 233 | VOID RtmpDoAte( |
| 234 | IN PRTMP_ADAPTER pAdapter, |
| 235 | IN struct iwreq *wrq); |
| 236 | |
| 237 | VOID BubbleSort( |
| 238 | IN INT32 n, |
| 239 | IN INT32 a[]); |
| 240 | |
| 241 | VOID CalNoiseLevel( |
| 242 | IN PRTMP_ADAPTER pAdapter, |
| 243 | IN UCHAR channel, |
| 244 | OUT INT32 buffer[3][10]); |
| 245 | |
| 246 | BOOLEAN SyncTxRxConfig( |
| 247 | IN PRTMP_ADAPTER pAdapter, |
| 248 | IN USHORT offset, |
| 249 | IN UCHAR value); |
| 250 | |
| 251 | #if 0 |
| 252 | INT Set_TxStart_Proc( |
| 253 | IN PRTMP_ADAPTER pAd, |
| 254 | IN PUCHAR arg); |
| 255 | #endif // 0 // |
| 256 | |
| 257 | INT Set_TxStop_Proc( |
| 258 | IN PRTMP_ADAPTER pAd, |
| 259 | IN PUCHAR arg); |
| 260 | |
| 261 | INT Set_RxStop_Proc( |
| 262 | IN PRTMP_ADAPTER pAd, |
| 263 | IN PUCHAR arg); |
| 264 | |
| 265 | #if 0 |
| 266 | INT Set_EERead_Proc( |
| 267 | IN PRTMP_ADAPTER pAd, |
| 268 | IN PUCHAR arg); |
| 269 | |
| 270 | INT Set_EEWrite_Proc( |
| 271 | IN PRTMP_ADAPTER pAd, |
| 272 | IN PUCHAR arg); |
| 273 | |
| 274 | INT Set_BBPRead_Proc( |
| 275 | IN PRTMP_ADAPTER pAd, |
| 276 | IN PUCHAR arg); |
| 277 | |
| 278 | INT Set_BBPWrite_Proc( |
| 279 | IN PRTMP_ADAPTER pAd, |
| 280 | IN PUCHAR arg); |
| 281 | |
| 282 | INT Set_RFWrite_Proc( |
| 283 | IN PRTMP_ADAPTER pAd, |
| 284 | IN PUCHAR arg); |
| 285 | #endif // end of #if 0 // |
| 286 | #endif // RALINK_28xx_QA // |
| 287 | #endif // RALINK_ATE // |
| 288 | |
| 289 | VOID ATEAsicSwitchChannel( |
| 290 | IN PRTMP_ADAPTER pAd); |
| 291 | |
| 292 | VOID ATEAsicAdjustTxPower( |
| 293 | IN PRTMP_ADAPTER pAd); |
| 294 | |
| 295 | VOID ATEDisableAsicProtect( |
| 296 | IN PRTMP_ADAPTER pAd); |
| 297 | |
| 298 | CHAR ATEConvertToRssi( |
| 299 | IN PRTMP_ADAPTER pAd, |
| 300 | IN CHAR Rssi, |
| 301 | IN UCHAR RssiNumber); |
| 302 | |
| 303 | VOID ATESampleRssi( |
| 304 | IN PRTMP_ADAPTER pAd, |
| 305 | IN PRXWI_STRUC pRxWI); |
| 306 | |
| 307 | |
| 308 | #ifdef CONFIG_STA_SUPPORT |
| 309 | VOID RTMPStationStop( |
| 310 | IN PRTMP_ADAPTER pAd); |
| 311 | |
| 312 | VOID RTMPStationStart( |
| 313 | IN PRTMP_ADAPTER pAd); |
| 314 | #endif // CONFIG_STA_SUPPORT // |
| 315 | #endif // __ATE_H__ // |