]> bbs.cooldavid.org Git - net-next-2.6.git/blob - drivers/staging/rt3090/dfs.h
Staging: rt2860: add RT3090 chipset support
[net-next-2.6.git] / drivers / staging / rt3090 / dfs.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     Module Name:
28     dfs.h
29
30     Abstract:
31     Miniport generic portion header file
32
33     Revision History:
34     Who         When          What
35     --------    ----------    ----------------------------------------------
36     Fonchi    03-12-2007      created
37 */
38
39 #define RADAR_PULSE 1
40 #define RADAR_WIDTH 2
41
42 #define WIDTH_RD_IDLE 0
43 #define WIDTH_RD_CHECK 1
44
45
46
47 /*************************************************************************
48   *
49   *     DFS Radar related definitions.
50   *
51   ************************************************************************/
52 //#define CARRIER_DETECT_TASK_NUM       6
53 //#define RADAR_DETECT_TASK_NUM 7
54
55 // McuRadarState && McuCarrierState for 2880-SW-MCU
56 #define FREE_FOR_TX                             0
57 #define WAIT_CTS_BEING_SENT             1
58 #define DO_DETECTION                    2
59
60 // McuRadarEvent
61 #define RADAR_EVENT_CTS_SENT                    0x01 // Host signal MCU that CTS has been sent
62 #define RADAR_EVENT_CTS_CARRIER_SENT    0x02 // Host signal MCU that CTS has been sent (Carrier)
63 #define RADAR_EVENT_RADAR_DETECTING             0x04 // Radar detection is on going, carrier detection hold back
64 #define RADAR_EVENT_CARRIER_DETECTING   0x08 // Carrier detection is on going, radar detection hold back
65 #define RADAR_EVENT_WIDTH_RADAR                 0x10 // BBP == 2 radar detected
66 #define RADAR_EVENT_CTS_KICKED                  0x20 // Radar detection need to sent double CTS, first CTS sent
67
68 // McuRadarCmd
69 #define DETECTION_STOP                  0
70 #define RADAR_DETECTION                 1
71 #define CARRIER_DETECTION               2
72
73
74
75 #ifdef TONE_RADAR_DETECT_SUPPORT
76 INT Set_CarrierCriteria_Proc(IN PRTMP_ADAPTER pAd, IN PSTRING arg);
77 int Set_CarrierReCheck_Proc(IN PRTMP_ADAPTER pAd, IN PSTRING arg);
78 INT Set_CarrierStopCheck_Proc(IN PRTMP_ADAPTER pAd, IN PSTRING arg);
79 void NewCarrierDetectionStart(PRTMP_ADAPTER pAd);
80 void RTMPHandleRadarInterrupt(PRTMP_ADAPTER  pAd);
81 VOID CSAsicDisableSync(IN PRTMP_ADAPTER pAd);
82 #endif // TONE_RADAR_DETECT_SUPPORT //
83
84
85 VOID BbpRadarDetectionStart(
86         IN PRTMP_ADAPTER pAd);
87
88 VOID BbpRadarDetectionStop(
89         IN PRTMP_ADAPTER pAd);
90
91 VOID RadarDetectionStart(
92         IN PRTMP_ADAPTER pAd,
93         IN BOOLEAN CTS_Protect,
94         IN UINT8 CTSPeriod);
95
96 VOID RadarDetectionStop(
97         IN PRTMP_ADAPTER        pAd);
98
99 VOID RadarDetectPeriodic(
100         IN PRTMP_ADAPTER        pAd);
101
102
103 BOOLEAN RadarChannelCheck(
104         IN PRTMP_ADAPTER        pAd,
105         IN UCHAR                        Ch);
106
107 ULONG JapRadarType(
108         IN PRTMP_ADAPTER pAd);
109
110 ULONG RTMPBbpReadRadarDuration(
111         IN PRTMP_ADAPTER        pAd);
112
113 ULONG RTMPReadRadarDuration(
114         IN PRTMP_ADAPTER        pAd);
115
116 VOID RTMPCleanRadarDuration(
117         IN PRTMP_ADAPTER        pAd);
118
119 VOID RTMPPrepareRDCTSFrame(
120         IN      PRTMP_ADAPTER   pAd,
121         IN      PUCHAR                  pDA,
122         IN      ULONG                   Duration,
123         IN  UCHAR           RTSRate,
124         IN  ULONG           CTSBaseAddr,
125         IN  UCHAR                       FrameGap);
126
127 VOID RTMPPrepareRadarDetectParams(
128         IN PRTMP_ADAPTER        pAd);
129
130
131 INT Set_ChMovingTime_Proc(
132         IN PRTMP_ADAPTER pAd,
133         IN PSTRING arg);
134
135 INT Set_LongPulseRadarTh_Proc(
136         IN PRTMP_ADAPTER pAd,
137         IN PSTRING arg);