blob: 3542354f1e5271013399cdac0c1b5488aa473870 [file] [log] [blame]
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -07001/*
Konamki, Sreelakshmi5548ff92015-07-29 14:47:54 +05302 * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved.
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -07003 *
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
Kiet Lamc9a03d22014-02-19 00:32:59 -080022/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -070028/************************************************************************
29 smeTrace.c
30
31 \brief implementation for trace related APIs
32
33 \author Kiran Kumar Reddy CH L V
34
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -070035 ========================================================================*/
36#include "aniGlobal.h" //for tpAniSirGlobal
37#include "smsDebug.h"
38#include "macTrace.h"
39#include "sme_Trace.h"
40#include "smeInternal.h"
41#ifndef SME_TRACE_RECORD
42void smeTraceInit(tpAniSirGlobal pMac)
43{
44 return;
45}
46#endif
47#ifdef SME_TRACE_RECORD
48
49
50static tANI_U8* smeTraceGetRxMsgString( tANI_U32 code )
51{
52 switch(code)
53 {
54 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_SCAN_REQ);
55 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_SCAN_GET_RESULTS);
56 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_CONNECT);
57 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_SET_11DINFO);
58 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_GET_SOFTAP_DOMAIN);
59 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_SET_REGINFO);
60 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_UPDATE_CHANNEL_CONFIG);
61 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_UPDATE_CONFIG);
62 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_HDDREADYIND);
63 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_SCAN_FLUSH_RESULTS);
64 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_SCAN_FLUSH_P2PRESULTS);
65 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_SCAN_RESULT_GETFIRST);
66 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_SCAN_RESULT_GETNEXT);
67 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_SCAN_RESULT_PURGE);
68 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_ROAM_REASSOC);
69 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_ROAM_DISCONNECT);
70 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_ROAM_GET_CONNECTPROFILE);
71 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_ROAM_FREE_CONNECTPROFILE);
72 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_ROAM_SET_PMKIDCACHE);
Konamki, Sreelakshmi7b464be2015-07-14 12:17:01 +053073 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_ROAM_DEL_PMKIDCACHE);
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -070074 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_GET_CONFIGPARAM);
75 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_GET_MODPROFFIELDS);
76 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_CONFIG_PWRSAVE);
77 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_GET_CONFIG_PWRSAVE);
78 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_ENABLE_PWRSAVE);
79 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_DISABLE_PWRSAVE);
80 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_START_AUTO_BMPSTIMER);
81 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_STOP_AUTO_BMPSTIMER);
82 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_IS_PWRSAVE_ENABLED);
83 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_REQUEST_FULLPOWER);
84 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_REQUEST_BMPS);
85 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_DHCP_FLAG);
86 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_REQUEST_STANDBY);
87 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_WOWL_ADDBCAST_PATTERN);
88 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_WOWL_DELBCAST_PATTERN);
89 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_ENTER_WOWL);
90 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXIT_WOWL);
91 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_KEY);
92 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_REMOVE_KEY);
93 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_GET_STATS);
94 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_GET_CNTRYCODE);
95 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_CNTRYCODE);
96 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_CHANGE_CNTRYCODE);
97 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_BTC_SIGNALEVENT);
98 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_BTC_SETCONFIG);
99 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_BTC_GETCONFIG);
100 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_CFGPRIVACY);
101 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_NEIGHBOR_REPORTREQ);
102 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_DBG_READREG);
103 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_DBG_WRITEREG);
104 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_DBG_READMEM);
105 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_DBG_WRITEMEM);
106 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_OPEN_SESSION);
107 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_CLOSE_SESSION);
108 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_HOSTOFFLOAD);
109 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_GTKOFFLOAD);
110 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_GET_GTKOFFLOAD);
111 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_POWERPARAMS);
112 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_ABORT_MACSCAN);
113 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_REGISTER_MGMTFR);
114 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_DEREGISTER_MGMTFR);
115 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_REMAIN_ONCHAN);
116 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SEND_ACTION);
117 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_CANCEL_REMAIN_ONCHAN);
118 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_CONFIG_RXPFIL);
119 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_CONFIG_SUSPENDIND);
120 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_CONFIG_RESUMEREQ);
121 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_MAXTXPOW);
122 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_TXPOW);
123 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_TMLEVEL);
124 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_CAPS_EXCH);
125 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_DISABLE_CAP);
126 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_GET_DEFCCNV);
127 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_GET_CURCC);
128 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_RESET_PW5G);
129 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_UPDATE_RP5G);
130 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_ROAMIBAND);
131 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_GET_ROAMIBAND);
132 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_UPDATE_RSSIDIFF);
133 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_UPDATE_IMMRSSIDIFF);
134 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_UPDATE_FTENABLED);
135 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_UPDATE_WESMODE);
136 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_SET_SCANCTRL);
Konamki, Sreelakshmi7b464be2015-07-14 12:17:01 +0530137 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_MSG_DEAUTH_STA);
138#ifdef FEATURE_WLAN_TDLS
139 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_TDLS_LINK_ESTABLISH_PARAM);
140 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_TDLS_CHAN_SWITCH_REQ);
141 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_TDLS_SEND_MGMT_FRAME);
142 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_TDLS_CHANGE_PEER_STA);
143 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_TDLS_ADD_PEER_STA);
144 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_TDLS_DEL_PEER_STA);
145#endif
146 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_PREF_NET_LIST);
147#ifdef FEATURE_WLAN_LPHB
148 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_LPHB_CONFIG_REQ);
149#endif /* FEATURE_WLAN_LPHB */
Konamki, Sreelakshmi824f93e2015-07-31 12:55:48 +0530150 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXTSCAN_GET_CAPABILITIES);
151 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXTSCAN_START);
152 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXTSCAN_STOP);
153 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXTSCAN_SET_BSS_HOTLIST);
154 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXTSCAN_RESET_BSS_HOTLIST);
155 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXTSCAN_SET_SIGNF_CHANGE);
156 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXTSCAN_RESET_SIGNF_CHANGE);
157 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXTSCAN_GET_CACHED_RESULTS);
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -0700158 default:
159 return( "UNKNOWN" );
160 break;
161 }
162}
163static tANI_U8* smeTraceGetCommandString( tANI_U32 command )
164{
165 switch(command)
166 {
167 CASE_RETURN_STRING(eSmeNoCommand);
168 CASE_RETURN_STRING(eSmeDropCommand);
169 CASE_RETURN_STRING(eSmeCsrCommandMask);
170 CASE_RETURN_STRING(eSmeCommandScan);
171 CASE_RETURN_STRING(eSmeCommandRoam);
172 CASE_RETURN_STRING(eSmeCommandWmStatusChange);
173 CASE_RETURN_STRING(eSmeCommandSetKey);
174 CASE_RETURN_STRING(eSmeCommandRemoveKey);
175 CASE_RETURN_STRING(eSmeCommandAddStaSession);
176 CASE_RETURN_STRING(eSmeCommandDelStaSession);
Konamki, Sreelakshmi824f93e2015-07-31 12:55:48 +0530177 CASE_RETURN_STRING(eSmeCommandPnoReq);
178 CASE_RETURN_STRING(eSmeCommandMacSpoofRequest);
179 CASE_RETURN_STRING(eSmeCommandGetFrameLogRequest);
180#ifdef FEATURE_WLAN_TDLS
181 CASE_RETURN_STRING(eSmeCommandTdlsSendMgmt);
182 CASE_RETURN_STRING(eSmeCommandTdlsAddPeer);
183 CASE_RETURN_STRING(eSmeCommandTdlsDelPeer);
184 CASE_RETURN_STRING(eSmeCommandTdlsLinkEstablish);
185 CASE_RETURN_STRING(eSmeCommandTdlsChannelSwitch);
186#endif
187 CASE_RETURN_STRING(eSmeCommandNanReq);
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -0700188 CASE_RETURN_STRING(eSmePmcCommandMask);
189 CASE_RETURN_STRING(eSmeCommandEnterImps);
190 CASE_RETURN_STRING(eSmeCommandExitImps);
191 CASE_RETURN_STRING(eSmeCommandEnterBmps);
192 CASE_RETURN_STRING(eSmeCommandExitBmps);
193 CASE_RETURN_STRING(eSmeCommandEnterUapsd);
194 CASE_RETURN_STRING(eSmeCommandExitUapsd);
195 CASE_RETURN_STRING(eSmeCommandEnterWowl);
196 CASE_RETURN_STRING(eSmeCommandExitWowl);
197 CASE_RETURN_STRING(eSmeCommandEnterStandby);
198 CASE_RETURN_STRING(eSmeQosCommandMask);
199 CASE_RETURN_STRING(eSmeCommandAddTs);
200 CASE_RETURN_STRING(eSmeCommandDelTs);
201#ifdef FEATURE_OEM_DATA_SUPPORT
202 CASE_RETURN_STRING(eSmeCommandOemDataReq);
203#endif
204 CASE_RETURN_STRING(eSmeCommandRemainOnChannel);
205 CASE_RETURN_STRING(eSmeCommandNoAUpdate);
206 default:
207 return( "UNKNOWN" );
208 break;
209 }
210}
Katya Nigam24310bc2013-12-26 14:26:22 +0530211static void smeTraceDump(tpAniSirGlobal pMac, tpvosTraceRecord pRecord,
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -0700212 tANI_U16 recIndex)
213{
Konamki, Sreelakshmi5548ff92015-07-29 14:47:54 +0530214 switch (pRecord->code) {
215 case TRACE_CODE_SME_COMMAND:
216 smsLog(pMac, LOGE, "%04d %012u S%d %-14s %-30s(0x%x)",
217 recIndex, pRecord->time, pRecord->session, "SME COMMAND:",
218 smeTraceGetCommandString(pRecord->data), pRecord->data);
219 break;
220 case TRACE_CODE_SME_TX_WDA_MSG:
221 smsLog(pMac, LOGE, "%04d %012u S%d %-14s %-30s(0x%x)",
222 recIndex, pRecord->time, pRecord->session, "TX WDA Msg:",
223 macTraceGetWdaMsgString((tANI_U16)pRecord->data),
224 pRecord->data);
225 break;
226 case TRACE_CODE_SME_RX_WDA_MSG:
227 smsLog(pMac, LOGE, "%04d %012u S%d %-14s %-30s(0x%x)",
228 recIndex, pRecord->time, pRecord->session, "RX WDA Msg:",
229 macTraceGetSmeMsgString((tANI_U16)pRecord->data),
230 pRecord->data);
231 break;
232 default:
233 smsLog(pMac, LOGE, "%04d %012u S%d %-14s %-30s(0x%x)",
234 recIndex, pRecord->time, pRecord->session, "RX HDD MSG:",
235 smeTraceGetRxMsgString(pRecord->code), pRecord->data);
236 break;
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -0700237 }
238}
239
240void smeTraceInit(tpAniSirGlobal pMac)
241{
Katya Nigam24310bc2013-12-26 14:26:22 +0530242 vosTraceRegister(VOS_MODULE_ID_SME, (tpvosTraceCb)&smeTraceDump);
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -0700243}
244#endif