4f0f70679088ca0fa8bbe5bfe30a5a5e68469df9
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / mt5931_kk / drv_wlan / include / mgmt / cnm_scan.h
1 /*
2 ** $Id: @(#)
3 */
4
5 /*! \file   "cnm_scan.h"
6     \brief
7
8 */
9
10 /*******************************************************************************
11 * Copyright (c) 2009 MediaTek Inc.
12 *
13 * All rights reserved. Copying, compilation, modification, distribution
14 * or any other use whatsoever of this material is strictly prohibited
15 * except in accordance with a Software License Agreement with
16 * MediaTek Inc.
17 ********************************************************************************
18 */
19
20 /*******************************************************************************
21 * LEGAL DISCLAIMER
22 *
23 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
24 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
25 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
26 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
27 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
28 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
29 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
30 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
31 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
32 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
33 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
34 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
35 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
36 *
37 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
38 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
39 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
40 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
41 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
42 *
43 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
44 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
45 * OF LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
46 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
47 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
48 * (ICC).
49 ********************************************************************************
50 */
51
52 /*
53 ** $Log: cnm_scan.h $
54  *
55  * 09 03 2010 kevin.huang
56  * NULL
57  * Refine #include sequence and solve recursive/nested #include issue
58  *
59  * 07 08 2010 cp.wu
60  * 
61  * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
62  *
63  * 07 05 2010 cp.wu
64  * [WPD00003833][MT6620 and MT5931] Driver migration 
65  * remove unused definitions.
66  *
67  * 07 01 2010 cp.wu
68  * [WPD00003833][MT6620 and MT5931] Driver migration 
69  * implementation of DRV-SCN and related mailbox message handling.
70  *
71  * 06 07 2010 cp.wu
72  * [WPD00003833][MT6620 and MT5931] Driver migration 
73  * merge cnm_scan.h and hem_mbox.h
74  *
75  * 05 12 2010 kevin.huang
76  * [BORA00000794][WIFISYS][New Feature]Power Management Support 
77  * Add Power Management - Legacy PS-POLL support.
78  *
79  * 03 30 2010 cm.chang
80  * [BORA00000018]Integrate WIFI part into BORA for the 1st time 
81  * Support 2.4G OBSS scan
82  *
83  * 03 16 2010 kevin.huang
84  * [BORA00000663][WIFISYS][New Feature] AdHoc Mode Support
85  * Add AdHoc Mode
86  *
87  * 03 10 2010 kevin.huang
88  * [BORA00000654][WIFISYS][New Feature] CNM Module - Ch Manager Support
89  *
90  *  *  *  * Add Channel Manager for arbitration of JOIN and SCAN Req
91  *
92  * 02 23 2010 kevin.huang
93  * [BORA00000603][WIFISYS] [New Feature] AAA Module Support
94  * Add support scan channel 1~14 and update scan result's frequency infou1rwduu`wvpghlqg|n`slk+mpdkb
95  *
96  * 02 04 2010 kevin.huang
97  * [BORA00000603][WIFISYS] [New Feature] AAA Module Support
98  * Add AAA Module Support, Revise Net Type to Net Type Index for array lookup
99  *
100  * Nov 18 2009 mtk01104
101  * [BORA00000018] Integrate WIFI part into BORA for the 1st time
102  * Add function prototype of cnmScanInit()
103  *
104  * Nov 5 2009 mtk01461
105  * [BORA00000018] Integrate WIFI part into BORA for the 1st time
106  *
107 **
108 */
109
110 #ifndef _CNM_SCAN_H
111 #define _CNM_SCAN_H
112
113 /*******************************************************************************
114 *                         C O M P I L E R   F L A G S
115 ********************************************************************************
116 */
117
118 /*******************************************************************************
119 *                    E X T E R N A L   R E F E R E N C E S
120 ********************************************************************************
121 */
122
123 /*******************************************************************************
124 *                              C O N S T A N T S
125 ********************************************************************************
126 */
127 #define SCN_CHANNEL_DWELL_TIME_MIN_MSEC         12
128 #define SCN_CHANNEL_DWELL_TIME_EXT_MSEC         98
129
130 #define SCN_TOTAL_PROBEREQ_NUM_FOR_FULL         3
131 #define SCN_SPECIFIC_PROBEREQ_NUM_FOR_FULL      1
132
133 #define SCN_TOTAL_PROBEREQ_NUM_FOR_PARTIAL      2
134 #define SCN_SPECIFIC_PROBEREQ_NUM_FOR_PARTIAL   1
135
136
137 #define SCN_INTERLACED_CHANNEL_GROUPS_NUM       3   /* Used by partial scan */
138
139 #define SCN_PARTIAL_SCAN_NUM                    3
140
141 #define SCN_PARTIAL_SCAN_IDLE_MSEC              100
142
143 #define MAXIMUM_OPERATION_CHANNEL_LIST          32
144
145 /*******************************************************************************
146 *                             D A T A   T Y P E S
147 ********************************************************************************
148 */
149 /* The type of Scan Source */
150 typedef enum _ENUM_SCN_REQ_SOURCE_T {
151     SCN_REQ_SOURCE_HEM = 0,
152     SCN_REQ_SOURCE_NET_FSM,
153     SCN_REQ_SOURCE_ROAMING, /* ROAMING Module is independent of AIS FSM */
154     SCN_REQ_SOURCE_OBSS,    /* 2.4G OBSS scan */
155     SCN_REQ_SOURCE_NUM
156 } ENUM_SCN_REQ_SOURCE_T, *P_ENUM_SCN_REQ_SOURCE_T;
157
158 typedef enum _ENUM_SCAN_PROFILE_T {
159     SCAN_PROFILE_FULL = 0,
160     SCAN_PROFILE_PARTIAL,
161     SCAN_PROFILE_VOIP,
162     SCAN_PROFILE_FULL_2G4,
163     SCAN_PROFILE_NUM
164 } ENUM_SCAN_PROFILE_T, *P_ENUM_SCAN_PROFILE_T;
165
166 /*******************************************************************************
167 *                            P U B L I C   D A T A
168 ********************************************************************************
169 */
170
171 /*******************************************************************************
172 *                           P R I V A T E   D A T A
173 ********************************************************************************
174 */
175
176 /*******************************************************************************
177 *                                 M A C R O S
178 ********************************************************************************
179 */
180
181 /*******************************************************************************
182 *                   F U N C T I O N   D E C L A R A T I O N S
183 ********************************************************************************
184 */
185
186 /*******************************************************************************
187 *                              F U N C T I O N S
188 ********************************************************************************
189 */
190 #if 0
191 VOID
192 cnmScanInit (
193     VOID
194     );
195
196 VOID
197 cnmScanRunEventScanRequest (
198     IN P_MSG_HDR_T prMsgHdr
199     );
200
201 BOOLEAN
202 cnmScanRunEventScanAbort (
203     IN P_MSG_HDR_T prMsgHdr
204     );
205
206 VOID
207 cnmScanProfileSelection (
208     VOID
209     );
210
211 VOID
212 cnmScanProcessStart (
213     VOID
214     );
215
216 VOID
217 cnmScanProcessStop (
218     VOID
219     );
220
221 VOID
222 cnmScanRunEventReqAISAbsDone (
223     IN P_MSG_HDR_T prMsgHdr
224     );
225
226 VOID
227 cnmScanRunEventCancelAISAbsDone (
228     IN P_MSG_HDR_T prMsgHdr
229     );
230
231 VOID
232 cnmScanPartialScanTimeout (
233     UINT_32 u4Param
234     );
235
236 VOID
237 cnmScanRunEventScnFsmComplete (
238     IN P_MSG_HDR_T prMsgHdr
239     );
240 #endif
241
242
243
244 #endif /* _CNM_SCAN_H */
245
246