b3d2993f801a3372f4273d325b67a8db8efd6890
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / mt5931 / include / mgmt / cnm_scan.h
1 /*
2 ** $Id: @(#)
3 */
4
5 /*! \file   "cnm_scan.h"
6     \brief
7
8 */
9
10
11
12 /*
13 ** $Log: cnm_scan.h $
14  *
15  * 09 03 2010 kevin.huang
16  * NULL
17  * Refine #include sequence and solve recursive/nested #include issue
18  *
19  * 07 08 2010 cp.wu
20  * 
21  * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
22  *
23  * 07 05 2010 cp.wu
24  * [WPD00003833][MT6620 and MT5931] Driver migration 
25  * remove unused definitions.
26  *
27  * 07 01 2010 cp.wu
28  * [WPD00003833][MT6620 and MT5931] Driver migration 
29  * implementation of DRV-SCN and related mailbox message handling.
30  *
31  * 06 07 2010 cp.wu
32  * [WPD00003833][MT6620 and MT5931] Driver migration 
33  * merge cnm_scan.h and hem_mbox.h
34  *
35  * 05 12 2010 kevin.huang
36  * [BORA00000794][WIFISYS][New Feature]Power Management Support 
37  * Add Power Management - Legacy PS-POLL support.
38  *
39  * 03 30 2010 cm.chang
40  * [BORA00000018]Integrate WIFI part into BORA for the 1st time 
41  * Support 2.4G OBSS scan
42  *
43  * 03 16 2010 kevin.huang
44  * [BORA00000663][WIFISYS][New Feature] AdHoc Mode Support
45  * Add AdHoc Mode
46  *
47  * 03 10 2010 kevin.huang
48  * [BORA00000654][WIFISYS][New Feature] CNM Module - Ch Manager Support
49  *
50  *  *  *  * Add Channel Manager for arbitration of JOIN and SCAN Req
51  *
52  * 02 23 2010 kevin.huang
53  * [BORA00000603][WIFISYS] [New Feature] AAA Module Support
54  * Add support scan channel 1~14 and update scan result's frequency infou1rwduu`wvpghlqg|n`slk+mpdkb
55  *
56  * 02 04 2010 kevin.huang
57  * [BORA00000603][WIFISYS] [New Feature] AAA Module Support
58  * Add AAA Module Support, Revise Net Type to Net Type Index for array lookup
59  *
60  * Nov 18 2009 mtk01104
61  * [BORA00000018] Integrate WIFI part into BORA for the 1st time
62  * Add function prototype of cnmScanInit()
63  *
64  * Nov 5 2009 mtk01461
65  * [BORA00000018] Integrate WIFI part into BORA for the 1st time
66  *
67 **
68 */
69
70 #ifndef _CNM_SCAN_H
71 #define _CNM_SCAN_H
72
73 /*******************************************************************************
74 *                         C O M P I L E R   F L A G S
75 ********************************************************************************
76 */
77
78 /*******************************************************************************
79 *                    E X T E R N A L   R E F E R E N C E S
80 ********************************************************************************
81 */
82
83 /*******************************************************************************
84 *                              C O N S T A N T S
85 ********************************************************************************
86 */
87 #define SCN_CHANNEL_DWELL_TIME_MIN_MSEC         12
88 #define SCN_CHANNEL_DWELL_TIME_EXT_MSEC         98
89
90 #define SCN_TOTAL_PROBEREQ_NUM_FOR_FULL         3
91 #define SCN_SPECIFIC_PROBEREQ_NUM_FOR_FULL      1
92
93 #define SCN_TOTAL_PROBEREQ_NUM_FOR_PARTIAL      2
94 #define SCN_SPECIFIC_PROBEREQ_NUM_FOR_PARTIAL   1
95
96
97 #define SCN_INTERLACED_CHANNEL_GROUPS_NUM       3   /* Used by partial scan */
98
99 #define SCN_PARTIAL_SCAN_NUM                    3
100
101 #define SCN_PARTIAL_SCAN_IDLE_MSEC              100
102
103 #define MAXIMUM_OPERATION_CHANNEL_LIST          32
104
105 /*******************************************************************************
106 *                             D A T A   T Y P E S
107 ********************************************************************************
108 */
109 /* The type of Scan Source */
110 typedef enum _ENUM_SCN_REQ_SOURCE_T {
111     SCN_REQ_SOURCE_HEM = 0,
112     SCN_REQ_SOURCE_NET_FSM,
113     SCN_REQ_SOURCE_ROAMING, /* ROAMING Module is independent of AIS FSM */
114     SCN_REQ_SOURCE_OBSS,    /* 2.4G OBSS scan */
115     SCN_REQ_SOURCE_NUM
116 } ENUM_SCN_REQ_SOURCE_T, *P_ENUM_SCN_REQ_SOURCE_T;
117
118 typedef enum _ENUM_SCAN_PROFILE_T {
119     SCAN_PROFILE_FULL = 0,
120     SCAN_PROFILE_PARTIAL,
121     SCAN_PROFILE_VOIP,
122     SCAN_PROFILE_FULL_2G4,
123     SCAN_PROFILE_NUM
124 } ENUM_SCAN_PROFILE_T, *P_ENUM_SCAN_PROFILE_T;
125
126 /*******************************************************************************
127 *                            P U B L I C   D A T A
128 ********************************************************************************
129 */
130
131 /*******************************************************************************
132 *                           P R I V A T E   D A T A
133 ********************************************************************************
134 */
135
136 /*******************************************************************************
137 *                                 M A C R O S
138 ********************************************************************************
139 */
140
141 /*******************************************************************************
142 *                   F U N C T I O N   D E C L A R A T I O N S
143 ********************************************************************************
144 */
145
146 /*******************************************************************************
147 *                              F U N C T I O N S
148 ********************************************************************************
149 */
150 #if 0
151 VOID
152 cnmScanInit (
153     VOID
154     );
155
156 VOID
157 cnmScanRunEventScanRequest (
158     IN P_MSG_HDR_T prMsgHdr
159     );
160
161 BOOLEAN
162 cnmScanRunEventScanAbort (
163     IN P_MSG_HDR_T prMsgHdr
164     );
165
166 VOID
167 cnmScanProfileSelection (
168     VOID
169     );
170
171 VOID
172 cnmScanProcessStart (
173     VOID
174     );
175
176 VOID
177 cnmScanProcessStop (
178     VOID
179     );
180
181 VOID
182 cnmScanRunEventReqAISAbsDone (
183     IN P_MSG_HDR_T prMsgHdr
184     );
185
186 VOID
187 cnmScanRunEventCancelAISAbsDone (
188     IN P_MSG_HDR_T prMsgHdr
189     );
190
191 VOID
192 cnmScanPartialScanTimeout (
193     UINT_32 u4Param
194     );
195
196 VOID
197 cnmScanRunEventScnFsmComplete (
198     IN P_MSG_HDR_T prMsgHdr
199     );
200 #endif
201
202
203
204 #endif /* _CNM_SCAN_H */
205
206