blob: 3e18dcce37b5ca71585be4bf923bd20e43daf2c8 [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_START);
151 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXTSCAN_STOP);
152 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXTSCAN_SET_BSS_HOTLIST);
153 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXTSCAN_RESET_BSS_HOTLIST);
Konamki, Sreelakshmi824f93e2015-07-31 12:55:48 +0530154 CASE_RETURN_STRING(TRACE_CODE_SME_RX_HDD_EXTSCAN_GET_CACHED_RESULTS);
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -0700155 default:
156 return( "UNKNOWN" );
157 break;
158 }
159}
160static tANI_U8* smeTraceGetCommandString( tANI_U32 command )
161{
162 switch(command)
163 {
164 CASE_RETURN_STRING(eSmeNoCommand);
165 CASE_RETURN_STRING(eSmeDropCommand);
166 CASE_RETURN_STRING(eSmeCsrCommandMask);
167 CASE_RETURN_STRING(eSmeCommandScan);
168 CASE_RETURN_STRING(eSmeCommandRoam);
169 CASE_RETURN_STRING(eSmeCommandWmStatusChange);
170 CASE_RETURN_STRING(eSmeCommandSetKey);
171 CASE_RETURN_STRING(eSmeCommandRemoveKey);
172 CASE_RETURN_STRING(eSmeCommandAddStaSession);
173 CASE_RETURN_STRING(eSmeCommandDelStaSession);
Konamki, Sreelakshmi824f93e2015-07-31 12:55:48 +0530174 CASE_RETURN_STRING(eSmeCommandPnoReq);
175 CASE_RETURN_STRING(eSmeCommandMacSpoofRequest);
176 CASE_RETURN_STRING(eSmeCommandGetFrameLogRequest);
177#ifdef FEATURE_WLAN_TDLS
178 CASE_RETURN_STRING(eSmeCommandTdlsSendMgmt);
179 CASE_RETURN_STRING(eSmeCommandTdlsAddPeer);
180 CASE_RETURN_STRING(eSmeCommandTdlsDelPeer);
181 CASE_RETURN_STRING(eSmeCommandTdlsLinkEstablish);
182 CASE_RETURN_STRING(eSmeCommandTdlsChannelSwitch);
183#endif
184 CASE_RETURN_STRING(eSmeCommandNanReq);
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -0700185 CASE_RETURN_STRING(eSmePmcCommandMask);
186 CASE_RETURN_STRING(eSmeCommandEnterImps);
187 CASE_RETURN_STRING(eSmeCommandExitImps);
188 CASE_RETURN_STRING(eSmeCommandEnterBmps);
189 CASE_RETURN_STRING(eSmeCommandExitBmps);
190 CASE_RETURN_STRING(eSmeCommandEnterUapsd);
191 CASE_RETURN_STRING(eSmeCommandExitUapsd);
192 CASE_RETURN_STRING(eSmeCommandEnterWowl);
193 CASE_RETURN_STRING(eSmeCommandExitWowl);
194 CASE_RETURN_STRING(eSmeCommandEnterStandby);
195 CASE_RETURN_STRING(eSmeQosCommandMask);
196 CASE_RETURN_STRING(eSmeCommandAddTs);
197 CASE_RETURN_STRING(eSmeCommandDelTs);
198#ifdef FEATURE_OEM_DATA_SUPPORT
199 CASE_RETURN_STRING(eSmeCommandOemDataReq);
200#endif
201 CASE_RETURN_STRING(eSmeCommandRemainOnChannel);
202 CASE_RETURN_STRING(eSmeCommandNoAUpdate);
203 default:
204 return( "UNKNOWN" );
205 break;
206 }
207}
Katya Nigam24310bc2013-12-26 14:26:22 +0530208static void smeTraceDump(tpAniSirGlobal pMac, tpvosTraceRecord pRecord,
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -0700209 tANI_U16 recIndex)
210{
Konamki, Sreelakshmi5548ff92015-07-29 14:47:54 +0530211 switch (pRecord->code) {
212 case TRACE_CODE_SME_COMMAND:
Abhishek Singh837adf22015-10-01 17:37:37 +0530213 smsLog(pMac, LOGW, "%04d %012u S%d %-14s %-30s(0x%x)",
Konamki, Sreelakshmi5548ff92015-07-29 14:47:54 +0530214 recIndex, pRecord->time, pRecord->session, "SME COMMAND:",
215 smeTraceGetCommandString(pRecord->data), pRecord->data);
216 break;
217 case TRACE_CODE_SME_TX_WDA_MSG:
Abhishek Singh837adf22015-10-01 17:37:37 +0530218 smsLog(pMac, LOGW, "%04d %012u S%d %-14s %-30s(0x%x)",
Konamki, Sreelakshmi5548ff92015-07-29 14:47:54 +0530219 recIndex, pRecord->time, pRecord->session, "TX WDA Msg:",
220 macTraceGetWdaMsgString((tANI_U16)pRecord->data),
221 pRecord->data);
222 break;
223 case TRACE_CODE_SME_RX_WDA_MSG:
Abhishek Singh837adf22015-10-01 17:37:37 +0530224 smsLog(pMac, LOGW, "%04d %012u S%d %-14s %-30s(0x%x)",
Konamki, Sreelakshmi5548ff92015-07-29 14:47:54 +0530225 recIndex, pRecord->time, pRecord->session, "RX WDA Msg:",
226 macTraceGetSmeMsgString((tANI_U16)pRecord->data),
227 pRecord->data);
228 break;
229 default:
Abhishek Singh837adf22015-10-01 17:37:37 +0530230 smsLog(pMac, LOGW, "%04d %012u S%d %-14s %-30s(0x%x)",
Konamki, Sreelakshmi5548ff92015-07-29 14:47:54 +0530231 recIndex, pRecord->time, pRecord->session, "RX HDD MSG:",
232 smeTraceGetRxMsgString(pRecord->code), pRecord->data);
233 break;
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -0700234 }
235}
236
237void smeTraceInit(tpAniSirGlobal pMac)
238{
Katya Nigam24310bc2013-12-26 14:26:22 +0530239 vosTraceRegister(VOS_MODULE_ID_SME, (tpvosTraceCb)&smeTraceDump);
Leela Venkata Kiran Kumar Reddy Chiralabbb980b2013-04-10 22:39:51 -0700240}
241#endif