blob: 19e74623c100664166bb4f41089ce9b50918881a [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
42/**=========================================================================
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -080043* Copyright (c) 2013 Qualcomm Atheros, Inc.
44* All Rights Reserved.
45* Qualcomm Atheros Confidential and Proprietary.
Jeff Johnson295189b2012-06-20 16:38:30 -070046 \file macTrace.c
47
48 \brief implementation for trace related APIs
49
50 \author Sunit Bhatia
51
52 Copyright 2008 (c) Qualcomm, Incorporated. All Rights Reserved.
53
54 Qualcomm Confidential and Proprietary.
55
56 ========================================================================*/
57
58
59/*--------------------------------------------------------------------------
60 Include Files
61 ------------------------------------------------------------------------*/
62
63#include "macTrace.h"
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -080064#include "wlan_qct_wda.h"
Jeff Johnson295189b2012-06-20 16:38:30 -070065
Madan Mohan Koyyalamudi8af9b402013-07-11 14:59:10 +053066#include "wlan_hdd_assoc.h"
67#include "wlan_hdd_main.h"
68#ifdef CONFIG_CFG80211
69#include "wlan_hdd_p2p.h"
70#endif
71#include "csrNeighborRoam.h"
72#include "csrInternal.h"
73#include "limGlobal.h"
74#include "wlan_qct_tl.h"
Jeff Johnson295189b2012-06-20 16:38:30 -070075
76#ifdef TRACE_RECORD
77static tTraceRecord gTraceTbl[MAX_TRACE_RECORDS];
78static tTraceData gTraceData;
79static tpTraceCb traceCBTable[VOS_MODULE_ID_MAX];
80
Madan Mohan Koyyalamudi8af9b402013-07-11 14:59:10 +053081/* ---------------------------------------------------------------------------
82 \fn macTraceGetHDDWlanConnState
83 \function to get string equivalent of a value
84 from the enum eConnectionState.
Jeff Johnson295189b2012-06-20 16:38:30 -070085
Madan Mohan Koyyalamudi8af9b402013-07-11 14:59:10 +053086 \param connState - the value from the enum
87 \return the string equivalent of connState
88 ---------------------------------------------------------------------------*/
89tANI_U8* macTraceGetHDDWlanConnState(tANI_U16 connState)
90{
91 switch(connState)
92 {
93 CASE_RETURN_STRING(eConnectionState_NotConnected);
94 CASE_RETURN_STRING(eConnectionState_Connecting);
95 CASE_RETURN_STRING(eConnectionState_Associated);
96 CASE_RETURN_STRING(eConnectionState_IbssDisconnected);
97 CASE_RETURN_STRING(eConnectionState_IbssConnected);
98 CASE_RETURN_STRING(eConnectionState_Disconnecting);
Jeff Johnson295189b2012-06-20 16:38:30 -070099
Madan Mohan Koyyalamudi8af9b402013-07-11 14:59:10 +0530100 default:
101 return( (tANI_U8*)"UNKNOWN" );
102 break;
103 }
104}
Jeff Johnson295189b2012-06-20 16:38:30 -0700105
Madan Mohan Koyyalamudi8af9b402013-07-11 14:59:10 +0530106/* ---------------------------------------------------------------------------
107 \fn macTraceGetP2PConnState
108 \function to get string equivalent of a value
109 from the enum tP2PConnectionStatus.
110
111 \param connState - the value from the enum
112 \return the string equivalent of connState
113 ---------------------------------------------------------------------------*/
114#ifdef WLAN_FEATURE_P2P_DEBUG
115tANI_U8* macTraceGetP2PConnState(tANI_U16 connState)
116{
117 switch(connState)
118 {
119 CASE_RETURN_STRING(P2P_NOT_ACTIVE);
120 CASE_RETURN_STRING(P2P_GO_NEG_PROCESS);
121 CASE_RETURN_STRING(P2P_GO_NEG_COMPLETED);
122 CASE_RETURN_STRING(P2P_CLIENT_CONNECTING_STATE_1);
123 CASE_RETURN_STRING(P2P_GO_COMPLETED_STATE);
124 CASE_RETURN_STRING(P2P_CLIENT_CONNECTED_STATE_1);
125 CASE_RETURN_STRING(P2P_CLIENT_DISCONNECTED_STATE);
126 CASE_RETURN_STRING(P2P_CLIENT_CONNECTING_STATE_2);
127 CASE_RETURN_STRING(P2P_CLIENT_COMPLETED_STATE);
128
129 default:
130 return( (tANI_U8*)"UNKNOWN" );
131 break;
132 }
133}
134#endif
135
136/* ---------------------------------------------------------------------------
137 \fn macTraceGetNeighbourRoamState
138 \function to get string equivalent of a value
139 from the enum eCsrNeighborRoamState.
140
141 \param neighbourRoamState - the value from the enum
142 \return the string equivalent of neighbourRoamState
143 ---------------------------------------------------------------------------*/
144tANI_U8* macTraceGetNeighbourRoamState(tANI_U16 neighbourRoamState)
145{
146 switch(neighbourRoamState)
147 {
148 CASE_RETURN_STRING(eCSR_NEIGHBOR_ROAM_STATE_CLOSED);
149 CASE_RETURN_STRING(eCSR_NEIGHBOR_ROAM_STATE_INIT);
150 CASE_RETURN_STRING(eCSR_NEIGHBOR_ROAM_STATE_CONNECTED);
151 CASE_RETURN_STRING(eCSR_NEIGHBOR_ROAM_STATE_CFG_CHAN_LIST_SCAN);
152 CASE_RETURN_STRING(eCSR_NEIGHBOR_ROAM_STATE_REASSOCIATING);
153 #ifdef WLAN_FEATURE_VOWIFI_11R
154 CASE_RETURN_STRING(eCSR_NEIGHBOR_ROAM_STATE_REPORT_QUERY);
155 CASE_RETURN_STRING(eCSR_NEIGHBOR_ROAM_STATE_REPORT_SCAN);
156 CASE_RETURN_STRING(eCSR_NEIGHBOR_ROAM_STATE_PREAUTHENTICATING);
157 CASE_RETURN_STRING(eCSR_NEIGHBOR_ROAM_STATE_PREAUTH_DONE);
158 #endif /* WLAN_FEATURE_VOWIFI_11R */
159 CASE_RETURN_STRING(eNEIGHBOR_STATE_MAX);
160
161 default:
162 return( (tANI_U8*)"UNKNOWN" );
163 break;
164 }
165}
166
167/* ---------------------------------------------------------------------------
168 \fn macTraceGetcsrRoamState
169 \function to get string equivalent of a value
170 from the enum eCsrRoamState.
171
172 \param csrRoamState - the value from the enum
173 \return the string equivalent of csrRoamState
174 ---------------------------------------------------------------------------*/
175tANI_U8* macTraceGetcsrRoamState(tANI_U16 csrRoamState)
176{
177 switch(csrRoamState)
178 {
179 CASE_RETURN_STRING(eCSR_ROAMING_STATE_STOP);
180 CASE_RETURN_STRING(eCSR_ROAMING_STATE_IDLE);
181 CASE_RETURN_STRING(eCSR_ROAMING_STATE_SCANNING);
182 CASE_RETURN_STRING(eCSR_ROAMING_STATE_JOINING);
183 CASE_RETURN_STRING(eCSR_ROAMING_STATE_JOINED);
184
185 default:
186 return( (tANI_U8*)"UNKNOWN" );
187 break;
188 }
189}
190
191/* ---------------------------------------------------------------------------
192 \fn macTraceGetcsrRoamSubState
193 \function to get string equivalent of a value
194 from the enum eCsrRoamSubState.
195
196 \param csrRoamSubState - the value from the enum
197 \return the string equivalent of csrRoamSubState
198 ---------------------------------------------------------------------------*/
199tANI_U8* macTraceGetcsrRoamSubState(tANI_U16 csrRoamSubState)
200{
201 switch(csrRoamSubState)
202 {
203 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_NONE);
204 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_START_BSS_REQ);
205 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_JOIN_REQ);
206 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_REASSOC_REQ);
207 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_DISASSOC_REQ);
208 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_STOP_BSS_REQ);
209 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_DISCONNECT_CONTINUE_ROAMING);
210 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_AUTH_REQ);
211 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_CONFIG);
212 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_DEAUTH_REQ);
213 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_DISASSOC_NOTHING_TO_JOIN);
214 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_DISASSOC_REASSOC_FAILURE);
215 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_DISASSOC_FORCED);
216 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_WAIT_FOR_KEY);
217 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_DISASSOC_HANDOFF);
218 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_JOINED_NO_TRAFFIC);
219 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_JOINED_NON_REALTIME_TRAFFIC);
220 CASE_RETURN_STRING(eCSR_ROAM_SUBSTATE_JOINED_REALTIME_TRAFFIC);
221
222 default:
223 return( (tANI_U8*)"UNKNOWN" );
224 break;
225 }
226}
227
228/* ---------------------------------------------------------------------------
229 \fn macTraceGetLimSmeState
230 \function to get string equivalent of a value
231 from the enum tLimSmeStates.
232
233 \param limState - the value from the enum
234 \return the string equivalent of limState
235 ---------------------------------------------------------------------------*/
236tANI_U8* macTraceGetLimSmeState(tANI_U16 limState)
237{
238 switch(limState)
239 {
240 CASE_RETURN_STRING(eLIM_SME_OFFLINE_STATE);
241 CASE_RETURN_STRING(eLIM_SME_IDLE_STATE);
242 CASE_RETURN_STRING(eLIM_SME_SUSPEND_STATE);
243 CASE_RETURN_STRING(eLIM_SME_WT_SCAN_STATE);
244 CASE_RETURN_STRING(eLIM_SME_WT_JOIN_STATE);
245 CASE_RETURN_STRING(eLIM_SME_WT_AUTH_STATE);
246 CASE_RETURN_STRING(eLIM_SME_WT_ASSOC_STATE);
247 CASE_RETURN_STRING(eLIM_SME_WT_REASSOC_STATE);
248 CASE_RETURN_STRING(eLIM_SME_WT_REASSOC_LINK_FAIL_STATE);
249 CASE_RETURN_STRING(eLIM_SME_JOIN_FAILURE_STATE);
250 CASE_RETURN_STRING(eLIM_SME_ASSOCIATED_STATE);
251 CASE_RETURN_STRING(eLIM_SME_REASSOCIATED_STATE);
252 CASE_RETURN_STRING(eLIM_SME_LINK_EST_STATE);
253 CASE_RETURN_STRING(eLIM_SME_LINK_EST_WT_SCAN_STATE);
254 CASE_RETURN_STRING(eLIM_SME_WT_PRE_AUTH_STATE);
255 CASE_RETURN_STRING(eLIM_SME_WT_DISASSOC_STATE);
256 CASE_RETURN_STRING(eLIM_SME_WT_DEAUTH_STATE);
257 CASE_RETURN_STRING(eLIM_SME_WT_START_BSS_STATE);
258 CASE_RETURN_STRING(eLIM_SME_WT_STOP_BSS_STATE);
259 CASE_RETURN_STRING(eLIM_SME_NORMAL_STATE);
260 CASE_RETURN_STRING(eLIM_SME_CHANNEL_SCAN_STATE);
261 CASE_RETURN_STRING(eLIM_SME_NORMAL_CHANNEL_SCAN_STATE);
262
263 default:
264 return( (tANI_U8*)"UNKNOWN" );
265 break;
266 }
267}
268
269/* ---------------------------------------------------------------------------
270 \fn macTraceGetLimMlmState
271 \function to get string equivalent of a value
272 from the enum tLimMlmStates.
273
274 \param mlmState - the value from the enum
275 \return the string equivalent of mlmState
276 ---------------------------------------------------------------------------*/
277tANI_U8* macTraceGetLimMlmState(tANI_U16 mlmState)
278{
279 switch(mlmState)
280 {
281 CASE_RETURN_STRING(eLIM_MLM_OFFLINE_STATE);
282 CASE_RETURN_STRING(eLIM_MLM_IDLE_STATE);
283 CASE_RETURN_STRING(eLIM_MLM_WT_PROBE_RESP_STATE);
284 CASE_RETURN_STRING(eLIM_MLM_PASSIVE_SCAN_STATE);
285 CASE_RETURN_STRING(eLIM_MLM_WT_JOIN_BEACON_STATE);
286 CASE_RETURN_STRING(eLIM_MLM_JOINED_STATE);
287 CASE_RETURN_STRING(eLIM_MLM_BSS_STARTED_STATE);
288 CASE_RETURN_STRING(eLIM_MLM_WT_AUTH_FRAME2_STATE);
289 CASE_RETURN_STRING(eLIM_MLM_WT_AUTH_FRAME3_STATE);
290 CASE_RETURN_STRING(eLIM_MLM_WT_AUTH_FRAME4_STATE);
291 CASE_RETURN_STRING(eLIM_MLM_AUTH_RSP_TIMEOUT_STATE);
292 CASE_RETURN_STRING(eLIM_MLM_AUTHENTICATED_STATE);
293 CASE_RETURN_STRING(eLIM_MLM_WT_ASSOC_RSP_STATE);
294 CASE_RETURN_STRING(eLIM_MLM_WT_REASSOC_RSP_STATE);
295 CASE_RETURN_STRING(eLIM_MLM_ASSOCIATED_STATE);
296 CASE_RETURN_STRING(eLIM_MLM_REASSOCIATED_STATE);
297 CASE_RETURN_STRING(eLIM_MLM_LINK_ESTABLISHED_STATE);
298 CASE_RETURN_STRING(eLIM_MLM_WT_ASSOC_CNF_STATE);
299 CASE_RETURN_STRING(eLIM_MLM_LEARN_STATE);
300 CASE_RETURN_STRING(eLIM_MLM_WT_ADD_BSS_RSP_STATE);
301 CASE_RETURN_STRING(eLIM_MLM_WT_DEL_BSS_RSP_STATE);
302 CASE_RETURN_STRING(eLIM_MLM_WT_ADD_BSS_RSP_ASSOC_STATE);
303 CASE_RETURN_STRING(eLIM_MLM_WT_ADD_BSS_RSP_REASSOC_STATE);
304 CASE_RETURN_STRING(eLIM_MLM_WT_ADD_BSS_RSP_PREASSOC_STATE);
305 CASE_RETURN_STRING(eLIM_MLM_WT_ADD_STA_RSP_STATE);
306 CASE_RETURN_STRING(eLIM_MLM_WT_DEL_STA_RSP_STATE);
307
308 default:
309 return( (tANI_U8*)"UNKNOWN" );
310 break;
311 }
312}
313
314/* ---------------------------------------------------------------------------
315 \fn macTraceGetTLState
316 \function to get string equivalent of a value
317 from the enum WLANTL_STAStateType.
318
319 \param tlState - the value from the enum
320 \return the string equivalent of tlState
321 ---------------------------------------------------------------------------*/
322tANI_U8* macTraceGetTLState(tANI_U16 tlState)
323{
324 switch(tlState)
325 {
326 CASE_RETURN_STRING(WLANTL_STA_INIT);
327 CASE_RETURN_STRING(WLANTL_STA_CONNECTED);
328 CASE_RETURN_STRING(WLANTL_STA_AUTHENTICATED);
329 CASE_RETURN_STRING(WLANTL_STA_DISCONNECTED);
330 CASE_RETURN_STRING(WLANTL_STA_MAX_STATE);
331
332 default:
333 return( (tANI_U8*)"UNKNOWN" );
334 break;
335 }
336}
Jeff Johnson295189b2012-06-20 16:38:30 -0700337
338tANI_U8* macTraceGetSmeMsgString( tANI_U16 smeMsg )
339{
340 switch( smeMsg )
341 {
342 CASE_RETURN_STRING(eWNI_SME_START_REQ);
343 CASE_RETURN_STRING(eWNI_SME_START_RSP);
344 CASE_RETURN_STRING(eWNI_SME_SYS_READY_IND);
345 CASE_RETURN_STRING(eWNI_SME_SCAN_REQ);
346 CASE_RETURN_STRING(eWNI_SME_SCAN_ABORT_IND);
347 CASE_RETURN_STRING(eWNI_SME_SCAN_RSP);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800348#ifdef FEATURE_OEM_DATA_SUPPORT
349 CASE_RETURN_STRING(eWNI_SME_OEM_DATA_REQ);
350 CASE_RETURN_STRING(eWNI_SME_OEM_DATA_RSP);
351#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700352 CASE_RETURN_STRING(eWNI_SME_JOIN_REQ);
353 CASE_RETURN_STRING(eWNI_SME_JOIN_RSP);
354 CASE_RETURN_STRING(eWNI_SME_SETCONTEXT_REQ);
355 CASE_RETURN_STRING(eWNI_SME_SETCONTEXT_RSP);
356 CASE_RETURN_STRING(eWNI_SME_REASSOC_REQ);
357 CASE_RETURN_STRING(eWNI_SME_REASSOC_RSP);
358 CASE_RETURN_STRING(eWNI_SME_AUTH_REQ);
359 CASE_RETURN_STRING(eWNI_SME_AUTH_RSP);
360 CASE_RETURN_STRING(eWNI_SME_DISASSOC_REQ);
361 CASE_RETURN_STRING(eWNI_SME_DISASSOC_RSP);
362 CASE_RETURN_STRING(eWNI_SME_DISASSOC_IND);
363 CASE_RETURN_STRING(eWNI_SME_DISASSOC_CNF);
364 CASE_RETURN_STRING(eWNI_SME_DEAUTH_REQ);
365 CASE_RETURN_STRING(eWNI_SME_DEAUTH_RSP);
366 CASE_RETURN_STRING(eWNI_SME_DEAUTH_IND);
367 CASE_RETURN_STRING(eWNI_SME_WM_STATUS_CHANGE_NTF);
368 CASE_RETURN_STRING(eWNI_SME_IBSS_NEW_PEER_IND);
369 CASE_RETURN_STRING(eWNI_SME_IBSS_PEER_DEPARTED_IND);
370 CASE_RETURN_STRING(eWNI_SME_START_BSS_REQ);
371 CASE_RETURN_STRING(eWNI_SME_START_BSS_RSP);
372 CASE_RETURN_STRING(eWNI_SME_AUTH_IND);
373 CASE_RETURN_STRING(eWNI_SME_ASSOC_IND);
374 CASE_RETURN_STRING(eWNI_SME_ASSOC_CNF);
375 CASE_RETURN_STRING(eWNI_SME_REASSOC_IND);
376 CASE_RETURN_STRING(eWNI_SME_REASSOC_CNF);
377 CASE_RETURN_STRING(eWNI_SME_SWITCH_CHL_REQ);
378 CASE_RETURN_STRING(eWNI_SME_SWITCH_CHL_RSP);
379 CASE_RETURN_STRING(eWNI_SME_STOP_BSS_REQ);
380 CASE_RETURN_STRING(eWNI_SME_STOP_BSS_RSP);
381 CASE_RETURN_STRING(eWNI_SME_DEL_BA_PEER_IND);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800382 CASE_RETURN_STRING(eWNI_SME_DEFINE_QOS_REQ);
383 CASE_RETURN_STRING(eWNI_SME_DEFINE_QOS_RSP);
384 CASE_RETURN_STRING(eWNI_SME_DELETE_QOS_REQ);
385 CASE_RETURN_STRING(eWNI_SME_DELETE_QOS_RSP);
Jeff Johnson295189b2012-06-20 16:38:30 -0700386 CASE_RETURN_STRING(eWNI_SME_PROMISCUOUS_MODE_REQ);
387 CASE_RETURN_STRING(eWNI_SME_PROMISCUOUS_MODE_RSP);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800388 CASE_RETURN_STRING(eWNI_SME_LINK_TEST_START_REQ);
389 CASE_RETURN_STRING(eWNI_SME_LINK_TEST_START_RSP);
390 CASE_RETURN_STRING(eWNI_SME_LINK_TEST_STOP_REQ);
391 CASE_RETURN_STRING(eWNI_SME_LINK_TEST_STOP_RSP);
392 CASE_RETURN_STRING(eWNI_SME_LINK_TEST_REPORT_IND);
Jeff Johnson295189b2012-06-20 16:38:30 -0700393 CASE_RETURN_STRING(eWNI_SME_NEIGHBOR_BSS_IND);
394 CASE_RETURN_STRING(eWNI_SME_MEASUREMENT_REQ);
395 CASE_RETURN_STRING(eWNI_SME_MEASUREMENT_RSP);
396 CASE_RETURN_STRING(eWNI_SME_MEASUREMENT_IND);
397 CASE_RETURN_STRING(eWNI_SME_SET_WDS_INFO_REQ);
398 CASE_RETURN_STRING(eWNI_SME_SET_WDS_INFO_RSP);
399 CASE_RETURN_STRING(eWNI_SME_WDS_INFO_IND);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800400 CASE_RETURN_STRING(eWNI_SME_SET_POWER_REQ);
401 CASE_RETURN_STRING(eWNI_SME_SET_POWER_RSP);
402 CASE_RETURN_STRING(eWNI_SME_CLIENT_SIDE_LOAD_BALANCE_REQ);
403 CASE_RETURN_STRING(eWNI_SME_CLIENT_SIDE_LOAD_BALANCE_RSP);
404 CASE_RETURN_STRING(eWNI_SME_SELECT_CHANNEL_REQ);
405 CASE_RETURN_STRING(eWNI_SME_SELECT_CHANNEL_RSP);
406 CASE_RETURN_STRING(eWNI_SME_SET_PROPRIETARY_IE_REQ);
407 CASE_RETURN_STRING(eWNI_SME_SET_PROPRIETARY_IE_RSP); // #endif
408 CASE_RETURN_STRING(eWNI_SME_DISCARD_SKB_NTF); // Used to cleanup SKBs by HDD
Jeff Johnson295189b2012-06-20 16:38:30 -0700409 CASE_RETURN_STRING(eWNI_SME_DEAUTH_CNF);
410 CASE_RETURN_STRING(eWNI_SME_MIC_FAILURE_IND);
411 CASE_RETURN_STRING(eWNI_SME_ADDTS_REQ);
412 CASE_RETURN_STRING(eWNI_SME_ADDTS_RSP);
413 CASE_RETURN_STRING(eWNI_SME_ADDTS_CNF);
414 CASE_RETURN_STRING(eWNI_SME_ADDTS_IND);
415 CASE_RETURN_STRING(eWNI_SME_DELTS_REQ);
416 CASE_RETURN_STRING(eWNI_SME_DELTS_RSP);
417 CASE_RETURN_STRING(eWNI_SME_DELTS_IND);
418 CASE_RETURN_STRING(eWNI_SME_SET_BACKGROUND_SCAN_MODE_REQ);
419 CASE_RETURN_STRING(eWNI_SME_SWITCH_CHL_CB_PRIMARY_REQ);
420 CASE_RETURN_STRING(eWNI_SME_SWITCH_CHL_CB_PRIMARY_RSP);
421 CASE_RETURN_STRING(eWNI_SME_SWITCH_CHL_CB_SECONDARY_REQ);
422 CASE_RETURN_STRING(eWNI_SME_SWITCH_CHL_CB_SECONDARY_RSP);
423 CASE_RETURN_STRING(eWNI_SME_PROBE_REQ);
424 CASE_RETURN_STRING(eWNI_SME_STA_STAT_REQ);
425 CASE_RETURN_STRING(eWNI_SME_STA_STAT_RSP);
426 CASE_RETURN_STRING(eWNI_SME_AGGR_STAT_REQ);
427 CASE_RETURN_STRING(eWNI_SME_AGGR_STAT_RSP);
428 CASE_RETURN_STRING(eWNI_SME_GLOBAL_STAT_REQ);
429 CASE_RETURN_STRING(eWNI_SME_GLOBAL_STAT_RSP);
430 CASE_RETURN_STRING(eWNI_SME_STAT_SUMM_REQ);
431 CASE_RETURN_STRING(eWNI_SME_STAT_SUMM_RSP);
432 CASE_RETURN_STRING(eWNI_SME_REMOVEKEY_REQ);
433 CASE_RETURN_STRING(eWNI_SME_REMOVEKEY_RSP);
434 CASE_RETURN_STRING(eWNI_SME_GET_SCANNED_CHANNEL_REQ);
435 CASE_RETURN_STRING(eWNI_SME_GET_SCANNED_CHANNEL_RSP);
436 CASE_RETURN_STRING(eWNI_SME_SET_TX_POWER_REQ);
437 CASE_RETURN_STRING(eWNI_SME_SET_TX_POWER_RSP);
438 CASE_RETURN_STRING(eWNI_SME_GET_TX_POWER_REQ);
439 CASE_RETURN_STRING(eWNI_SME_GET_TX_POWER_RSP);
440 CASE_RETURN_STRING(eWNI_SME_GET_NOISE_REQ);
441 CASE_RETURN_STRING(eWNI_SME_GET_NOISE_RSP);
442 CASE_RETURN_STRING(eWNI_SME_LOW_RSSI_IND);
443 CASE_RETURN_STRING(eWNI_SME_GET_STATISTICS_REQ);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800444 CASE_RETURN_STRING(eWNI_SME_GET_STATISTICS_RSP);
445 CASE_RETURN_STRING(eWNI_SME_GET_RSSI_REQ);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800446 CASE_RETURN_STRING(eWNI_SME_GET_ASSOC_STAS_REQ);
447 CASE_RETURN_STRING(eWNI_SME_TKIP_CNTR_MEAS_REQ);
448 CASE_RETURN_STRING(eWNI_SME_UPDATE_APWPSIE_REQ);
449 CASE_RETURN_STRING(eWNI_SME_GET_WPSPBC_SESSION_REQ);
450 CASE_RETURN_STRING(eWNI_SME_WPS_PBC_PROBE_REQ_IND);
451 CASE_RETURN_STRING(eWNI_SME_SET_APWPARSNIEs_REQ);
452 CASE_RETURN_STRING(eWNI_SME_UPPER_LAYER_ASSOC_CNF);
453 CASE_RETURN_STRING(eWNI_SME_HIDE_SSID_REQ);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800454 CASE_RETURN_STRING(eWNI_SME_REMAIN_ON_CHANNEL_REQ);
455 CASE_RETURN_STRING(eWNI_SME_REMAIN_ON_CHN_IND);
456 CASE_RETURN_STRING(eWNI_SME_REMAIN_ON_CHN_RSP);
457 CASE_RETURN_STRING(eWNI_SME_MGMT_FRM_IND);
458 CASE_RETURN_STRING(eWNI_SME_REMAIN_ON_CHN_RDY_IND);
459 CASE_RETURN_STRING(eWNI_SME_SEND_ACTION_FRAME_IND);
460 CASE_RETURN_STRING(eWNI_SME_ACTION_FRAME_SEND_CNF);
461 CASE_RETURN_STRING(eWNI_SME_ABORT_REMAIN_ON_CHAN_IND);
462 CASE_RETURN_STRING(eWNI_SME_UPDATE_NOA);
Gopichand Nakkalac178ac82013-05-30 19:53:39 +0530463 CASE_RETURN_STRING(eWNI_SME_CLEAR_DFS_CHANNEL_LIST);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800464 CASE_RETURN_STRING(eWNI_SME_PRE_CHANNEL_SWITCH_FULL_POWER);
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +0530465 CASE_RETURN_STRING(eWNI_SME_GET_SNR_REQ);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800466 CASE_RETURN_STRING(eWNI_PMC_MSG_TYPES_BEGIN);
Jeff Johnson295189b2012-06-20 16:38:30 -0700467
468 //General Power Save Messages
469 CASE_RETURN_STRING(eWNI_PMC_PWR_SAVE_CFG);
470
471 //BMPS Messages
472 CASE_RETURN_STRING(eWNI_PMC_ENTER_BMPS_REQ);
473 CASE_RETURN_STRING(eWNI_PMC_ENTER_BMPS_RSP);
474 CASE_RETURN_STRING(eWNI_PMC_EXIT_BMPS_REQ);
475 CASE_RETURN_STRING(eWNI_PMC_EXIT_BMPS_RSP);
476 CASE_RETURN_STRING(eWNI_PMC_EXIT_BMPS_IND);
477
478 //IMPS Messages.
479 CASE_RETURN_STRING(eWNI_PMC_ENTER_IMPS_REQ);
480 CASE_RETURN_STRING(eWNI_PMC_ENTER_IMPS_RSP);
481 CASE_RETURN_STRING(eWNI_PMC_EXIT_IMPS_REQ);
482 CASE_RETURN_STRING(eWNI_PMC_EXIT_IMPS_RSP);
483
484 //UAPSD Messages
485 CASE_RETURN_STRING(eWNI_PMC_ENTER_UAPSD_REQ);
486 CASE_RETURN_STRING(eWNI_PMC_ENTER_UAPSD_RSP);
487 CASE_RETURN_STRING(eWNI_PMC_EXIT_UAPSD_REQ);
488 CASE_RETURN_STRING(eWNI_PMC_EXIT_UAPSD_RSP);
489
490 CASE_RETURN_STRING(eWNI_PMC_SMPS_STATE_IND);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800491 CASE_RETURN_STRING(eWNI_PMC_WOWL_ADD_BCAST_PTRN);
492 CASE_RETURN_STRING(eWNI_PMC_WOWL_DEL_BCAST_PTRN);
493 CASE_RETURN_STRING(eWNI_PMC_ENTER_WOWL_REQ);
494 CASE_RETURN_STRING(eWNI_PMC_ENTER_WOWL_RSP);
495 CASE_RETURN_STRING(eWNI_PMC_EXIT_WOWL_REQ);
496 CASE_RETURN_STRING(eWNI_PMC_EXIT_WOWL_RSP);
Jeff Johnson295189b2012-06-20 16:38:30 -0700497
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800498#ifdef WLAN_FEATURE_PACKET_FILTERING
499 CASE_RETURN_STRING(eWNI_PMC_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP);
500#endif // WLAN_FEATURE_PACKET_FILTERING
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800501#if defined WLAN_FEATURE_VOWIFI
502 CASE_RETURN_STRING(eWNI_SME_RRM_MSG_TYPE_BEGIN);
503 CASE_RETURN_STRING(eWNI_SME_NEIGHBOR_REPORT_REQ_IND);
504 CASE_RETURN_STRING(eWNI_SME_NEIGHBOR_REPORT_IND);
505 CASE_RETURN_STRING(eWNI_SME_BEACON_REPORT_REQ_IND);
506 CASE_RETURN_STRING(eWNI_SME_BEACON_REPORT_RESP_XMIT_IND);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800507#endif
508 CASE_RETURN_STRING(eWNI_SME_ADD_STA_SELF_REQ);
509 CASE_RETURN_STRING(eWNI_SME_ADD_STA_SELF_RSP);
510 CASE_RETURN_STRING(eWNI_SME_DEL_STA_SELF_REQ);
511 CASE_RETURN_STRING(eWNI_SME_DEL_STA_SELF_RSP);
512#if defined WLAN_FEATURE_VOWIFI_11R
513 CASE_RETURN_STRING(eWNI_SME_FT_PRE_AUTH_REQ);
514 CASE_RETURN_STRING(eWNI_SME_FT_PRE_AUTH_RSP);
515 CASE_RETURN_STRING(eWNI_SME_FT_UPDATE_KEY);
516 CASE_RETURN_STRING(eWNI_SME_FT_AGGR_QOS_REQ);
517 CASE_RETURN_STRING(eWNI_SME_FT_AGGR_QOS_RSP);
518#endif
519#if defined FEATURE_WLAN_CCX
520 CASE_RETURN_STRING(eWNI_SME_CCX_ADJACENT_AP_REPORT);
521#endif
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800522 CASE_RETURN_STRING(eWNI_SME_REGISTER_MGMT_FRAME_REQ);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800523 CASE_RETURN_STRING(eWNI_SME_COEX_IND);
524#ifdef FEATURE_WLAN_SCAN_PNO
525 CASE_RETURN_STRING(eWNI_SME_PREF_NETWORK_FOUND_IND);
526#endif // FEATURE_WLAN_SCAN_PNO
527 CASE_RETURN_STRING(eWNI_SME_TX_PER_HIT_IND);
528 CASE_RETURN_STRING(eWNI_SME_CHANGE_COUNTRY_CODE);
529 CASE_RETURN_STRING(eWNI_SME_PRE_SWITCH_CHL_IND);
530 CASE_RETURN_STRING(eWNI_SME_POST_SWITCH_CHL_IND);
531 CASE_RETURN_STRING(eWNI_SME_MAX_ASSOC_EXCEEDED);
532 CASE_RETURN_STRING(eWNI_SME_BTAMP_LOG_LINK_IND);//to serialize the create/accpet LL req from HCI
533#ifdef WLAN_FEATURE_GTK_OFFLOAD
534 CASE_RETURN_STRING(eWNI_PMC_GTK_OFFLOAD_GETINFO_RSP);
535#endif // WLAN_FEATURE_GTK_OFFLOAD
536#ifdef WLAN_WAKEUP_EVENTS
537 CASE_RETURN_STRING(eWNI_SME_WAKE_REASON_IND);
538#endif // WLAN_WAKEUP_EVENTS
539 CASE_RETURN_STRING(eWNI_SME_EXCLUDE_UNENCRYPTED);
540 CASE_RETURN_STRING(eWNI_SME_RSSI_IND); //RSSI indication from TL to be serialized on MC thread
541 CASE_RETURN_STRING(eWNI_SME_MSG_TYPES_END);
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -0800542 CASE_RETURN_STRING(eWNI_SME_GET_ROAM_RSSI_REQ);
543 CASE_RETURN_STRING(eWNI_SME_GET_ROAM_RSSI_RSP);
Srinivas Girigowda5cecb202013-10-08 09:13:25 -0700544 CASE_RETURN_STRING(eWNI_SME_GET_TSM_STATS_REQ);
545 CASE_RETURN_STRING(eWNI_SME_GET_TSM_STATS_RSP);
546
Jeff Johnson295189b2012-06-20 16:38:30 -0700547 default:
548 return( (tANI_U8*)"UNKNOWN" );
549 break;
550 }
551}
552
553
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800554tANI_U8* macTraceGetWdaMsgString( tANI_U16 wdaMsg )
Jeff Johnson295189b2012-06-20 16:38:30 -0700555{
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800556 switch( wdaMsg )
Jeff Johnson295189b2012-06-20 16:38:30 -0700557 {
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800558 CASE_RETURN_STRING(WDA_APP_SETUP_NTF);
559 CASE_RETURN_STRING(WDA_NIC_OPER_NTF);
560 CASE_RETURN_STRING(WDA_INIT_START_REQ);
561 CASE_RETURN_STRING(WDA_RESET_REQ);
562 CASE_RETURN_STRING(WDA_HDD_ADDBA_REQ);
563 CASE_RETURN_STRING(WDA_HDD_ADDBA_RSP);
564 CASE_RETURN_STRING(WDA_DELETEBA_IND);
565 CASE_RETURN_STRING(WDA_BA_FAIL_IND);
566 CASE_RETURN_STRING(WDA_TL_FLUSH_AC_REQ);
567 CASE_RETURN_STRING(WDA_TL_FLUSH_AC_RSP);
Jeff Johnson295189b2012-06-20 16:38:30 -0700568
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800569 CASE_RETURN_STRING(WDA_ITC_MSG_TYPES_BEGIN);
570 CASE_RETURN_STRING(WDA_WDT_KAM_RSP);
571 CASE_RETURN_STRING(WDA_TIMER_TEMP_MEAS_REQ);
572 CASE_RETURN_STRING(WDA_TIMER_PERIODIC_STATS_COLLECT_REQ);
573 CASE_RETURN_STRING(WDA_CAL_REQ_NTF);
574 CASE_RETURN_STRING(WDA_MNT_OPEN_TPC_TEMP_MEAS_REQ);
575 CASE_RETURN_STRING(WDA_CCA_MONITOR_INTERVAL_TO);
576 CASE_RETURN_STRING(WDA_CCA_MONITOR_DURATION_TO);
577 CASE_RETURN_STRING(WDA_CCA_MONITOR_START);
578 CASE_RETURN_STRING(WDA_CCA_MONITOR_STOP);
579 CASE_RETURN_STRING(WDA_CCA_CHANGE_MODE);
580 CASE_RETURN_STRING(WDA_TIMER_WRAP_AROUND_STATS_COLLECT_REQ);
Jeff Johnson295189b2012-06-20 16:38:30 -0700581
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800582 CASE_RETURN_STRING(WDA_ADD_STA_REQ);
583 CASE_RETURN_STRING(WDA_ADD_STA_RSP);
584 CASE_RETURN_STRING(WDA_ADD_STA_SELF_RSP);
585 CASE_RETURN_STRING(WDA_DEL_STA_SELF_RSP);
586 CASE_RETURN_STRING(WDA_DELETE_STA_REQ);
587 CASE_RETURN_STRING(WDA_DELETE_STA_RSP);
588 CASE_RETURN_STRING(WDA_ADD_BSS_REQ);
589 CASE_RETURN_STRING(WDA_ADD_BSS_RSP);
590 CASE_RETURN_STRING(WDA_DELETE_BSS_REQ);
591 CASE_RETURN_STRING(WDA_DELETE_BSS_RSP);
592 CASE_RETURN_STRING(WDA_INIT_SCAN_REQ);
593 CASE_RETURN_STRING(WDA_INIT_SCAN_RSP);
594 CASE_RETURN_STRING(WDA_START_SCAN_REQ);
595 CASE_RETURN_STRING(WDA_START_SCAN_RSP);
596 CASE_RETURN_STRING(WDA_END_SCAN_REQ);
597 CASE_RETURN_STRING(WDA_END_SCAN_RSP);
598 CASE_RETURN_STRING(WDA_FINISH_SCAN_REQ);
599 CASE_RETURN_STRING(WDA_FINISH_SCAN_RSP);
600 CASE_RETURN_STRING(WDA_SEND_BEACON_REQ);
601 CASE_RETURN_STRING(WDA_SEND_BEACON_RSP);
Jeff Johnson295189b2012-06-20 16:38:30 -0700602
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800603 CASE_RETURN_STRING(WDA_INIT_CFG_REQ);
604 CASE_RETURN_STRING(WDA_INIT_CFG_RSP);
Jeff Johnson295189b2012-06-20 16:38:30 -0700605
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800606 CASE_RETURN_STRING(WDA_INIT_WM_CFG_REQ);
607 CASE_RETURN_STRING(WDA_INIT_WM_CFG_RSP);
Jeff Johnson295189b2012-06-20 16:38:30 -0700608
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800609 CASE_RETURN_STRING(WDA_SET_BSSKEY_REQ);
610 CASE_RETURN_STRING(WDA_SET_BSSKEY_RSP);
611 CASE_RETURN_STRING(WDA_SET_STAKEY_REQ);
612 CASE_RETURN_STRING(WDA_SET_STAKEY_RSP);
613 CASE_RETURN_STRING(WDA_DPU_STATS_REQ);
614 CASE_RETURN_STRING(WDA_DPU_STATS_RSP);
615 CASE_RETURN_STRING(WDA_GET_DPUINFO_REQ);
616 CASE_RETURN_STRING(WDA_GET_DPUINFO_RSP);
Jeff Johnson295189b2012-06-20 16:38:30 -0700617
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800618 CASE_RETURN_STRING(WDA_UPDATE_EDCA_PROFILE_IND);
Jeff Johnson295189b2012-06-20 16:38:30 -0700619
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800620 CASE_RETURN_STRING(WDA_UPDATE_STARATEINFO_REQ);
621 CASE_RETURN_STRING(WDA_UPDATE_STARATEINFO_RSP);
Jeff Johnson295189b2012-06-20 16:38:30 -0700622
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800623 CASE_RETURN_STRING(WDA_UPDATE_BEACON_IND);
624 CASE_RETURN_STRING(WDA_UPDATE_CF_IND);
625 CASE_RETURN_STRING(WDA_CHNL_SWITCH_REQ);
626 CASE_RETURN_STRING(WDA_ADD_TS_REQ);
627 CASE_RETURN_STRING(WDA_DEL_TS_REQ);
628 CASE_RETURN_STRING(WDA_SOFTMAC_TXSTAT_REPORT);
629 CASE_RETURN_STRING(WDA_MBOX_SENDMSG_COMPLETE_IND);
630 CASE_RETURN_STRING(WDA_EXIT_BMPS_REQ);
631 CASE_RETURN_STRING(WDA_EXIT_BMPS_RSP);
632 CASE_RETURN_STRING(WDA_EXIT_BMPS_IND);
633 CASE_RETURN_STRING(WDA_ENTER_BMPS_REQ);
634 CASE_RETURN_STRING(WDA_ENTER_BMPS_RSP);
635 CASE_RETURN_STRING(WDA_BMPS_STATUS_IND);
636 CASE_RETURN_STRING(WDA_MISSED_BEACON_IND);
Jeff Johnson295189b2012-06-20 16:38:30 -0700637
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800638 CASE_RETURN_STRING(WDA_CFG_RXP_FILTER_REQ);
639 CASE_RETURN_STRING(WDA_CFG_RXP_FILTER_RSP);
640 CASE_RETURN_STRING(WDA_SWITCH_CHANNEL_RSP);
641 CASE_RETURN_STRING(WDA_P2P_NOA_ATTR_IND);
642 CASE_RETURN_STRING(WDA_P2P_NOA_START_IND);
643 CASE_RETURN_STRING(WDA_PWR_SAVE_CFG);
Jeff Johnson295189b2012-06-20 16:38:30 -0700644
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800645 CASE_RETURN_STRING(WDA_REGISTER_PE_CALLBACK);
646 CASE_RETURN_STRING(WDA_SOFTMAC_MEM_READREQUEST);
647 CASE_RETURN_STRING(WDA_SOFTMAC_MEM_WRITEREQUEST);
Jeff Johnson295189b2012-06-20 16:38:30 -0700648
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800649 CASE_RETURN_STRING(WDA_SOFTMAC_MEM_READRESPONSE);
650 CASE_RETURN_STRING(WDA_SOFTMAC_BULKREGWRITE_CONFIRM);
651 CASE_RETURN_STRING(WDA_SOFTMAC_BULKREGREAD_RESPONSE);
652 CASE_RETURN_STRING(WDA_SOFTMAC_HOSTMESG_MSGPROCESSRESULT);
Jeff Johnson295189b2012-06-20 16:38:30 -0700653
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800654 CASE_RETURN_STRING(WDA_ADDBA_REQ);
655 CASE_RETURN_STRING(WDA_ADDBA_RSP);
656 CASE_RETURN_STRING(WDA_DELBA_IND);
657 CASE_RETURN_STRING(WDA_DEL_BA_IND);
658 CASE_RETURN_STRING(WDA_MIC_FAILURE_IND);
Jeff Johnson295189b2012-06-20 16:38:30 -0700659
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800660 CASE_RETURN_STRING(WDA_DELBA_REQ);
661 CASE_RETURN_STRING(WDA_IBSS_STA_ADD);
662 CASE_RETURN_STRING(WDA_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND);
663 CASE_RETURN_STRING(WDA_SET_LINK_STATE);
664 CASE_RETURN_STRING(WDA_SET_LINK_STATE_RSP);
665 CASE_RETURN_STRING(WDA_ENTER_IMPS_REQ);
666 CASE_RETURN_STRING(WDA_ENTER_IMPS_RSP);
667 CASE_RETURN_STRING(WDA_EXIT_IMPS_RSP);
668 CASE_RETURN_STRING(WDA_EXIT_IMPS_REQ);
669 CASE_RETURN_STRING(WDA_SOFTMAC_HOSTMESG_PS_STATUS_IND);
670 CASE_RETURN_STRING(WDA_POSTPONE_ENTER_IMPS_RSP);
671 CASE_RETURN_STRING(WDA_STA_STAT_REQ);
672 CASE_RETURN_STRING(WDA_GLOBAL_STAT_REQ);
673 CASE_RETURN_STRING(WDA_AGGR_STAT_REQ);
674 CASE_RETURN_STRING(WDA_STA_STAT_RSP);
675 CASE_RETURN_STRING(WDA_GLOBAL_STAT_RSP);
676 CASE_RETURN_STRING(WDA_AGGR_STAT_RSP);
677 CASE_RETURN_STRING(WDA_STAT_SUMM_REQ);
678 CASE_RETURN_STRING(WDA_STAT_SUMM_RSP);
679 CASE_RETURN_STRING(WDA_REMOVE_BSSKEY_REQ);
680 CASE_RETURN_STRING(WDA_REMOVE_BSSKEY_RSP);
681 CASE_RETURN_STRING(WDA_REMOVE_STAKEY_REQ);
682 CASE_RETURN_STRING(WDA_REMOVE_STAKEY_RSP);
683 CASE_RETURN_STRING(WDA_SET_STA_BCASTKEY_REQ);
684 CASE_RETURN_STRING(WDA_SET_STA_BCASTKEY_RSP);
685 CASE_RETURN_STRING(WDA_REMOVE_STA_BCASTKEY_REQ);
686 CASE_RETURN_STRING(WDA_REMOVE_STA_BCASTKEY_RSP);
687 CASE_RETURN_STRING(WDA_ADD_TS_RSP);
688 CASE_RETURN_STRING(WDA_DPU_MIC_ERROR);
Jeff Johnson295189b2012-06-20 16:38:30 -0700689
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800690 CASE_RETURN_STRING(WDA_TIMER_BA_ACTIVITY_REQ);
691 CASE_RETURN_STRING(WDA_TIMER_CHIP_MONITOR_TIMEOUT);
692 CASE_RETURN_STRING(WDA_TIMER_TRAFFIC_ACTIVITY_REQ);
693 CASE_RETURN_STRING(WDA_TIMER_ADC_RSSI_STATS);
694#ifdef FEATURE_WLAN_CCX
695 CASE_RETURN_STRING(WDA_TSM_STATS_REQ);
696 CASE_RETURN_STRING(WDA_TSM_STATS_RSP);
697#endif
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800698 CASE_RETURN_STRING(WDA_UPDATE_UAPSD_IND);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800699 CASE_RETURN_STRING(WDA_SET_MIMOPS_REQ);
700 CASE_RETURN_STRING(WDA_SET_MIMOPS_RSP);
701 CASE_RETURN_STRING(WDA_SYS_READY_IND );
702 CASE_RETURN_STRING(WDA_SET_TX_POWER_REQ);
703 CASE_RETURN_STRING(WDA_SET_TX_POWER_RSP);
704 CASE_RETURN_STRING(WDA_GET_TX_POWER_REQ);
705 CASE_RETURN_STRING(WDA_GET_TX_POWER_RSP);
706 CASE_RETURN_STRING(WDA_GET_NOISE_REQ );
707 CASE_RETURN_STRING(WDA_GET_NOISE_RSP);
708 CASE_RETURN_STRING(WDA_SET_TX_PER_TRACKING_REQ);
Jeff Johnson295189b2012-06-20 16:38:30 -0700709
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800710 CASE_RETURN_STRING(WDA_TRANSMISSION_CONTROL_IND);
711 CASE_RETURN_STRING(WDA_INIT_RADAR_IND);
Jeff Johnson295189b2012-06-20 16:38:30 -0700712
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800713 CASE_RETURN_STRING(WDA_BEACON_PRE_IND );
714 CASE_RETURN_STRING(WDA_ENTER_UAPSD_REQ);
715 CASE_RETURN_STRING(WDA_ENTER_UAPSD_RSP);
716 CASE_RETURN_STRING(WDA_EXIT_UAPSD_REQ );
717 CASE_RETURN_STRING(WDA_EXIT_UAPSD_RSP );
718 CASE_RETURN_STRING(WDA_LOW_RSSI_IND );
719 CASE_RETURN_STRING(WDA_BEACON_FILTER_IND);
720 CASE_RETURN_STRING(WDA_WOWL_ADD_BCAST_PTRN);
721 CASE_RETURN_STRING(WDA_WOWL_DEL_BCAST_PTRN);
722 CASE_RETURN_STRING(WDA_WOWL_ENTER_REQ);
723 CASE_RETURN_STRING(WDA_WOWL_ENTER_RSP);
724 CASE_RETURN_STRING(WDA_WOWL_EXIT_REQ );
725 CASE_RETURN_STRING(WDA_WOWL_EXIT_RSP );
726 CASE_RETURN_STRING(WDA_TX_COMPLETE_IND);
727 CASE_RETURN_STRING(WDA_TIMER_RA_COLLECT_AND_ADAPT);
728 CASE_RETURN_STRING(WDA_GET_STATISTICS_REQ);
729 CASE_RETURN_STRING(WDA_GET_STATISTICS_RSP);
730 CASE_RETURN_STRING(WDA_SET_KEY_DONE);
Jeff Johnson295189b2012-06-20 16:38:30 -0700731
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800732 CASE_RETURN_STRING(WDA_BTC_SET_CFG);
733 CASE_RETURN_STRING(WDA_SIGNAL_BT_EVENT);
734 CASE_RETURN_STRING(WDA_HANDLE_FW_MBOX_RSP);
735 CASE_RETURN_STRING(WDA_UPDATE_PROBE_RSP_TEMPLATE_IND);
736 CASE_RETURN_STRING(WDA_SIGNAL_BTAMP_EVENT);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800737#ifdef FEATURE_OEM_DATA_SUPPORT
738 CASE_RETURN_STRING(WDA_START_OEM_DATA_REQ );
739 CASE_RETURN_STRING(WDA_START_OEM_DATA_RSP);
740 CASE_RETURN_STRING(WDA_FINISH_OEM_DATA_REQ);
Jeff Johnson295189b2012-06-20 16:38:30 -0700741#endif //SUPPORT_BEACON_FILTER
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800742 CASE_RETURN_STRING(WDA_SET_MAX_TX_POWER_REQ);
743 CASE_RETURN_STRING(WDA_SET_MAX_TX_POWER_RSP);
744 CASE_RETURN_STRING(WDA_SEND_MSG_COMPLETE);
745 CASE_RETURN_STRING(WDA_SET_HOST_OFFLOAD);
746 CASE_RETURN_STRING(WDA_SET_KEEP_ALIVE);
747#ifdef WLAN_NS_OFFLOAD
748 CASE_RETURN_STRING(WDA_SET_NS_OFFLOAD);
749#endif //WLAN_NS_OFFLOAD
750 CASE_RETURN_STRING(WDA_ADD_STA_SELF_REQ);
751 CASE_RETURN_STRING(WDA_DEL_STA_SELF_REQ);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800752 CASE_RETURN_STRING(WDA_SET_P2P_GO_NOA_REQ);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800753 CASE_RETURN_STRING(WDA_TX_COMPLETE_TIMEOUT_IND);
754 CASE_RETURN_STRING(WDA_WLAN_SUSPEND_IND);
755 CASE_RETURN_STRING(WDA_WLAN_RESUME_REQ);
756 CASE_RETURN_STRING(WDA_MSG_TYPES_END);
757 CASE_RETURN_STRING(WDA_MMH_TXMB_READY_EVT);
758 CASE_RETURN_STRING(WDA_MMH_RXMB_DONE_EVT);
759 CASE_RETURN_STRING(WDA_MMH_MSGQ_NE_EVT);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800760#ifdef WLAN_FEATURE_VOWIFI_11R
761 CASE_RETURN_STRING(WDA_AGGR_QOS_REQ);
762 CASE_RETURN_STRING(WDA_AGGR_QOS_RSP);
763#endif /* WLAN_FEATURE_VOWIFI_11R */
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800764 CASE_RETURN_STRING(WDA_FTM_CMD_REQ);
765 CASE_RETURN_STRING(WDA_FTM_CMD_RSP);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800766#ifdef FEATURE_WLAN_SCAN_PNO
767 CASE_RETURN_STRING(WDA_SET_PNO_REQ);
768 CASE_RETURN_STRING(WDA_SET_RSSI_FILTER_REQ);
769 CASE_RETURN_STRING(WDA_UPDATE_SCAN_PARAMS_REQ);
770 CASE_RETURN_STRING(WDA_SET_PNO_CHANGED_IND);
771#endif // FEATURE_WLAN_SCAN_PNO
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700772#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700773 CASE_RETURN_STRING(WDA_ROAM_SCAN_OFFLOAD_REQ);
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700774#endif
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800775#ifdef WLAN_WAKEUP_EVENTS
776 CASE_RETURN_STRING(WDA_WAKE_REASON_IND);
777#endif // WLAN_WAKEUP_EVENTS
778#ifdef WLAN_FEATURE_PACKET_FILTERING
779 CASE_RETURN_STRING(WDA_8023_MULTICAST_LIST_REQ);
780 CASE_RETURN_STRING(WDA_RECEIVE_FILTER_SET_FILTER_REQ);
781 CASE_RETURN_STRING(WDA_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ);
782 CASE_RETURN_STRING(WDA_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP);
783 CASE_RETURN_STRING(WDA_RECEIVE_FILTER_CLEAR_FILTER_REQ);
784#endif // WLAN_FEATURE_PACKET_FILTERING
785 CASE_RETURN_STRING(WDA_SET_POWER_PARAMS_REQ);
786#ifdef WLAN_FEATURE_GTK_OFFLOAD
787 CASE_RETURN_STRING(WDA_GTK_OFFLOAD_REQ);
788 CASE_RETURN_STRING(WDA_GTK_OFFLOAD_GETINFO_REQ);
789 CASE_RETURN_STRING(WDA_GTK_OFFLOAD_GETINFO_RSP);
790#endif //WLAN_FEATURE_GTK_OFFLOAD
791 CASE_RETURN_STRING(WDA_SET_TM_LEVEL_REQ);
792#ifdef WLAN_FEATURE_11AC
793 CASE_RETURN_STRING(WDA_UPDATE_OP_MODE);
794#endif
Rajeev79dbe4c2013-10-05 11:03:42 +0530795#ifdef FEATURE_WLAN_BATCH_SCAN
796 CASE_RETURN_STRING(WDA_SET_BATCH_SCAN_REQ);
797 CASE_RETURN_STRING(WDA_TRIGGER_BATCH_SCAN_RESULT_IND);
798#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700799 default:
800 return((tANI_U8*) "UNKNOWN" );
801 break;
802 }
803}
804
805
806
807tANI_U8* macTraceGetLimMsgString( tANI_U16 limMsg )
808{
809 switch( limMsg )
810 {
Jeff Johnson295189b2012-06-20 16:38:30 -0700811 CASE_RETURN_STRING(SIR_LIM_RETRY_INTERRUPT_MSG);
812 CASE_RETURN_STRING(SIR_BB_XPORT_MGMT_MSG );
813 CASE_RETURN_STRING(SIR_LIM_INV_KEY_INTERRUPT_MSG );
814 CASE_RETURN_STRING(SIR_LIM_KEY_ID_INTERRUPT_MSG );
815 CASE_RETURN_STRING(SIR_LIM_REPLAY_THRES_INTERRUPT_MSG );
816 CASE_RETURN_STRING(SIR_LIM_TD_DUMMY_CALLBACK_MSG );
817 CASE_RETURN_STRING(SIR_LIM_SCH_CLEAN_MSG );
818 CASE_RETURN_STRING(SIR_LIM_RADAR_DETECT_IND);
819 CASE_RETURN_STRING(SIR_LIM_DEL_TS_IND);
820 CASE_RETURN_STRING(SIR_LIM_ADD_BA_IND );
821 CASE_RETURN_STRING(SIR_LIM_DEL_BA_ALL_IND);
822 CASE_RETURN_STRING(SIR_LIM_DELETE_STA_CONTEXT_IND);
823 CASE_RETURN_STRING(SIR_LIM_DEL_BA_IND );
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800824 CASE_RETURN_STRING(SIR_LIM_UPDATE_BEACON);
Jeff Johnson295189b2012-06-20 16:38:30 -0700825 CASE_RETURN_STRING(SIR_LIM_MIN_CHANNEL_TIMEOUT);
826 CASE_RETURN_STRING(SIR_LIM_MAX_CHANNEL_TIMEOUT);
827 CASE_RETURN_STRING(SIR_LIM_JOIN_FAIL_TIMEOUT );
828 CASE_RETURN_STRING(SIR_LIM_AUTH_FAIL_TIMEOUT );
829 CASE_RETURN_STRING(SIR_LIM_AUTH_RSP_TIMEOUT);
830 CASE_RETURN_STRING(SIR_LIM_ASSOC_FAIL_TIMEOUT);
831 CASE_RETURN_STRING(SIR_LIM_REASSOC_FAIL_TIMEOUT);
832 CASE_RETURN_STRING(SIR_LIM_HEART_BEAT_TIMEOUT);
Jeff Johnson295189b2012-06-20 16:38:30 -0700833 CASE_RETURN_STRING(SIR_LIM_CHANNEL_SCAN_TIMEOUT );
834 CASE_RETURN_STRING(SIR_LIM_PROBE_HB_FAILURE_TIMEOUT);
835 CASE_RETURN_STRING(SIR_LIM_ADDTS_RSP_TIMEOUT );
Jeff Johnson295189b2012-06-20 16:38:30 -0700836 CASE_RETURN_STRING(SIR_LIM_LINK_TEST_DURATION_TIMEOUT );
837 CASE_RETURN_STRING(SIR_LIM_HASH_MISS_THRES_TIMEOUT );
838 CASE_RETURN_STRING(SIR_LIM_CNF_WAIT_TIMEOUT );
839 CASE_RETURN_STRING(SIR_LIM_KEEPALIVE_TIMEOUT );
840 CASE_RETURN_STRING(SIR_LIM_UPDATE_OLBC_CACHEL_TIMEOUT );
841 CASE_RETURN_STRING(SIR_LIM_CHANNEL_SWITCH_TIMEOUT );
842 CASE_RETURN_STRING(SIR_LIM_QUIET_TIMEOUT );
843 CASE_RETURN_STRING(SIR_LIM_QUIET_BSS_TIMEOUT );
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800844 CASE_RETURN_STRING(SIR_LIM_WPS_OVERLAP_TIMEOUT);
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800845#ifdef WLAN_FEATURE_VOWIFI_11R
846 CASE_RETURN_STRING(SIR_LIM_FT_PREAUTH_RSP_TIMEOUT);
847#endif
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800848 CASE_RETURN_STRING(SIR_LIM_REMAIN_CHN_TIMEOUT);
849 CASE_RETURN_STRING(SIR_LIM_INSERT_SINGLESHOT_NOA_TIMEOUT);
Gopichand Nakkalad492d202013-05-10 02:50:47 +0530850 CASE_RETURN_STRING(SIR_LIM_CONVERT_ACTIVE_CHANNEL_TO_PASSIVE);
Jeff Johnson295189b2012-06-20 16:38:30 -0700851#ifdef WMM_APSD
852 CASE_RETURN_STRING(SIR_LIM_WMM_APSD_SP_START_MSG_TYPE );
853 CASE_RETURN_STRING(SIR_LIM_WMM_APSD_SP_END_MSG_TYPE );
854#endif
855 CASE_RETURN_STRING(SIR_LIM_BEACON_GEN_IND );
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -0800856 CASE_RETURN_STRING(SIR_LIM_PERIODIC_PROBE_REQ_TIMEOUT);
857#ifdef FEATURE_WLAN_CCX
858 CASE_RETURN_STRING(SIR_LIM_CCX_TSM_TIMEOUT);
859#endif
860 CASE_RETURN_STRING(SIR_LIM_DISASSOC_ACK_TIMEOUT);
861 CASE_RETURN_STRING(SIR_LIM_DEAUTH_ACK_TIMEOUT);
862 CASE_RETURN_STRING(SIR_LIM_PERIODIC_JOIN_PROBE_REQ_TIMEOUT);
Jeff Johnson295189b2012-06-20 16:38:30 -0700863 CASE_RETURN_STRING(SIR_LIM_MSG_TYPES_END);
864
865 default:
866 return( (tANI_U8*)"UNKNOWN" );
867 break;
868 }
869}
870
871
872
873
874tANI_U8* macTraceGetCfgMsgString( tANI_U16 cfgMsg )
875{
876 switch( cfgMsg )
877 {
878 CASE_RETURN_STRING(WNI_CFG_PARAM_UPDATE_IND);
879 CASE_RETURN_STRING(WNI_CFG_DNLD_REQ);
880 CASE_RETURN_STRING(WNI_CFG_DNLD_CNF);
881 CASE_RETURN_STRING(WNI_CFG_GET_RSP);
882 CASE_RETURN_STRING(WNI_CFG_SET_CNF);
883 CASE_RETURN_STRING(SIR_CFG_PARAM_UPDATE_IND);
884 CASE_RETURN_STRING(SIR_CFG_DOWNLOAD_COMPLETE_IND);
885
886 CASE_RETURN_STRING(WNI_CFG_SET_REQ_NO_RSP);
887 default:
888 return( (tANI_U8*)"UNKNOWN" );
889 break;
890 }
891}
892
Leela Venkata Kiran Kumar Reddy Chiralaf3fe6302013-03-18 12:32:14 -0700893tANI_U8* macTraceGetInfoLogString( tANI_U16 infoLog )
894{
895 switch( infoLog )
896 {
897 CASE_RETURN_STRING(eLOG_NODROP_MISSED_BEACON_SCENARIO);
Venkata Prathyusha Kuntupallie5675292013-04-11 17:01:17 -0700898 CASE_RETURN_STRING(eLOG_PROC_DEAUTH_FRAME_SCENARIO);
Leela Venkata Kiran Kumar Reddy Chiralaf3fe6302013-03-18 12:32:14 -0700899 default:
900 return( (tANI_U8*)"UNKNOWN" );
901 break;
902 }
903}
Jeff Johnson295189b2012-06-20 16:38:30 -0700904
905tANI_U8* macTraceGetModuleString( tANI_U8 moduleId )
906{
907 return ((tANI_U8*)"PE");
908 //return gVosTraceInfo[moduleId].moduleNameStr;
909}
910
911
912
913
914
915
916
917
918
919
920void macTraceInit(tpAniSirGlobal pMac)
921{
922 tANI_U8 i;
923 gTraceData.head = INVALID_TRACE_ADDR;
924 gTraceData.tail = INVALID_TRACE_ADDR;
925 gTraceData.num = 0;
926 gTraceData.enable = TRUE;
927 gTraceData.dumpCount = DEFAULT_TRACE_DUMP_COUNT;
928 gTraceData.numSinceLastDump = 0;
929
930 for(i=0; i<VOS_MODULE_ID_MAX; i++)
931 traceCBTable[i] = NULL;
932
933}
934
935
936
937
938
939void macTraceReset(tpAniSirGlobal pMac)
940{
941}
942
943
944void macTrace(tpAniSirGlobal pMac, tANI_U8 code, tANI_U8 session, tANI_U32 data)
945{
946 //Today macTrace is being invoked by PE only, need to remove this function once PE is migrated to using new trace API.
947 macTraceNew(pMac, VOS_MODULE_ID_PE, code, session, data);
948
949#if 0
950 tpTraceRecord rec = NULL;
951
952 //limLog(pMac, LOGE, "mac Trace code: %d, data: %x, head: %d, tail: %d\n", code, data, gTraceData.head, gTraceData.tail);
953
954 if(!gTraceData.enable)
955 return;
956 gTraceData.num++;
957
958 if (gTraceData.head == INVALID_TRACE_ADDR)
959 {
960 /* first record */
961 gTraceData.head = 0;
962 gTraceData.tail = 0;
963 }
964 else
965 {
966 /* queue is not empty */
967 tANI_U32 tail = gTraceData.tail + 1;
968
969 if (tail == MAX_TRACE_RECORDS)
970 tail = 0;
971
972 if (gTraceData.head == tail)
973 {
974 /* full */
975 if (++gTraceData.head == MAX_TRACE_RECORDS)
976 gTraceData.head = 0;
977 }
978
979 gTraceData.tail = tail;
980 }
981
982 rec = &gTraceTbl[gTraceData.tail];
983 rec->code = code;
984 rec->session = session;
985 rec->data = data;
986 rec->time = vos_timer_get_system_time();
987 rec->module = VOS_MODULE_ID_PE;
988 gTraceData.numSinceLastDump ++;
989
990 if(gTraceData.numSinceLastDump == gTraceData.dumpCount)
991 {
992 limLog(pMac, LOGE, "Trace Dump last %d traces\n", gTraceData.dumpCount);
993 macTraceDumpAll(pMac, 0, 0, gTraceData.dumpCount);
994 gTraceData.numSinceLastDump = 0;
995 }
996 #endif
997
998}
999
1000
1001
1002void macTraceNew(tpAniSirGlobal pMac, tANI_U8 module, tANI_U8 code, tANI_U8 session, tANI_U32 data)
1003{
1004 tpTraceRecord rec = NULL;
1005
1006 //limLog(pMac, LOGE, "mac Trace code: %d, data: %x, head: %d, tail: %d\n", code, data, gTraceData.head, gTraceData.tail);
1007
1008 if(!gTraceData.enable)
1009 return;
1010 //If module is not registered, don't record for that module.
1011 if(traceCBTable[module] == NULL)
1012 return;
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -08001013 pe_AcquireGlobalLock( &pMac->lim );
Jeff Johnson295189b2012-06-20 16:38:30 -07001014
Jeff Johnson295189b2012-06-20 16:38:30 -07001015 gTraceData.num++;
1016
1017 if (gTraceData.head == INVALID_TRACE_ADDR)
1018 {
1019 /* first record */
1020 gTraceData.head = 0;
1021 gTraceData.tail = 0;
1022 }
1023 else
1024 {
1025 /* queue is not empty */
1026 tANI_U32 tail = gTraceData.tail + 1;
1027
1028 if (tail == MAX_TRACE_RECORDS)
1029 tail = 0;
1030
1031 if (gTraceData.head == tail)
1032 {
1033 /* full */
1034 if (++gTraceData.head == MAX_TRACE_RECORDS)
1035 gTraceData.head = 0;
1036 }
1037
1038 gTraceData.tail = tail;
1039 }
1040
1041 rec = &gTraceTbl[gTraceData.tail];
1042 rec->code = code;
1043 rec->session = session;
1044 rec->data = data;
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -08001045 rec->time = vos_timer_get_system_time();
Jeff Johnson295189b2012-06-20 16:38:30 -07001046 rec->module = module;
1047 gTraceData.numSinceLastDump ++;
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -08001048 pe_ReleaseGlobalLock( &pMac->lim );
Jeff Johnson295189b2012-06-20 16:38:30 -07001049
1050}
1051
1052
1053
1054
1055
1056
1057
1058tANI_U8* macTraceMsgString(tpAniSirGlobal pMac, tANI_U32 msgType)
1059{
1060 tANI_U16 msgId = (tANI_U16)MAC_TRACE_GET_MSG_ID(msgType);
1061 tANI_U8 moduleId = (tANI_U8)MAC_TRACE_GET_MODULE_ID(msgType);
1062
1063 switch(moduleId)
1064 {
1065 case SIR_LIM_MODULE_ID:
1066 if(msgId >= SIR_LIM_ITC_MSG_TYPES_BEGIN)
1067 return macTraceGetLimMsgString((tANI_U16)msgType);
1068 else
1069 return macTraceGetSmeMsgString((tANI_U16)msgType);
1070 break;
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -08001071 case SIR_WDA_MODULE_ID:
1072 return macTraceGetWdaMsgString((tANI_U16)msgType);
Jeff Johnson295189b2012-06-20 16:38:30 -07001073 case SIR_CFG_MODULE_ID:
1074 return macTraceGetCfgMsgString((tANI_U16)msgType);
1075 default:
1076 return ((tANI_U8*)"Unknown MsgType");
1077 }
1078}
1079
1080
1081
1082
1083
1084
1085void macTraceDumpAll(tpAniSirGlobal pMac, tANI_U8 code, tANI_U8 session, tANI_U32 count)
1086{
1087 tpTraceRecord pRecord;
1088 tANI_S32 i, tail;
1089
1090
1091 if(!gTraceData.enable)
1092 {
1093 VOS_TRACE( VOS_MODULE_ID_SYS, VOS_TRACE_LEVEL_ERROR, "Tracing Disabled \n");
1094 return;
1095 }
1096
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -08001097 VOS_TRACE( VOS_MODULE_ID_SYS, VOS_TRACE_LEVEL_ERROR,
Jeff Johnson295189b2012-06-20 16:38:30 -07001098 "Total Records: %d, Head: %d, Tail: %d\n", gTraceData.num, gTraceData.head, gTraceData.tail);
1099
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -08001100 pe_AcquireGlobalLock( &pMac->lim );
Jeff Johnson295189b2012-06-20 16:38:30 -07001101 if (gTraceData.head != INVALID_TRACE_ADDR)
1102 {
1103
1104 i = gTraceData.head;
1105 tail = gTraceData.tail;
1106
1107 if (count)
1108 {
1109 if (count > gTraceData.num)
1110 count = gTraceData.num;
1111 if (count > MAX_TRACE_RECORDS)
1112 count = MAX_TRACE_RECORDS;
1113 if(tail >= (count + 1))
1114 {
1115 i = tail - count + 1;
1116 }
1117 else
1118 {
1119 i = MAX_TRACE_RECORDS - ((count + 1) - tail);
1120 }
1121 }
1122
1123 pRecord = &gTraceTbl[i];
1124
1125 for (;;)
1126 {
1127 if ( (code == 0 || (code == pRecord->code)) &&
1128 (traceCBTable[pRecord->module] != NULL))
1129 traceCBTable[pRecord->module](pMac, pRecord, (tANI_U16)i);
1130
1131 if (i == tail)
1132 break;
1133 i += 1;
1134
1135 if (i == MAX_TRACE_RECORDS)
1136 {
1137 i = 0;
1138 pRecord = &gTraceTbl[0];
1139 }
1140 else
1141 pRecord += 1;
1142 }
1143 gTraceData.numSinceLastDump = 0;
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -08001144
Jeff Johnson295189b2012-06-20 16:38:30 -07001145 }
Leela V Kiran Kumar Reddy Chiralac3b9d382013-01-31 20:49:53 -08001146 pe_ReleaseGlobalLock( &pMac->lim );
Jeff Johnson295189b2012-06-20 16:38:30 -07001147
1148}
1149
1150
1151void macTraceCfg(tpAniSirGlobal pMac, tANI_U32 enable, tANI_U32 dumpCount, tANI_U32 code, tANI_U32 session)
1152{
1153 gTraceData.enable = (tANI_U8)enable;
1154 gTraceData.dumpCount= (tANI_U16)dumpCount;
1155 gTraceData.numSinceLastDump = 0;
1156}
1157
1158void macTraceRegister( tpAniSirGlobal pMac, VOS_MODULE_ID moduleId, tpTraceCb traceCb)
1159{
1160 traceCBTable[moduleId] = traceCb;
1161}
1162
1163
1164#endif