xref: /freebsd/sys/contrib/dev/athk/ath10k/fwlog.c (revision 717240c95d297711d3bed0bb8b4cc8403ecbfd6a)
1 /*
2  * Copyright (c) 2015, The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 #if defined(__FreeBSD__)
18 #define	LINUXKPI_PARAM_PREFIX	ath10k_fwlog_
19 #endif
20 
21 #include "core.h"
22 #include "debug.h"
23 #if defined(__FreeBSD__)
24 #include "fwlog.h"
25 
26 #include <linux/module.h>	/* modparam */
27 
28 static bool enable;
29 module_param(enable, bool, 0644);
30 MODULE_PARM_DESC(enable, "Enable firmware loggging.");
31 #endif
32 
33 #define FW_DBGLOG_TIMESTAMP_OFFSET	0
34 #define FW_DBGLOG_TIMESTAMP_MASK	0xFFFFFFFF /* Bit 0-15. Contains bit
35                                                        8-23 of the LF0 timer */
36 #define FW_DBGLOG_DBGID_OFFSET		0
37 #define FW_DBGLOG_DBGID_MASK		0x000003FF /* Bit 0-9 */
38 #define FW_DBGLOG_DBGID_NUM_MAX		256 /* Upper limit is width of mask */
39 
40 #define FW_DBGLOG_MODULEID_OFFSET	10
41 #define FW_DBGLOG_MODULEID_MASK		0x0003FC00 /* Bit 10-17 */
42 #define FW_DBGLOG_MODULEID_NUM_MAX	32 /* Upper limit is width of mask */
43 
44 #define FW_DBGLOG_VAPID_OFFSET		18
45 #define FW_DBGLOG_VAPID_MASK		0x03FC0000 /* Bit 20-25*/
46 #define FW_DBGLOG_VAPID_NUM_MAX		16
47 
48 #define FW_DBGLOG_NUM_ARGS_OFFSET	26
49 #define FW_DBGLOG_NUM_ARGS_MASK		0xFC000000 /* Bit 26-31 */
50 #define FW_DBGLOG_NUM_ARGS_MAX		5 /* it is limited bcoz of limitatios
51                                              with Xtensa tool */
52 
53 
54 
55 #define FW_DBGLOG_GET_DBGID(arg) \
56     ((arg & FW_DBGLOG_DBGID_MASK) >> FW_DBGLOG_DBGID_OFFSET)
57 
58 #define FW_DBGLOG_GET_MODULEID(arg) \
59     ((arg & FW_DBGLOG_MODULEID_MASK) >> FW_DBGLOG_MODULEID_OFFSET)
60 
61 #define FW_DBGLOG_GET_VAPID(arg) \
62     ((arg & FW_DBGLOG_VAPID_MASK) >> FW_DBGLOG_VAPID_OFFSET)
63 
64 #define FW_DBGLOG_GET_NUMARGS(arg) \
65     ((arg & FW_DBGLOG_NUM_ARGS_MASK) >> FW_DBGLOG_NUM_ARGS_OFFSET)
66 
67 #define FW_DBGLOG_GET_TIME_STAMP(arg) \
68     ((arg & FW_DBGLOG_TIMESTAMP_MASK) >> FW_DBGLOG_TIMESTAMP_OFFSET)
69 
70 #define ATH10K_FWLOG_MAX_EVT_QUEUE 100
71 #define FW_DBGLOG_PRINT_PREFIX "FWLOG: "
72 #define MAX_DBG_MSGS 256
73 
74 typedef enum {
75   WLAN_MODULE_ID_MIN = 0,
76   WLAN_MODULE_INF = WLAN_MODULE_ID_MIN,
77   WLAN_MODULE_WMI,
78   WLAN_MODULE_STA_PWRSAVE,
79   WLAN_MODULE_WHAL,
80   WLAN_MODULE_COEX,
81   WLAN_MODULE_ROAM,
82   WLAN_MODULE_RESMGR_CHAN_MANAGER,
83   WLAN_MODULE_RESMGR_OCS,
84   WLAN_MODULE_VDEV_MGR,
85   WLAN_MODULE_SCAN,
86   WLAN_MODULE_RATECTRL,
87   WLAN_MODULE_AP_PWRSAVE,
88   WLAN_MODULE_BLOCKACK,
89   WLAN_MODULE_MGMT_TXRX,
90   WLAN_MODULE_DATA_TXRX,
91   WLAN_MODULE_HTT,
92   WLAN_MODULE_HOST,
93   WLAN_MODULE_BEACON,
94   WLAN_MODULE_OFFLOAD,
95   WLAN_MODULE_WAL,
96   WAL_MODULE_DE,
97   WLAN_MODULE_PCIELP,
98   WLAN_MODULE_RTT,
99   WLAN_MODULE_RESOURCE,
100   WLAN_MODULE_DCS,
101   WLAN_MODULE_ANI,
102   WLAN_MODULE_CACHEMGR,
103   WLAN_MODULE_DEBUG,
104   WLAN_MODULE_ID_MAX,
105   WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX,
106 } WLAN_MODULE_ID;
107 
108 typedef enum {
109 	/* Add various modules supported by 10.4 fw
110 	 * when module IDs are needed to be used
111 	 */
112 	WLAN_10_4_MODULE_ID_MAX = 35,
113 	WLAN_10_4_MODULE_ID_INVALID = WLAN_10_4_MODULE_ID_MAX,
114 } WLAN_10_4_MODULE_ID;
115 
116 
117 char * DBG_MSG_ARR[WLAN_MODULE_ID_MAX][MAX_DBG_MSGS] =
118 {
119 {
120 	"INF_MSG_START",
121 	"INF_ASSERTION_FAILED",
122 	"INF_TARGET_ID",
123 	"INF_MSG_END"
124 },
125 {
126 	"WMI_DBGID_DEFINITION_START",
127 	"WMI_CMD_RX_XTND_PKT_TOO_SHORT",
128 	"WMI_EXTENDED_CMD_NOT_HANDLED",
129 	"WMI_CMD_RX_PKT_TOO_SHORT",
130 	"WMI_CALLING_WMI_EXTENSION_FN",
131 	"WMI_CMD_NOT_HANDLED",
132 	"WMI_IN_SYNC",
133 	"WMI_TARGET_WMI_SYNC_CMD",
134 	"WMI_SET_SNR_THRESHOLD_PARAMS",
135 	"WMI_SET_RSSI_THRESHOLD_PARAMS",
136 	"WMI_SET_LQ_TRESHOLD_PARAMS",
137 	"WMI_TARGET_CREATE_PSTREAM_CMD",
138 	"WMI_WI_DTM_INUSE",
139 	"WMI_TARGET_DELETE_PSTREAM_CMD",
140 	"WMI_TARGET_IMPLICIT_DELETE_PSTREAM_CMD",
141 	"WMI_TARGET_GET_BIT_RATE_CMD",
142 	"WMI_GET_RATE_MASK_CMD_FIX_RATE_MASK_IS",
143 	"WMI_TARGET_GET_AVAILABLE_CHANNELS_CMD",
144 	"WMI_TARGET_GET_TX_PWR_CMD",
145 	"WMI_FREE_EVBUF_WMIBUF",
146 	"WMI_FREE_EVBUF_DATABUF",
147 	"WMI_FREE_EVBUF_BADFLAG",
148 	"WMI_HTC_RX_ERROR_DATA_PACKET",
149         "WMI_HTC_RX_SYNC_PAUSING_FOR_MBOX",
150 	"WMI_INCORRECT_WMI_DATA_HDR_DROPPING_PKT",
151 	"WMI_SENDING_READY_EVENT",
152 	"WMI_SETPOWER_MDOE_TO_MAXPERF",
153 	"WMI_SETPOWER_MDOE_TO_REC",
154 	"WMI_BSSINFO_EVENT_FROM",
155 	"WMI_TARGET_GET_STATS_CMD",
156 	"WMI_SENDING_SCAN_COMPLETE_EVENT",
157 	"WMI_SENDING_RSSI_INDB_THRESHOLD_EVENT ",
158 	"WMI_SENDING_RSSI_INDBM_THRESHOLD_EVENT",
159 	"WMI_SENDING_LINK_QUALITY_THRESHOLD_EVENT",
160 	"WMI_SENDING_ERROR_REPORT_EVENT",
161 	"WMI_SENDING_CAC_EVENT",
162 	"WMI_TARGET_GET_ROAM_TABLE_CMD",
163 	"WMI_TARGET_GET_ROAM_DATA_CMD",
164 	"WMI_SENDING_GPIO_INTR_EVENT",
165 	"WMI_SENDING_GPIO_ACK_EVENT",
166 	"WMI_SENDING_GPIO_DATA_EVENT",
167 	"WMI_CMD_RX",
168 	"WMI_CMD_RX_XTND",
169 	"WMI_EVENT_SEND",
170 	"WMI_EVENT_SEND_XTND",
171 	"WMI_CMD_PARAMS_DUMP_START",
172 	"WMI_CMD_PARAMS_DUMP_END",
173 	"WMI_CMD_PARAMS",
174 	"WMI_EVENT_ALLOC_FAILURE",
175 	"WMI_DBGID_DCS_PARAM_CMD",
176 	"WMI_DBGOD_DEFNITION_END",
177 },
178 {
179 	"PS_STA_DEFINITION_START",
180 	"PS_STA_PM_ARB_REQUEST",
181 },
182 {
183 	"WHAL_DBGID_DEFINITION_START",
184 	"WHAL_ERROR_ANI_CONTROL",
185 	"WHAL_ERROR_CHIP_TEST1",
186 	"WHAL_ERROR_CHIP_TEST2",
187 	"WHAL_ERROR_EEPROM_CHECKSUM",
188 	"WHAL_ERROR_EEPROM_MACADDR",
189 	"WHAL_ERROR_INTERRUPT_HIU",
190 	"WHAL_ERROR_KEYCACHE_RESET",
191 	"WHAL_ERROR_KEYCACHE_SET",
192 	"WHAL_ERROR_KEYCACHE_TYPE",
193 	"WHAL_ERROR_KEYCACHE_TKIPENTRY",
194 	"WHAL_ERROR_KEYCACHE_WEPLENGTH",
195 	"WHAL_ERROR_PHY_INVALID_CHANNEL",
196 	"WHAL_ERROR_POWER_AWAKE",
197 	"WHAL_ERROR_POWER_SET",
198 	"WHAL_ERROR_RECV_STOPDMA",
199 	"WHAL_ERROR_RECV_STOPPCU",
200 	"WHAL_ERROR_RESET_CHANNF1",
201 	"WHAL_ERROR_RESET_CHANNF2",
202 	"WHAL_ERROR_RESET_PM",
203 	"WHAL_ERROR_RESET_OFFSETCAL",
204 	"WHAL_ERROR_RESET_RFGRANT",
205 	"WHAL_ERROR_RESET_RXFRAME",
206         "WHAL_ERROR_RESET_STOPDMA",
207 	"WHAL_ERROR_RESET_ERRID",
208 	"WHAL_ERROR_RESET_ADCDCCAL1",
209 	"WHAL_ERROR_RESET_ADCDCCAL2",
210 	"WHAL_ERROR_RESET_TXIQCAL",
211 	"WHAL_ERROR_RESET_RXIQCAL",
212 	"WHAL_ERROR_RESET_CARRIERLEAK",
213 	"WHAL_ERROR_XMIT_COMPUTE",
214 	"WHAL_ERROR_XMIT_NOQUEUE",
215 	"WHAL_ERROR_XMIT_ACTIVEQUEUE",
216 	"WHAL_ERROR_XMIT_BADTYPE",
217 	"WHAL_ERROR_XMIT_STOPDMA",
218 	"WHAL_ERROR_INTERRUPT_BB_PANIC",
219 	"WHAL_ERROR_PAPRD_MAXGAIN_ABOVE_WINDOW",
220 	"WHAL_SMARTANT_CONFIGURE",
221 	"WHAL_SMARTANT_RXANTENNA",
222 	"WHAL_TX_ENQUEUE",
223 	"WHAL_COEX_RESET",
224 	"WHAL_COEX_SELF_GEN_MASK",
225 	"WHAL_ERROR_COEX_MCI_ISR",
226 	"WHAL_COEX_MCI_ISR_IntRaw",
227 	"WHAL_COEX_MCI_ISR_Int1Raw",
228 	"WHAL_COEX_MCI_ISR_RxMsgRaw",
229 	"WHAL_COEX_SENDMSG_QUEUE",
230 	"WHAL_COEX_TX_MCI_REMOTE_RESET",
231 	"WHAL_COEX_TX_MCI_TYPE_UNKNOWN",
232 	"WHAL_COEX_TX_MCI_SYS_SLEEPING",
233 	"WHAL_COEX_TX_MCI_REQ_WAKE",
234 	"WHAL_COEX_TX_MCI_SYS_WAKING",
235 	"WHAL_COEX_TX_MCI_LNA_TAKE",
236 	"WHAL_COEX_TX_MCI_LNA_TRANS",
237 	"WHAL_COEX_TX_MCI_GPM_UNKNOWN",
238 	"WHAL_COEX_TX_MCI_GPM_WLAN_SET_ACL_INACTIVITY",
239 	"WHAL_COEX_TX_MCI_GPM_BT_PAUSE_PROFILE",
240 	"WHAL_COEX_TX_MCI_GPM_WLAN_PRIO",
241 	"WHAL_COEX_TX_MCI_GPM_BT_STATUS_UPDATE",
242 	"WHAL_COEX_TX_MCI_GPM_BT_UPDATE_FLAGS",
243 	"WHAL_COEX_TX_MCI_GPM_VERSION_QUERY",
244 	"WHAL_COEX_TX_MCI_GPM_VERSION_RESPONSE",
245 	"WHAL_COEX_TX_MCI_GPM_STATUS_QUERY",
246 	"WHAL_COEX_TX_MCI_GPM_HALT_BT_GPM",
247 	"WHAL_COEX_TX_MCI_GPM_WLAN_CHANNELS",
248 	"WHAL_COEX_TX_MCI_GPM_BT_PROFILE_INFO",
249 	"WHAL_COEX_TX_MCI_GPM_BT_CAL_REQ ",
250 	"WHAL_COEX_TX_MCI_GPM_BT_CAL_GRANT",
251 	"WHAL_COEX_TX_MCI_GPM_BT_CAL_DONE",
252 	"WHAL_COEX_TX_MCI_GPM_WLAN_CAL_REQ",
253 	"WHAL_COEX_TX_MCI_GPM_WLAN_CAL_GRANT",
254 	"WHAL_COEX_TX_MCI_GPM_WLAN_CAL_DONE",
255 	"WHAL_COEX_TX_MCI_GPM_BT_DEBUG",
256 	"WHAL_COEX_WHAL_MCI_RESET",
257 	"WHAL_COEX_POLL_BT_CAL_DONE_TIMEOUT",
258 	"WHAL_COEX_WHAL_PAUSE",
259 	"WHAL_COEX_RX_MCI_GPM_BT_CAL_REQ",
260 	"WHAL_COEX_RX_MCI_GPM_BT_CAL_DONE",
261 	"WHAL_COEX_RX_MCI_GPM_BT_CAL_GRANT",
262 	"WHAL_COEX_WLAN_CAL_START",
263 	"WHAL_COEX_WLAN_CAL_RESULT ",
264 	"WHAL_COEX_BtMciState",
265 	"WHAL_COEX_BtCalState",
266 	"WHAL_COEX_WlanCalState",
267 	"WHAL_COEX_RxReqWakeCount",
268 	"WHAL_COEX_RxRemoteResetCount",
269 	"WHAL_COEX_RESTART_CAL",
270 	"WHAL_COEX_WHAL_COEX_RESET",
271         "WHAL_COEX_SELF_GEN_MASK",
272 	"WHAL_DBGID_DEFINITION_END"
273 },
274 {
275 	"COEX_DEBUGID_START",
276 	"BTCOEX_DBG_MCI_1",
277 	"BTCOEX_DBG_MCI_2",
278 	"BTCOEX_DBG_MCI_3",
279 	"BTCOEX_DBG_MCI_4",
280 	"BTCOEX_DBG_MCI_5",
281 	"BTCOEX_DBG_MCI_6",
282 	"BTCOEX_DBG_MCI_7",
283 	"BTCOEX_DBG_MCI_8",
284 	"BTCOEX_DBG_MCI_9",
285 	"BTCOEX_DBG_MCI_10",
286 	"COEX_WAL_BTCOEX_INIT",
287 	"COEX_WAL_PAUSE",
288 	"COEX_WAL_RESUME",
289 	"COEX_UPDATE_AFH",
290 	"COEX_HWQ_EMPTY_CB",
291 	"COEX_MCI_TIMER_HANDLER",
292 	"COEX_MCI_RECOVER",
293 	"ERROR_COEX_MCI_ISR",
294 	"ERROR_COEX_MCI_GPM",
295 	"COEX_ProfileType",
296 	"COEX_LinkID",
297 	"COEX_LinkState",
298 	"COEX_LinkRole",
299 	"COEX_LinkRate",
300 	"COEX_VoiceType",
301 	"COEX_TInterval",
302 	"COEX_WRetrx",
303 	"COEX_Attempts",
304 	"COEX_PerformanceState",
305 	"COEX_LinkType",
306 	"COEX_RX_MCI_GPM_VERSION_QUERY",
307 	"COEX_RX_MCI_GPM_VERSION_RESPONSE",
308 	"COEX_RX_MCI_GPM_STATUS_QUERY",
309 	"COEX_STATE_WLAN_VDEV_DOWN",
310 	"COEX_STATE_WLAN_VDEV_START",
311 	"COEX_STATE_WLAN_VDEV_CONNECTED",
312 	"COEX_STATE_WLAN_VDEV_SCAN_STARTED",
313 	"COEX_STATE_WLAN_VDEV_SCAN_END",
314 	"COEX_STATE_WLAN_DEFAULT",
315 	"COEX_CHANNEL_CHANGE",
316 	"COEX_POWER_CHANGE",
317 	"COEX_CONFIG_MGR",
318 	"COEX_TX_MCI_GPM_BT_CAL_REQ",
319 	"COEX_TX_MCI_GPM_BT_CAL_GRANT",
320 	"COEX_TX_MCI_GPM_BT_CAL_DONE",
321 	"COEX_TX_MCI_GPM_WLAN_CAL_REQ",
322 	"COEX_TX_MCI_GPM_WLAN_CAL_GRANT",
323 	"COEX_TX_MCI_GPM_WLAN_CAL_DONE",
324 	"COEX_TX_MCI_GPM_BT_DEBUG",
325 	"COEX_TX_MCI_GPM_VERSION_QUERY",
326 	"COEX_TX_MCI_GPM_VERSION_RESPONSE",
327 	"COEX_TX_MCI_GPM_STATUS_QUERY",
328 	"COEX_TX_MCI_GPM_HALT_BT_GPM",
329 	"COEX_TX_MCI_GPM_WLAN_CHANNELS",
330 	"COEX_TX_MCI_GPM_BT_PROFILE_INFO",
331 	"COEX_TX_MCI_GPM_BT_STATUS_UPDATE",
332 	"COEX_TX_MCI_GPM_BT_UPDATE_FLAGS",
333 	"COEX_TX_MCI_GPM_UNKNOWN",
334 	"COEX_TX_MCI_SYS_WAKING",
335 	"COEX_TX_MCI_LNA_TAKE",
336 	"COEX_TX_MCI_LNA_TRANS",
337 	"COEX_TX_MCI_SYS_SLEEPING",
338 	"COEX_TX_MCI_REQ_WAKE",
339 	"COEX_TX_MCI_REMOTE_RESET",
340 	"COEX_TX_MCI_TYPE_UNKNOWN",
341 	"COEX_WHAL_MCI_RESET",
342 	"COEX_POLL_BT_CAL_DONE_TIMEOUT",
343 	"COEX_WHAL_PAUSE",
344 	"COEX_RX_MCI_GPM_BT_CAL_REQ",
345 	"COEX_RX_MCI_GPM_BT_CAL_DONE",
346 	"COEX_RX_MCI_GPM_BT_CAL_GRANT",
347 	"COEX_WLAN_CAL_START",
348 	"COEX_WLAN_CAL_RESULT",
349 	"COEX_BtMciState",
350 	"COEX_BtCalState",
351 	"COEX_WlanCalState",
352 	"COEX_RxReqWakeCount",
353 	"COEX_RxRemoteResetCount",
354 	"COEX_RESTART_CAL",
355 	"COEX_SENDMSG_QUEUE",
356 	"COEX_RESETSEQ_LNAINFO_TIMEOUT",
357 	"COEX_MCI_ISR_IntRaw",
358 	"COEX_MCI_ISR_Int1Raw",
359 	"COEX_MCI_ISR_RxMsgRaw",
360 	"COEX_WHAL_COEX_RESET",
361 	"COEX_WAL_COEX_INIT",
362 	"COEX_TXRX_CNT_LIMIT_ISR",
363 	"COEX_CH_BUSY",
364 	"COEX_REASSESS_WLAN_STATE",
365 	"COEX_BTCOEX_WLAN_STATE_UPDATE",
366 	"COEX_BT_NUM_OF_PROFILES",
367 	"COEX_BT_NUM_OF_HID_PROFILES",
368 	"COEX_BT_NUM_OF_ACL_PROFILES",
369 	"COEX_BT_NUM_OF_HI_ACL_PROFILES",
370 	"COEX_BT_NUM_OF_VOICE_PROFILES",
371 	"COEX_WLAN_AGGR_LIMIT",
372 	"COEX_BT_LOW_PRIO_BUDGET",
373 	"COEX_BT_HI_PRIO_BUDGET",
374 	"COEX_BT_IDLE_TIME",
375 	"COEX_SET_COEX_WEIGHT",
376 	"COEX_WLAN_WEIGHT_GROUP",
377 	"COEX_BT_WEIGHT_GROUP",
378 	"COEX_BT_INTERVAL_ALLOC",
379 	"COEX_BT_SCHEME",
380 	"COEX_BT_MGR",
381 	"COEX_BT_SM_ERROR",
382 	"COEX_SYSTEM_UPDATE",
383 	"COEX_LOW_PRIO_LIMIT",
384 	"COEX_HI_PRIO_LIMIT",
385 	"COEX_BT_INTERVAL_START",
386 	"COEX_WLAN_INTERVAL_START",
387 	"COEX_NON_LINK_BUDGET",
388 	"COEX_CONTENTION_MSG",
389 	"COEX_SET_NSS",
390 	"COEX_SELF_GEN_MASK",
391 	"COEX_PROFILE_ERROR",
392 	"COEX_WLAN_INIT",
393 	"COEX_BEACON_MISS",
394 	"COEX_BEACON_OK",
395 	"COEX_BTCOEX_SCAN_ACTIVITY",
396 	"COEX_SCAN_ACTIVITY",
397 	"COEX_FORCE_QUIETTIME",
398 	"COEX_BT_MGR_QUIETTIME",
399 	"COEX_BT_INACTIVITY_TRIGGER",
400 	"COEX_BT_INACTIVITY_REPORTED",
401 	"COEX_TX_MCI_GPM_WLAN_PRIO",
402 	"COEX_TX_MCI_GPM_BT_PAUSE_PROFILE",
403 	"COEX_TX_MCI_GPM_WLAN_SET_ACL_INACTIVITY",
404 	"COEX_RX_MCI_GPM_BT_ACL_INACTIVITY_REPORT",
405 	"COEX_GENERIC_ERROR",
406 	"COEX_RX_RATE_THRESHOLD",
407 	"COEX_RSSI",
408 	"COEX_WLAN_VDEV_NOTIF_START", //                 133
409 	"COEX_WLAN_VDEV_NOTIF_UP", //                    134
410 	"COEX_WLAN_VDEV_NOTIF_DOWN",   //                135
411 	"COEX_WLAN_VDEV_NOTIF_STOP",    //               136
412 	"COEX_WLAN_VDEV_NOTIF_ADD_PEER",    //           137
413 	"COEX_WLAN_VDEV_NOTIF_DELETE_PEER",  //          138
414 	"COEX_WLAN_VDEV_NOTIF_CONNECTED_PEER",  //       139
415 	"COEX_WLAN_VDEV_NOTIF_PAUSE",   //        140
416 	"COEX_WLAN_VDEV_NOTIF_UNPAUSED",    //        141
417 	"COEX_STATE_WLAN_VDEV_PEER_ADD",    //           142
418 	"COEX_STATE_WLAN_VDEV_CONNECTED_PEER",    //     143
419 	"COEX_STATE_WLAN_VDEV_DELETE_PEER",  //          144
420 	"COEX_STATE_WLAN_VDEV_PAUSE",  //         145
421 	"COEX_STATE_WLAN_VDEV_UNPAUSED",    //        146
422 	"COEX_SCAN_CALLBACK",           //    147
423 	"COEX_DEBUG_MESSAGE_END"
424 },
425 {
426 	"RO_DBGID_DEFINITION_START",
427 	"RO_REFRESH_ROAM_TABLE",
428 	"RO_UPDATE_ROAM_CANDIDATE",
429 	"RO_UPDATE_ROAM_CANDIDATE_CB",
430 	"RO_UPDATE_ROAM_CANDIDATE_FINISH",
431 	"RO_REFRESH_ROAM_TABLE_DONE",
432 	"RO_PERIODIC_SEARCH_CB",
433 	"RO_PERIODIC_SEARCH_TIMEOUT",
434 	"RO_INIT",
435 	"RO_BMISS_STATE1",
436 	"RO_BMISS_STATE2",
437 	"RO_SET_PERIODIC_SEARCH_ENABLE",
438 	"RO_SET_PERIODIC_SEARCH_DISABLE",
439 	"RO_ENABLE_SQ_THRESHOLD",
440 	"RO_DISABLE_SQ_THRESHOLD",
441 	"RO_ADD_BSS_TO_ROAM_TABLE",
442 	"RO_SET_PERIODIC_SEARCH_MODE",
443 	"RO_CONFIGURE_SQ_THRESHOLD1",
444 	"RO_CONFIGURE_SQ_THRESHOLD2",
445 	"RO_CONFIGURE_SQ_PARAMS",
446 	"RO_LOW_SIGNAL_QUALITY_EVENT",
447 	"RO_HIGH_SIGNAL_QUALITY_EVENT",
448 	"RO_REMOVE_BSS_FROM_ROAM_TABLE",
449 	"RO_UPDATE_CONNECTION_STATE_METRIC",
450 	"RO_LOWRSSI_SCAN_PARAMS",
451 	"RO_LOWRSSI_SCAN_START",
452 	"RO_LOWRSSI_SCAN_END",
453 	"RO_LOWRSSI_SCAN_CANCEL",
454 	"RO_LOWRSSI_ROAM_CANCEL",
455 	"RO_REFRESH_ROAM_CANDIDATE",
456 	"RO_DBGID_DEFINITION_END"
457 },
458 {
459 	"RESMGR_CHMGR_DEFINITION_START",
460 	"RESMGR_CHMGR_PAUSE_COMPLETE",
461 	"RESMGR_CHMGR_CHANNEL_CHANGE",
462 	"RESMGR_CHMGR_RESUME_COMPLETE",
463 	"RESMGR_CHMGR_VDEV_PAUSE",
464 	"RESMGR_CHMGR_VDEV_UNPAUSE",
465 	"RESMGR_CHMGR_DEFINITION_END"
466 },
467 {
468 	"RESMGR_OCS_DEFINITION_START",
469 	"RESMGR_OCS_ALLOCRAM_SIZE",
470 	"RESMGR_OCS_RESOURCES",
471 	"RESMGR_OCS_LINK_CREATE",
472 	"RESMGR_OCS_LINK_DELETE",
473 	"RESMGR_OCS_CHREQ_CREATE",
474 	"RESMGR_OCS_CHREQ_DELETE",
475 	"RESMGR_OCS_CHREQ_START",
476 	"RESMGR_OCS_CHREQ_STOP",
477 	"RESMGR_OCS_SCHEDULER_INVOKED",
478 	"RESMGR_OCS_CHREQ_GRANT",
479 	"RESMGR_OCS_CHREQ_COMPLETE",
480 	"RESMGR_OCS_NEXT_TSFTIME",
481 	"RESMGR_OCS_TSF_TIMEOUT_US",
482 	"RESMGR_OCS_CURR_CAT_WINDOW",
483 	"RESMGR_OCS_CURR_CAT_WINDOW_REQ",
484 	"RESMGR_OCS_CURR_CAT_WINDOW_TIMESLOT",
485 	"RESMGR_OCS_CHREQ_RESTART",
486 	"RESMGR_OCS_CLEANUP_CH_ALLOCATORS",
487 	"RESMGR_OCS_PURGE_CHREQ",
488 	"RESMGR_OCS_CH_ALLOCATOR_FREE",
489 	"RESMGR_OCS_RECOMPUTE_SCHEDULE",
490 	"RESMGR_OCS_NEW_CAT_WINDOW_REQ",
491 	"RESMGR_OCS_NEW_CAT_WINDOW_TIMESLOT",
492 	"RESMGR_OCS_CUR_CH_ALLOC",
493 	"RESMGR_OCS_WIN_CH_ALLOC",
494 	"RESMGR_OCS_SCHED_CH_CHANGE",
495 	"RESMGR_OCS_CONSTRUCT_CAT_WIN",
496 	"RESMGR_OCS_CHREQ_PREEMPTED",
497 	"RESMGR_OCS_CH_SWITCH_REQ",
498 	"RESMGR_OCS_CHANNEL_SWITCHED",
499 	"RESMGR_OCS_CLEANUP_STALE_REQS",
500 	"RESMGR_OCS_DEFINITION_END"
501 },
502 {
503 	"VDEV_MGR_DEBID_DEFINITION_START", /* vdev Mgr */
504 	"VDEV_MGR_BEACON_MISS_TIMER_TIMEOUT",
505 	"VDEV_MGR_BEACON_MISS_DETECTED",
506 	"VDEV_MGR_BEACON_IN_SYNC",
507 	"VDEV_MGR_AP_KEEPALIVE_IDLE",
508 	"VDEV_MGR_AP_KEEPALIVE_INACTIVE",
509 	"VDEV_MGR_AP_KEEPALIVE_UNRESPONSIVE",
510 },
511 {
512 	"SCAN_START_COMMAND_FAILED", /* scan */
513 	"SCAN_STOP_COMMAND_FAILED",
514 	"SCAN_EVENT_SEND_FAILED",
515 },
516 {	"RATECTRL_DBGID_DEFINITION_START", /* Rate ctrl*/
517 	"RATECTRL_DBGID_ASSOC",
518 	"RATECTRL_DBGID_NSS_CHANGE",
519 	"RATECTRL_DBGID_CHAINMASK_ERR",
520 	"RATECTRL_DBGID_UNEXPECTED_FRAME",
521 	"RATECTRL_DBGID_WAL_RCQUERY",
522 	"RATECTRL_DBGID_WAL_RCUPDATE",
523 	"RATECTRL_DBGID_DEFINITION_END",
524 },
525 {
526 	"AP_PS_DBGID_DEFINITION_START",
527 	"AP_PS_DBGID_UPDATE_TIM",
528 	"AP_PS_DBGID_PEER_STATE_CHANGE",
529 	"AP_PS_DBGID_PSPOLL",
530 	"AP_PS_DBGID_PEER_CREATE",
531 	"AP_PS_DBGID_PEER_DELETE",
532 	"AP_PS_DBGID_VDEV_CREATE",
533 	"AP_PS_DBGID_VDEV_DELETE",
534 	"AP_PS_DBGID_SYNC_TIM",
535 	"AP_PS_DBGID_NEXT_RESPONSE",
536 	"AP_PS_DBGID_START_SP",
537 	"AP_PS_DBGID_COMPLETED_EOSP",
538 	"AP_PS_DBGID_TRIGGER",
539 	"AP_PS_DBGID_DUPLICATE_TRIGGER",
540 	"AP_PS_DBGID_UAPSD_RESPONSE",
541 	"AP_PS_DBGID_SEND_COMPLETE",
542 	"AP_PS_DBGID_SEND_N_COMPLETE",
543 },
544 {
545 	 "" /* Block Ack */
546 },
547 {
548   "" /* Mgmt TxRx */
549 },
550 { "" /* Data TxRx */
551 },
552 { "" /* HTT */
553 },
554 { "" /* HOST */
555 },
556 { "" /* BEACON */
557 	"BEACON_EVENT_SWBA_SEND_FAILED",
558 },
559 { /* Offload Mgr */
560 	"OFFLOAD_MGR_DBGID_DEFINITION_START",
561 	"OFFLOADMGR_REGISTER_OFFLOAD",
562 	"OFFLOADMGR_DEREGISTER_OFFLOAD",
563 	"OFFLOADMGR_NO_REG_DATA_HANDLERS",
564 	"OFFLOADMGR_NO_REG_EVENT_HANDLERS",
565 	"OFFLOADMGR_REG_OFFLOAD_FAILED",
566 	"OFFLOADMGR_DBGID_DEFINITION_END",
567 },
568 {
569 	"WAL_DBGID_DEFINITION_START",
570 	"WAL_DBGID_FAST_WAKE_REQUEST",
571 	"WAL_DBGID_FAST_WAKE_RELEASE",
572 	"WAL_DBGID_SET_POWER_STATE",
573 	"WAL_DBGID_MISSING",
574 	"WAL_DBGID_CHANNEL_CHANGE_FORCE_RESET",
575 	"WAL_DBGID_CHANNEL_CHANGE",
576 	"WAL_DBGID_VDEV_START",
577 	"WAL_DBGID_VDEV_STOP",
578 	"WAL_DBGID_VDEV_UP",
579 	"WAL_DBGID_VDEV_DOWN",
580 	"WAL_DBGID_SW_WDOG_RESET",
581 	"WAL_DBGID_TX_SCH_REGISTER_TIDQ",
582 	"WAL_DBGID_TX_SCH_UNREGISTER_TIDQ",
583 	"WAL_DBGID_TX_SCH_TICKLE_TIDQ",
584 	"WAL_DBGID_XCESS_FAILURES",
585 	"WAL_DBGID_AST_ADD_WDS_ENTRY",
586 	"WAL_DBGID_AST_DEL_WDS_ENTRY",
587 	"WAL_DBGID_AST_WDS_ENTRY_PEER_CHG",
588 	"WAL_DBGID_AST_WDS_SRC_LEARN_FAIL",
589 	"WAL_DBGID_STA_KICKOUT",
590 	"WAL_DBGID_BAR_TX_FAIL",
591 	"WAL_DBGID_BAR_ALLOC_FAIL",
592 	"WAL_DBGID_LOCAL_DATA_TX_FAIL",
593 	"WAL_DBGID_SECURITY_PM4_QUEUED",
594 	"WAL_DBGID_SECURITY_GM1_QUEUED",
595 	"WAL_DBGID_SECURITY_PM4_SENT",
596 	"WAL_DBGID_SECURITY_ALLOW_DATA",
597 	"WAL_DBGID_SECURITY_UCAST_KEY_SET",
598 	"WAL_DBGID_SECURITY_MCAST_KEY_SET",
599 	"WAL_DBGID_SECURITY_ENCR_EN",
600 	"WAL_DBGID_BB_WDOG_TRIGGERED",
601 	"WAL_DBGID_RX_LOCAL_BUFS_LWM",
602 	"WAL_DBGID_RX_LOCAL_DROP_LARGE_MGMT",
603 	"WAL_DBGID_VHT_ILLEGAL_RATE_PHY_ERR_DETECTED",
604 	"WAL_DBGID_DEV_RESET",
605 	"WAL_DBGID_TX_BA_SETUP",
606 	"WAL_DBGID_RX_BA_SETUP",
607 	"WAL_DBGID_DEV_TX_TIMEOUT",
608 	"WAL_DBGID_DEV_RX_TIMEOUT",
609 	"WAL_DBGID_STA_VDEV_XRETRY",
610 	"WAL_DBGID_DCS",
611 	"WAL_DBGID_HCM_BIN",
612 	"WAL_DBGID_HCM_BIN_PENALIZE",
613 	"WAL_DBGID_HCM_BIN_DEPENALIZE",
614 	"WAL_DBGID_AST_UPDATE_WDS_ENTRY",
615 	"WAL_DBGID_PEER_EXT_STATS",
616 	"WAL_DBGID_TX_AC_BUFFER_SET",
617 	"WAL_DBGID_AST_ENTRY_EXIST",
618 	"WAL_DBGID_AST_ENTRY_FULL",
619 	"WAL_DBGID_SET_HW_FILTER",
620 	"WAL_DBGID_TX_PPDU_COMP_ERR",
621 	"WAL_DBGID_TX_ENC_KEY_DROP",
622 	"WAL_DBGID_PDEV_INFO_PRINT",
623 	"WAL_DBGID_VDEV_INFO_PRINT",
624 	"WAL_DBGID_DEFINITION_END",
625 },
626 {
627 	"" /* DE */
628 },
629 {
630 	"" /* pcie lp */
631 },
632 {
633 	"" /* RTT */
634 },
635 {      /* RESOURCE */
636 	"RESOURCE_DBGID_DEFINITION_START",
637 	"RESOURCE_PEER_ALLOC",
638 	"RESOURCE_PEER_FREE",
639 	"RESOURCE_PEER_ALLOC_WAL_PEER",
640 	"RESOURCE_DBGID_DEFINITION_END",
641 },
642 { /* DCS */
643 	"WLAN_DCS_DBGID_INIT",
644 	"WLAN_DCS_DBGID_WMI_CWINT",
645 	"WLAN_DCS_DBGID_TIMER",
646 	"WLAN_DCS_DBGID_CMDG",
647 	"WLAN_DCS_DBGID_CMDS",
648 	"WLAN_DCS_DBGID_DINIT"
649 },
650 {   /* ANI  */
651 	"ANI_DBGID_POLL",
652 	"ANI_DBGID_CONTROL",
653 	"ANI_DBGID_OFDM_PARAMS",
654 	"ANI_DBGID_CCK_PARAMS",
655 	"ANI_DBGID_RESET",
656 	"ANI_DBGID_RESTART",
657 	"ANI_DBGID_OFDM_LEVEL",
658 	"ANI_DBGID_CCK_LEVEL",
659 	"ANI_DBGID_FIRSTEP",
660 	"ANI_DBGID_CYCPWR",
661 	"ANI_DBGID_MRC_CCK",
662 	"ANI_DBGID_SELF_CORR_LOW",
663 	"ANI_DBGID_ENABLE",
664 	"ANI_DBGID_CURRENT_LEVEL",
665 	"ANI_DBGID_POLL_PERIOD",
666 	"ANI_DBGID_LISTEN_PERIOD",
667 	"ANI_DBGID_OFDM_LEVEL_CFG",
668 	"ANI_DBGID_CCK_LEVEL_CFG",
669 },
670 {
671 	"" /* CACHEMGR */
672 },
673 {      /* DEBUG */
674 	"WLAN_DEBUG_MODULE_DBGID_START",
675 	"WLAN_DEBUG_DBGID_PEER",
676 	"WLAN_DEBUG_DBGID_PDEV",
677 	"WLAN_DEBUG_DBGID_VDEV",
678 	"WLAN_DEBUG_MODULE_DBGID_END",
679 },
680 };
681 
682 char *FW_10_4_DBG_MSG_ARR[WLAN_10_4_MODULE_ID_MAX][MAX_DBG_MSGS] =
683 {
684 {
685 	"INF_DBGID_DEFINITION_START",
686 	"INF_ASSERTION_FAILED",
687 	"INF_TARGET_ID",
688 	"INF_DBGID_DEFINITION_END",
689 },
690 
691 {
692 	"WAL_MODULE_DE_DEFINITION_START",
693 	"WAL_MODULE_DE_DEFINITION_END",
694 },
695 
696 {
697 	"WLAN_MODULE_WAL_PDEV_DEFINITION_START",
698 	"WLAN_MODULE_WAL_PDEV_DEFINITION_END",
699 },
700 
701 {
702 	"WLAN_MODULE_WAL_VDEV_DEFINITION_START",
703 	"WLAN_MODULE_WAL_VDEV_DEFINITION_END",
704 },
705 
706 {
707 	"WLAN_MODULE_ROAM_DEFINITION_START",
708 	"WLAN_MODULE_ROAM_DEFINITION_END",
709 },
710 
711 {
712 	"WLAN_MODULE_DATA_TXRX_DEFINITION_START",
713 	"WLAN_MODULE_DATA_TXRX_DEFINITION_END",
714 },
715 
716 {
717 	"WLAN_MODULE_BLOCKACK_DEFINITION_START",
718 	"WLAN_MODULE_BLOCKACK_DEFINITION_END",
719 },
720 
721 {
722 	"WLAN_MODULE_QBOOST_DEFINITION_START",
723 	"WLAN_MODULE_QBOOST_DBGID_WLAN_PEER_NOT_FOUND",
724 	"WLAN_MODULE_QBOOST_DEFINITION_END",
725 },
726 
727 {
728 	"WLAN_MODULE_CACHEMGR_DEFINITION_START",
729 	"WLAN_MODULE_CACHEMGR_DEFINITION_END",
730 },
731 
732 {
733 	"WLAN_MODULE_HOST_DEFINITION_START",
734 	"WLAN_MODULE_HOST_DEFINITION_END",
735 },
736 
737 {
738 	"WMI_DBGID_DEFINITION_START",
739 	"WMI_CMD_RX_XTND_PKT_TOO_SHORT",
740 	"WMI_EXTENDED_CMD_NOT_HANDLED",
741 	"WMI_CMD_RX_PKT_TOO_SHORT",
742 	"WMI_CALLING_WMI_EXTENSION_FN",
743 	"WMI_CMD_NOT_HANDLED",
744 	"WMI_IN_SYNC",
745 	"WMI_TARGET_WMI_SYNC_CMD",
746 	"WMI_SET_SNR_THRESHOLD_PARAMS",
747 	"WMI_SET_RSSI_THRESHOLD_PARAMS",
748 	"WMI_SET_LQ_THRESHOLD_PARAMS",
749 	"WMI_TARGET_CREATE_PSTREAM_CMD",
750 	"WMI_WI_DTM_INUSE",
751 	"WMI_TARGET_DELETE_PSTREAM_CMD",
752 	"WMI_TARGET_IMPLICIT_DELETE_PSTREAM_CMD",
753 	"WMI_TARGET_GET_BIT_RATE_CMD",
754 	"WMI_GET_RATE_MASK_CMD_FIX_RATE_MASK_IS",
755 	"WMI_TARGET_GET_AVAILABLE_CHANNELS_CMD",
756 	"WMI_TARGET_GET_TX_PWR_CMD",
757 	"WMI_FREE_EVBUF_WMIBUF",
758 	"WMI_FREE_EVBUF_DATABUF",
759 	"WMI_FREE_EVBUF_BADFLAG",
760 	"WMI_HTC_RX_ERROR_DATA_PACKET",
761 	"WMI_HTC_RX_SYNC_PAUSING_FOR_MBOX",
762 	"WMI_INCORRECT_WMI_DATA_HDR_DROPPING_PKT",
763 	"WMI_SENDING_READY_EVENT",
764 	"WMI_SETPOWER_MDOE_TO_MAXPERF",
765 	"WMI_SETPOWER_MDOE_TO_REC",
766 	"WMI_BSSINFO_EVENT_FROM",
767 	"WMI_TARGET_GET_STATS_CMD",
768 	"WMI_SENDING_SCAN_COMPLETE_EVENT",
769 	"WMI_SENDING_RSSI_INDB_THRESHOLD_EVENT",
770 	"WMI_SENDING_RSSI_INDBM_THRESHOLD_EVENT",
771 	"WMI_SENDING_LINK_QUALITY_THRESHOLD_EVENT",
772 	"WMI_SENDING_ERROR_REPORT_EVENT",
773 	"WMI_SENDING_CAC_EVENT",
774 	"WMI_TARGET_GET_ROAM_TABLE_CMD",
775 	"WMI_TARGET_GET_ROAM_DATA_CMD",
776 	"WMI_SENDING_GPIO_INTR_EVENT",
777 	"WMI_SENDING_GPIO_ACK_EVENT",
778 	"WMI_SENDING_GPIO_DATA_EVENT",
779 	"WMI_CMD_RX",
780 	"WMI_CMD_RX_XTND",
781 	"WMI_EVENT_SEND",
782 	"WMI_EVENT_SEND_XTND",
783 	"WMI_CMD_PARAMS_DUMP_START",
784 	"WMI_CMD_PARAMS_DUMP_END",
785 	"WMI_CMD_PARAMS",
786 	"WMI_EVENT_ALLOC_FAILURE",
787 	"WMI_DBGID_DCS_PARAM_CMD",
788 	"WMI_DBGID_DEFINITION_END",
789 },
790 
791 {
792 	"PS_STA_DEFINITION_START",
793 	"PS_STA_PM_ARB_REQUEST",
794 	"PS_STA_DELIVER_EVENT",
795 },
796 
797 {
798 	"RESMGR_OCS_DEFINITION_START",
799 	"RESMGR_OCS_ALLOCRAM_SIZE",
800 	"RESMGR_OCS_RESOURCES",
801 	"RESMGR_OCS_LINK_CREATE",
802 	"RESMGR_OCS_LINK_DELETE",
803 	"RESMGR_OCS_CHREQ_CREATE",
804 	"RESMGR_OCS_CHREQ_DELETE",
805 	"RESMGR_OCS_CHREQ_START",
806 	"RESMGR_OCS_CHREQ_STOP",
807 	"RESMGR_OCS_SCHEDULER_INVOKED",
808 	"RESMGR_OCS_CHREQ_GRANT",
809 	"RESMGR_OCS_CHREQ_COMPLETE",
810 	"RESMGR_OCS_NEXT_TSFTIME",
811 	"RESMGR_OCS_TSF_TIMEOUT_US",
812 	"RESMGR_OCS_CURR_CAT_WINDOW",
813 	"RESMGR_OCS_CURR_CAT_WINDOW_REQ",
814 	"RESMGR_OCS_CURR_CAT_WINDOW_TIMESLOT",
815 	"RESMGR_OCS_CHREQ_RESTART",
816 	"RESMGR_OCS_CLEANUP_CH_ALLOCATORS",
817 	"RESMGR_OCS_PURGE_CHREQ",
818 	"RESMGR_OCS_CH_ALLOCATOR_FREE",
819 	"RESMGR_OCS_RECOMPUTE_SCHEDULE",
820 	"RESMGR_OCS_NEW_CAT_WINDOW_REQ",
821 	"RESMGR_OCS_NEW_CAT_WINDOW_TIMESLOT",
822 	"RESMGR_OCS_CUR_CH_ALLOC",
823 	"RESMGR_OCS_WIN_CH_ALLOC",
824 	"RESMGR_OCS_SCHED_CH_CHANGE",
825 	"RESMGR_OCS_CONSTRUCT_CAT_WIN",
826 	"RESMGR_OCS_CHREQ_PREEMPTED",
827 	"RESMGR_OCS_CH_SWITCH_REQ",
828 	"RESMGR_OCS_CHANNEL_SWITCHED",
829 	"RESMGR_OCS_CLEANUP_STALE_REQS",
830 	"RESMGR_OCS_CHREQ_UPDATE",
831 	"RESMGR_OCS_REG_NOA_NOTIF",
832 	"RESMGR_OCS_DEREG_NOA_NOTIF",
833 	"RESMGR_OCS_GEN_PERIODIC_NOA",
834 	"RESMGR_OCS_RECAL_QUOTAS",
835 	"RESMGR_OCS_GRANTED_QUOTA_STATS",
836 	"RESMGR_OCS_ALLOCATED_QUOTA_STATS",
837 	"RESMGR_OCS_REQ_QUOTA_STATS",
838 	"RESMGR_OCS_TRACKING_TIME_FIRED",
839 	"RESMGR_OCS_DEFINITION_END",
840 },
841 
842 {
843 	"RESMGR_CHMGR_DEFINITION_START",
844 	"RESMGR_CHMGR_PAUSE_COMPLETE",
845 	"RESMGR_CHMGR_CHANNEL_CHANGE",
846 	"RESMGR_CHMGR_RESUME_COMPLETE",
847 	"RESMGR_CHMGR_VDEV_PAUSE",
848 	"RESMGR_CHMGR_VDEV_UNPAUSE",
849 	"RESMGR_CHMGR_CTS2S_TX_COMP",
850 	"RESMGR_CHMGR_CFEND_TX_COMP",
851 	"RESMGR_CHMGR_DEFINITION_END",
852 },
853 
854 {
855 	"VDEV_MGR_DEFINITION_START",
856 	"VDEV_MGR_BMISS_TIMEOUT",
857 	"VDEV_MGR_BMISS_DETECTED",
858 	"VDEV_MGR_BCN_IN_SYNC",
859 	"VDEV_MGR_AP_KEEPALIVE_IDLE",
860 	"VDEV_MGR_AP_KEEPALIVE_INACTIVE",
861 	"VDEV_MGR_AP_KEEPALIVE_UNRESPONSIVE",
862 	"VDEV_MGR_AP_TBTT_CONFIG",
863 	"VDEV_MGR_FIRST_BCN_RECEIVED",
864 	"VDEV_MGR_VDEV_START",
865 	"VDEV_MGR_VDEV_UP",
866 	"VDEV_MGR_PEER_AUTHORIZED",
867 	"VDEV_MGR_OCS_HP_LP_REQ_POSTED",
868 	"VDEV_MGR_VDEV_START_OCS_HP_REQ_COMPLETE",
869 	"VDEV_MGR_VDEV_START_OCS_HP_REQ_STOP",
870 	"VDEV_MGR_HP_START_TIME",
871 	"VDEV_MGR_FIRST_BMISS_DETECTED",
872 	"VDEV_MGR_FINAL_BMISS_DETECTED",
873         "VDEV_MGR_VDEV_STOP",
874         "VDEV_MGR_VDEV_DOWN",
875         "VDEV_MGR_VDEV_START_RESP",
876         "VDEV_MGR_VDEV_STOP_RESP",
877         "VDEV_MGR_VDEV_CREATE",
878         "VDEV_MGR_VDEV_DELETE",
879 	"VDEV_MGR_DEFINITION_END",
880 },
881 
882 {
883 	"WHAL_DBGID_DEFINITION_START",
884 	"WHAL_ERROR_ANI_CONTROL",
885 	"WHAL_ERROR_CHIP_TEST1",
886 	"WHAL_ERROR_CHIP_TEST2",
887 	"WHAL_ERROR_EEPROM_CHECKSUM",
888 	"WHAL_ERROR_EEPROM_MACADDR",
889 	"WHAL_ERROR_INTERRUPT_HIU",
890 	"WHAL_ERROR_KEYCACHE_RESET",
891 	"WHAL_ERROR_KEYCACHE_SET",
892 	"WHAL_ERROR_KEYCACHE_TYPE",
893 	"WHAL_ERROR_KEYCACHE_TKIPENTRY",
894 	"WHAL_ERROR_KEYCACHE_WEPLENGTH",
895 	"WHAL_ERROR_PHY_INVALID_CHANNEL",
896 	"WHAL_ERROR_POWER_AWAKE",
897 	"WHAL_ERROR_POWER_SET",
898 	"WHAL_ERROR_RECV_STOPDMA",
899 	"WHAL_ERROR_RECV_STOPPCU",
900 	"WHAL_ERROR_RESET_CHANNF1",
901 	"WHAL_ERROR_RESET_CHANNF2",
902 	"WHAL_ERROR_RESET_PM",
903 	"WHAL_ERROR_RESET_OFFSETCAL",
904 	"WHAL_ERROR_RESET_RFGRANT",
905 	"WHAL_ERROR_RESET_RXFRAME",
906 	"WHAL_ERROR_RESET_STOPDMA",
907 	"WHAL_ERROR_RESET_ERRID",
908 	"WHAL_ERROR_RESET_ADCDCCAL1",
909 	"WHAL_ERROR_RESET_ADCDCCAL2",
910 	"WHAL_ERROR_RESET_TXIQCAL",
911 	"WHAL_ERROR_RESET_RXIQCAL",
912 	"WHAL_ERROR_RESET_CARRIERLEAK",
913 	"WHAL_ERROR_XMIT_COMPUTE",
914 	"WHAL_ERROR_XMIT_NOQUEUE",
915 	"WHAL_ERROR_XMIT_ACTIVEQUEUE",
916 	"WHAL_ERROR_XMIT_BADTYPE",
917 	"WHAL_ERROR_XMIT_STOPDMA",
918 	"WHAL_ERROR_INTERRUPT_BB_PANIC",
919 	"WHAL_ERROR_PAPRD_MAXGAIN_ABOVE_WINDOW",
920 	"WHAL_SMARTANT_CONFIGURE",
921 	"WHAL_SMARTANT_RXANTENNA",
922         "WHAL_TX_ENQUEUE",
923         "WHAL_CAL_SET_CAL_PERIOD",
924         "WHAL_CAL_PERFORM_CALIBRATION",
925 	"WHAL_DBGID_DEFINITION_END",
926 },
927 
928 {
929 	"COEX_DEBUGID_START",
930 	"BTCOEX_DBG_MCI_1",
931 	"BTCOEX_DBG_MCI_2",
932 	"BTCOEX_DBG_MCI_3",
933 	"BTCOEX_DBG_MCI_4",
934 	"BTCOEX_DBG_MCI_5",
935 	"BTCOEX_DBG_MCI_6",
936 	"BTCOEX_DBG_MCI_7",
937 	"BTCOEX_DBG_MCI_8",
938 	"BTCOEX_DBG_MCI_9",
939 	"BTCOEX_DBG_MCI_10",
940 	"COEX_WAL_BTCOEX_INIT",
941 	"COEX_WAL_PAUSE",
942 	"COEX_WAL_RESUME",
943 	"COEX_UPDATE_AFH",
944 	"COEX_HWQ_EMPTY_CB",
945 	"COEX_MCI_TIMER_HANDLER",
946 	"COEX_MCI_RECOVER",
947 	"ERROR_COEX_MCI_ISR",
948 	"ERROR_COEX_MCI_GPM",
949 	"COEX_ProfileType",
950 	"COEX_LinkID",
951 	"COEX_LinkState",
952 	"COEX_LinkRole",
953 	"COEX_LinkRate",
954 	"COEX_VoiceType",
955 	"COEX_TInterval",
956 	"COEX_WRetrx",
957 	"COEX_Attempts",
958 	"COEX_PerformanceState",
959 	"COEX_LinkType",
960 	"COEX_RX_MCI_GPM_VERSION_QUERY",
961 	"COEX_RX_MCI_GPM_VERSION_RESPONSE",
962 	"COEX_RX_MCI_GPM_STATUS_QUERY",
963 	"COEX_STATE_WLAN_VDEV_DOWN",
964 	"COEX_STATE_WLAN_VDEV_START",
965 	"COEX_STATE_WLAN_VDEV_CONNECTED",
966 	"COEX_STATE_WLAN_VDEV_SCAN_STARTED",
967 	"COEX_STATE_WLAN_VDEV_SCAN_END",
968 	"COEX_STATE_WLAN_DEFAULT",
969 	"COEX_CHANNEL_CHANGE",
970 	"COEX_POWER_CHANGE",
971 	"COEX_CONFIG_MGR",
972 	"COEX_TX_MCI_GPM_BT_CAL_REQ",
973 	"COEX_TX_MCI_GPM_BT_CAL_GRANT",
974 	"COEX_TX_MCI_GPM_BT_CAL_DONE",
975 	"COEX_TX_MCI_GPM_WLAN_CAL_REQ",
976 	"COEX_TX_MCI_GPM_WLAN_CAL_GRANT",
977 	"COEX_TX_MCI_GPM_WLAN_CAL_DONE",
978 	"COEX_TX_MCI_GPM_BT_DEBUG",
979 	"COEX_TX_MCI_GPM_VERSION_QUERY",
980 	"COEX_TX_MCI_GPM_VERSION_RESPONSE",
981 	"COEX_TX_MCI_GPM_STATUS_QUERY",
982 	"COEX_TX_MCI_GPM_HALT_BT_GPM",
983 	"COEX_TX_MCI_GPM_WLAN_CHANNELS",
984 	"COEX_TX_MCI_GPM_BT_PROFILE_INFO",
985 	"COEX_TX_MCI_GPM_BT_STATUS_UPDATE",
986 	"COEX_TX_MCI_GPM_BT_UPDATE_FLAGS",
987 	"COEX_TX_MCI_GPM_UNKNOWN",
988 	"COEX_TX_MCI_SYS_WAKING",
989 	"COEX_TX_MCI_LNA_TAKE",
990 	"COEX_TX_MCI_LNA_TRANS",
991 	"COEX_TX_MCI_SYS_SLEEPING",
992 	"COEX_TX_MCI_REQ_WAKE",
993 	"COEX_TX_MCI_REMOTE_RESET",
994 	"COEX_TX_MCI_TYPE_UNKNOWN",
995 	"COEX_WHAL_MCI_RESET",
996 	"COEX_POLL_BT_CAL_DONE_TIMEOUT",
997 	"COEX_WHAL_PAUSE",
998 	"COEX_RX_MCI_GPM_BT_CAL_REQ",
999 	"COEX_RX_MCI_GPM_BT_CAL_DONE",
1000 	"COEX_RX_MCI_GPM_BT_CAL_GRANT",
1001 	"COEX_WLAN_CAL_START",
1002 	"COEX_WLAN_CAL_RESULT",
1003 	"COEX_BtMciState",
1004 	"COEX_BtCalState",
1005 	"COEX_WlanCalState",
1006 	"COEX_RxReqWakeCount",
1007 	"COEX_RxRemoteResetCount",
1008 	"COEX_RESTART_CAL",
1009 	"COEX_SENDMSG_QUEUE",
1010 	"COEX_RESETSEQ_LNAINFO_TIMEOUT",
1011 	"COEX_MCI_ISR_IntRaw",
1012 	"COEX_MCI_ISR_Int1Raw",
1013 	"COEX_MCI_ISR_RxMsgRaw",
1014 	"COEX_WHAL_COEX_RESET",
1015 	"COEX_WAL_COEX_INIT",
1016 	"COEX_TXRX_CNT_LIMIT_ISR",
1017 	"COEX_CH_BUSY",
1018 	"COEX_REASSESS_WLAN_STATE",
1019 	"COEX_BTCOEX_WLAN_STATE_UPDATE",
1020 	"COEX_BT_NUM_OF_PROFILES",
1021 	"COEX_BT_NUM_OF_HID_PROFILES",
1022 	"COEX_BT_NUM_OF_ACL_PROFILES",
1023 	"COEX_BT_NUM_OF_HI_ACL_PROFILES",
1024 	"COEX_BT_NUM_OF_VOICE_PROFILES",
1025 	"COEX_WLAN_AGGR_LIMIT",
1026 	"COEX_BT_LOW_PRIO_BUDGET",
1027 	"COEX_BT_HI_PRIO_BUDGET",
1028 	"COEX_BT_IDLE_TIME",
1029 	"COEX_SET_COEX_WEIGHT",
1030 	"COEX_WLAN_WEIGHT_GROUP",
1031 	"COEX_BT_WEIGHT_GROUP",
1032 	"COEX_BT_INTERVAL_ALLOC",
1033 	"COEX_BT_SCHEME",
1034 	"COEX_BT_MGR",
1035 	"COEX_BT_SM_ERROR",
1036 	"COEX_SYSTEM_UPDATE",
1037 	"COEX_LOW_PRIO_LIMIT",
1038 	"COEX_HI_PRIO_LIMIT",
1039 	"COEX_BT_INTERVAL_START",
1040 	"COEX_WLAN_INTERVAL_START",
1041 	"COEX_NON_LINK_BUDGET",
1042 	"COEX_CONTENTION_MSG",
1043 	"COEX_SET_NSS",
1044 	"COEX_SELF_GEN_MASK",
1045 	"COEX_PROFILE_ERROR",
1046 	"COEX_WLAN_INIT",
1047 	"COEX_BEACON_MISS",
1048 	"COEX_BEACON_OK",
1049 	"COEX_BTCOEX_SCAN_ACTIVITY",
1050 	"COEX_SCAN_ACTIVITY",
1051 	"COEX_FORCE_QUIETTIME",
1052 	"COEX_BT_MGR_QUIETTIME",
1053 	"COEX_BT_INACTIVITY_TRIGGER",
1054 	"COEX_BT_INACTIVITY_REPORTED",
1055 	"COEX_TX_MCI_GPM_WLAN_PRIO",
1056 	"COEX_TX_MCI_GPM_BT_PAUSE_PROFILE",
1057 	"COEX_TX_MCI_GPM_WLAN_SET_ACL_INACTIVITY",
1058 	"COEX_RX_MCI_GPM_BT_ACL_INACTIVITY_REPORT",
1059 	"COEX_GENERIC_ERROR",
1060 	"COEX_RX_RATE_THRESHOLD",
1061 	"COEX_RSSI",
1062 	"COEX_WLAN_VDEV_NOTIF_START",
1063 	"COEX_WLAN_VDEV_NOTIF_UP",
1064 	"COEX_WLAN_VDEV_NOTIF_DOWN",
1065 	"COEX_WLAN_VDEV_NOTIF_STOP",
1066 	"COEX_WLAN_VDEV_NOTIF_ADD_PEER",
1067 	"COEX_WLAN_VDEV_NOTIF_DELETE_PEER",
1068 	"COEX_WLAN_VDEV_NOTIF_CONNECTED_PEER",
1069 	"COEX_WLAN_VDEV_NOTIF_PAUSE",
1070 	"COEX_WLAN_VDEV_NOTIF_UNPAUSED",
1071 	"COEX_STATE_WLAN_VDEV_PEER_ADD",
1072 	"COEX_STATE_WLAN_VDEV_CONNECTED_PEER",
1073 	"COEX_STATE_WLAN_VDEV_DELETE_PEER",
1074 	"COEX_STATE_WLAN_VDEV_PAUSE",
1075 	"COEX_STATE_WLAN_VDEV_UNPAUSED",
1076 	"COEX_SCAN_CALLBACK",
1077 	"COEX_RC_SET_CHAINMASK",
1078 	"COEX_DEBUG_ID_END",
1079 },
1080 
1081 {
1082 	"SCAN_START_COMMAND_FAILED",
1083 	"SCAN_STOP_COMMAND_FAILED",
1084 	"SCAN_EVENT_SEND_FAILED",
1085 	"SCAN_ENGINE_START",
1086 	"SCAN_ENGINE_CANCEL_COMMAND",
1087 	"SCAN_ENGINE_STOP_DUE_TO_TIMEOUT",
1088 	"SCAN_EVENT_SEND_TO_HOST",
1089 	"SCAN_EVENT_ADD",
1090 	"SCAN_EVENT_REM",
1091 	"SCAN_EVENT_PREEMPTED",
1092 	"SCAN_EVENT_RESTARTED",
1093 	"SCAN_EVENT_COMPLETED",
1094         "SCAN_START_PARAMS1",
1095         "SCAN_START_PARAMS2",
1096         "SCAN_EVENT_SEND",
1097 },
1098 
1099 {
1100 	"BEACON_EVENT_SWBA_SEND_FAILED",
1101 },
1102 
1103 {
1104 	"RATECTRL_DBGID_DEFINITION_START",
1105 	"RATECTRL_DBGID_ASSOC",
1106 	"RATECTRL_DBGID_NSS_CHANGE",
1107 	"RATECTRL_DBGID_CHAINMASK_ERR",
1108 	"RATECTRL_DBGID_UNEXPECTED_FRAME",
1109 	"RATECTRL_DBGID_WAL_RCQUERY",
1110 	"RATECTRL_DBGID_WAL_RCUPDATE",
1111 	"RATECTRL_DBGID_DEFINITION_END",
1112 },
1113 
1114 {
1115 	"AP_PS_DBGID_DEFINITION_START",
1116 	"AP_PS_DBGID_UPDATE_TIM",
1117 	"AP_PS_DBGID_PEER_STATE_CHANGE",
1118 	"AP_PS_DBGID_PSPOLL",
1119 	"AP_PS_DBGID_PEER_CREATE",
1120 	"AP_PS_DBGID_PEER_DELETE",
1121 	"AP_PS_DBGID_VDEV_CREATE",
1122 	"AP_PS_DBGID_VDEV_DELETE",
1123 	"AP_PS_DBGID_SYNC_TIM",
1124 	"AP_PS_DBGID_NEXT_RESPONSE",
1125 	"AP_PS_DBGID_START_SP",
1126 	"AP_PS_DBGID_COMPLETED_EOSP",
1127 	"AP_PS_DBGID_TRIGGER",
1128 	"AP_PS_DBGID_DUPLICATE_TRIGGER",
1129 	"AP_PS_DBGID_UAPSD_RESPONSE",
1130 	"AP_PS_DBGID_SEND_COMPLETE",
1131 	"AP_PS_DBGID_SEND_N_COMPLETE",
1132 	"AP_PS_DBGID_DETECT_OUT_OF_SYNC_STA",
1133 },
1134 
1135 {
1136 	"MGMT_TXRX_DBGID_DEFINITION_START",
1137 	"MGMT_TXRX_FORWARD_TO_HOST",
1138 	"MGMT_TXRX_MU_GID_MGMT",
1139 	"MGMT_TXRX_DBGID_DEFINITION_END",
1140 },
1141 
1142 {
1143 	"WAL_DBGID_DEFINITION_START",
1144 	"WAL_DBGID_FAST_WAKE_REQUEST",
1145 	"WAL_DBGID_FAST_WAKE_RELEASE",
1146 	"WAL_DBGID_SET_POWER_STATE",
1147 	"WAL_DBGID_CHANNEL_CHANGE_FORCE_RESET",
1148 	"WAL_DBGID_CHANNEL_CHANGE",
1149 	"WAL_DBGID_VDEV_START",
1150 	"WAL_DBGID_VDEV_STOP",
1151 	"WAL_DBGID_VDEV_UP",
1152 	"WAL_DBGID_VDEV_DOWN",
1153 	"WAL_DBGID_SW_WDOG_RESET",
1154 	"WAL_DBGID_TX_SCH_REGISTER_TIDQ",
1155 	"WAL_DBGID_TX_SCH_UNREGISTER_TIDQ",
1156 	"WAL_DBGID_TX_SCH_TICKLE_TIDQ",
1157 	"WAL_DBGID_XCESS_FAILURES",
1158 	"WAL_DBGID_AST_ADD_WDS_ENTRY",
1159 	"WAL_DBGID_AST_DEL_WDS_ENTRY",
1160 	"WAL_DBGID_AST_WDS_ENTRY_PEER_CHG",
1161 	"WAL_DBGID_AST_WDS_SRC_LEARN_FAIL",
1162 	"WAL_DBGID_STA_KICKOUT",
1163 	"WAL_DBGID_BAR_TX_FAIL",
1164 	"WAL_DBGID_BAR_ALLOC_FAIL",
1165 	"WAL_DBGID_LOCAL_DATA_TX_FAIL",
1166 	"WAL_DBGID_SECURITY_PM4_QUEUED",
1167 	"WAL_DBGID_SECURITY_GM1_QUEUED",
1168 	"WAL_DBGID_SECURITY_PM4_SENT",
1169 	"WAL_DBGID_SECURITY_ALLOW_DATA",
1170 	"WAL_DBGID_SECURITY_UCAST_KEY_SET",
1171 	"WAL_DBGID_SECURITY_MCAST_KEY_SET",
1172 	"WAL_DBGID_SECURITY_ENCR_EN",
1173 	"WAL_DBGID_BB_WDOG_TRIGGERED",
1174 	"WAL_DBGID_RX_LOCAL_BUFS_LWM",
1175 	"WAL_DBGID_RX_LOCAL_DROP_LARGE_MGMT",
1176 	"WAL_DBGID_VHT_ILLEGAL_RATE_PHY_ERR_DETECTED",
1177 	"WAL_DBGID_DEV_RESET",
1178 	"WAL_DBGID_TX_BA_SETUP",
1179 	"WAL_DBGID_RX_BA_SETUP",
1180 	"WAL_DBGID_DEV_TX_TIMEOUT",
1181 	"WAL_DBGID_DEV_RX_TIMEOUT",
1182 	"WAL_DBGID_STA_VDEV_XRETRY",
1183 	"WAL_DBGID_DCS",
1184 	"WAL_DBGID_HCM_BIN",
1185 	"WAL_DBGID_HCM_BIN_PENALIZE",
1186 	"WAL_DBGID_HCM_BIN_DEPENALIZE",
1187 	"WAL_DBGID_AST_UPDATE_WDS_ENTRY",
1188 	"WAL_DBGID_PEER_EXT_STATS",
1189 	"WAL_DBGID_TX_AC_BUFFER_SET",
1190 	"WAL_DBGID_AST_ENTRY_EXIST",
1191 	"WAL_DBGID_AST_ENTRY_FULL",
1192 	"WAL_DBGID_MGMT_TX_FAIL",
1193 	"WAL_DBGID_SET_M4_SENT_MANUALLY",
1194 	"WAL_DBGID_PROCESS_4_WAY_HANDSHAKE",
1195         "WAL_DBGID_SET_HW_FILTER",
1196         "WAL_DBGID_TX_PPDU_COMP_ERR",
1197         "WAL_DBGID_TX_ENC_KEY_DROP",
1198         "WAL_DBGID_PDEV_INFO_PRINT",
1199         "WAL_DBGID_VDEV_INFO_PRINT",
1200         "WAL_DBGID_LTEU_START_MU",
1201         "WAL_DBGID_LTEU_REPORT_MU",
1202         "WAL_DBGID_LTEU_SET_CONFIG1",
1203         "WAL_DBGID_LTEU_SET_CONFIG2",
1204         "WAL_DBGID_LTEU_SET_CONFIG3",
1205         "WAL_DBGID_LTEU_INIT",
1206         "WAL_DBGID_LTEU_MU_IN_PROGRESS",
1207         "WAL_DBGID_LTEU_END_MU",
1208         "WAL_DBGID_LTEU_PER_PKT_LOG1",
1209         "WAL_DBGID_LTEU_PER_PKT_LOG2",
1210         "WAL_DBGID_LTEU_PER_PKT_LOG3",
1211         "WAL_DBGID_LTEU_START_MU_PARAMS",
1212         "WAL_DBGID_LTEU_PKT_BASIC_MU",
1213         "WAL_DBGID_LTEU_PKT_ADV_MU",
1214         "WAL_DBGID_LTEU_PKT_BSSID_ENTRY",
1215         "WAL_DBGID_LTEU_PER_BSSID_MU",
1216         "WAL_DBGID_LTEU_COMPUTED_BSSID_MU",
1217         "WAL_DBGID_LTEU_TOTAL_BSSID_MU",
1218         "WAL_DBGID_LTEU_HIDDEN_NODE",
1219         "WAL_DBGID_LTEU_REPORT_MU1",
1220         "WAL_DBGID_LTEU_REPORT_MU2",
1221         "WAL_DBGID_LTEU_START_MU_PARAMS1",
1222         "WAL_DBGID_LTEU_START_MU_PARAMS2",
1223         "WAL_DBGID_LTEU_UPDATE_BSSID_MU",
1224         "WAL_DBGID_LTEU_BSSID_INDEX_MU",
1225         "WAL_DBGID_LTEU_BSSID_MU_INFO",
1226         "WAL_DBGID_LTEU_PKT_BINNING",
1227         "WAL_DBGID_LTEU_PKT_MU_DB_ENTRY",
1228         "WAL_DBGID_LTEU_MU_DB_ENTRY1",
1229         "WAL_DBGID_LTEU_MU_DB_ENTRY2",
1230 	"WAL_DBGID_DEFINITION_END",
1231 },
1232 
1233 {
1234 	"ANI_DBGID_POLL",
1235 	"ANI_DBGID_CONTROL",
1236 	"ANI_DBGID_OFDM_PARAMS",
1237 	"ANI_DBGID_CCK_PARAMS",
1238 	"ANI_DBGID_RESET",
1239 	"ANI_DBGID_RESTART",
1240 	"ANI_DBGID_OFDM_LEVEL",
1241 	"ANI_DBGID_CCK_LEVEL",
1242 	"ANI_DBGID_FIRSTEP",
1243 	"ANI_DBGID_CYCPWR",
1244 	"ANI_DBGID_MRC_CCK",
1245 	"ANI_DBGID_SELF_CORR_LOW",
1246 	"ANI_DBGID_ENABLE",
1247 	"ANI_DBGID_CURRENT_LEVEL",
1248 	"ANI_DBGID_POLL_PERIOD",
1249 	"ANI_DBGID_LISTEN_PERIOD",
1250 	"ANI_DBGID_OFDM_LEVEL_CFG",
1251 	"ANI_DBGID_CCK_LEVEL_CFG",
1252 },
1253 
1254 {
1255 	"OFFLOAD_MGR_DBGID_DEFINITION_START",
1256 	"OFFLOADMGR_REGISTER_OFFLOAD",
1257 	"OFFLOADMGR_DEREGISTER_OFFLOAD",
1258 	"OFFLOADMGR_NO_REG_DATA_HANDLERS",
1259 	"OFFLOADMGR_NO_REG_EVENT_HANDLERS",
1260 	"OFFLOADMGR_REG_OFFLOAD_FAILED",
1261 	"OFFLOADMGR_DBGID_DEFINITION_END",
1262 },
1263 
1264 {
1265 	"RESOURCE_DBGID_DEFINITION_START",
1266 	"RESOURCE_PEER_ALLOC",
1267 	"RESOURCE_PEER_FREE",
1268 	"RESOURCE_PEER_ALLOC_WAL_PEER",
1269 	"RESOURCE_DBGID_DEFINITION_END",
1270 },
1271 
1272 {
1273 	"WLAN_DCS_DBGID_INIT",
1274 	"WLAN_DCS_DBGID_WMI_CWINT",
1275 	"WLAN_DCS_DBGID_TIMER",
1276 	"WLAN_DCS_DBGID_CMDG",
1277 	"WLAN_DCS_DBGID_CMDS",
1278 	"WLAN_DCS_DBGID_DINIT",
1279 },
1280 
1281 {
1282 	"P2P_DBGID_DEFINITION_START",
1283 	"P2P_DEV_REGISTER",
1284 	"P2P_HANDLE_NOA",
1285 	"P2P_UPDATE_SCHEDULE_OPPS",
1286 	"P2P_UPDATE_SCHEDULE",
1287 	"P2P_UPDATE_START_TIME",
1288 	"P2P_UPDATE_START_TIME_DIFF_TSF32",
1289 	"P2P_UPDATE_START_TIME_FINAL",
1290 	"P2P_SETUP_SCHEDULE_TIMER",
1291 	"P2P_PROCESS_SCHEDULE_AFTER_CALC",
1292 	"P2P_PROCESS_SCHEDULE_STARTED_TIMER",
1293 	"P2P_CALC_SCHEDULES_FIRST_CALL_ALL_NEXT_EVENT",
1294 	"P2P_CALC_SCHEDULES_FIRST_VALUE",
1295 	"P2P_CALC_SCHEDULES_EARLIEST_NEXT_EVENT",
1296 	"P2P_CALC_SCHEDULES_SANITY_COUNT",
1297 	"P2P_CALC_SCHEDULES_CALL_ALL_NEXT_EVENT_FROM_WHILE_LOOP",
1298 	"P2P_CALC_SCHEDULES_TIMEOUT_1",
1299 	"P2P_CALC_SCHEDULES_TIMEOUT_2",
1300 	"P2P_FIND_ALL_NEXT_EVENTS_REQ_EXPIRED",
1301 	"P2P_FIND_ALL_NEXT_EVENTS_REQ_ACTIVE",
1302 	"P2P_FIND_NEXT_EVENT_REQ_NOT_STARTED",
1303 	"P2P_FIND_NEXT_EVENT_REQ_COMPLETE_NON_PERIODIC",
1304 	"P2P_FIND_NEXT_EVENT_IN_MID_OF_NOA",
1305 	"P2P_FIND_NEXT_EVENT_REQ_COMPLETE",
1306 	"P2P_SCHEDULE_TIMEOUT",
1307 	"P2P_CALC_SCHEDULES_ENTER",
1308 	"P2P_PROCESS_SCHEDULE_ENTER",
1309 	"P2P_FIND_ALL_NEXT_EVENTS_INDIVIDUAL_REQ_AFTER_CHANGE",
1310 	"P2P_FIND_ALL_NEXT_EVENTS_INDIVIDUAL_REQ_BEFORE_CHANGE",
1311 	"P2P_FIND_ALL_NEXT_EVENTS_ENTER",
1312 	"P2P_FIND_NEXT_EVENT_ENTER",
1313 	"P2P_NOA_GO_PRESENT",
1314 	"P2P_NOA_GO_ABSENT",
1315 	"P2P_GO_NOA_NOTIF",
1316 	"P2P_GO_TBTT_OFFSET",
1317 	"P2P_GO_GET_NOA_INFO",
1318 	"P2P_DBGID_DEFINITION_END",
1319 },
1320 
1321 {
1322 	"CSA_DBGID_DEFINITION_START",
1323 	"CSA_OFFLOAD_POOL_INIT",
1324 	"CSA_OFFLOAD_REGISTER_VDEV",
1325 	"CSA_OFFLOAD_DEREGISTER_VDEV",
1326 	"CSA_DEREGISTER_VDEV_ERROR",
1327 	"CSA_OFFLOAD_BEACON_RECEIVED",
1328 	"CSA_OFFLOAD_BEACON_CSA_RECV",
1329 	"CSA_OFFLOAD_CSA_RECV_ERROR_IE",
1330 	"CSA_OFFLOAD_CSA_TIMER_ERROR",
1331 	"CSA_OFFLOAD_CSA_TIMER_EXP",
1332 	"CSA_OFFLOAD_WMI_EVENT_ERROR",
1333 	"CSA_OFFLOAD_WMI_EVENT_SENT",
1334 	"CSA_OFFLOAD_WMI_CHANSWITCH_RECV",
1335 },
1336 
1337 {
1338 	"WLAN_CHATTER_DBGID_DEFINITION_START",
1339 	"WLAN_CHATTER_ENTER",
1340 	"WLAN_CHATTER_EXIT",
1341 	"WLAN_CHATTER_FILTER_HIT",
1342 	"WLAN_CHATTER_FILTER_MISS",
1343 	"WLAN_CHATTER_FILTER_FULL",
1344 	"WLAN_CHATTER_FILTER_TM_ADJ",
1345 	"WLAN_CHATTER_DBGID_DEFINITION_END",
1346 },
1347 
1348 {
1349 	"WOW_DBGID_DEFINITION_START",
1350 	"WOW_ENABLE_CMDID",
1351 	"WOW_RECV_DATA_PKT",
1352 	"WOW_WAKE_HOST_DATA",
1353 	"WOW_RECV_MGMT",
1354 	"WOW_WAKE_HOST_MGMT",
1355 	"WOW_RECV_EVENT",
1356 	"WOW_WAKE_HOST_EVENT",
1357 	"WOW_INIT",
1358 	"WOW_RECV_MAGIC_PKT",
1359 	"WOW_RECV_BITMAP_PATTERN",
1360 },
1361 
1362 {
1363 	"RTT_CALL_FLOW",
1364 	"RTT_REQ_SUB_TYPE",
1365 	"RTT_MEAS_REQ_HEAD",
1366 	"RTT_MEAS_REQ_BODY",
1367 	"RTT_INIT_GLOBAL_STATE",
1368 	"RTT_REPORT",
1369 	"RTT_ERROR_REPORT",
1370 	"RTT_TIMER_STOP",
1371 	"RTT_SEND_TM_FRAME",
1372 	"RTT_V3_RESP_CNT",
1373 	"RTT_V3_RESP_FINISH",
1374 	"RTT_CHANNEL_SWITCH_REQ",
1375 	"RTT_CHANNEL_SWITCH_GRANT",
1376 	"RTT_CHANNEL_SWITCH_COMPLETE",
1377 	"RTT_CHANNEL_SWITCH_PREEMPT",
1378 	"RTT_CHANNEL_SWITCH_STOP",
1379 	"RTT_TIMER_START",
1380 	"RTT_FTM_PARAM_INFO",
1381 	"RTT_RX_TM_FRAME",
1382 	"RTT_INITR_TSTAMP",
1383 	"RTT_RSPDR_TSTAMP",
1384 	"RTT_TX_COMP_STATUS",
1385 	"RTT_ERROR_WMI_EVENT"
1386 },
1387 
1388 {
1389 	"HOSTQ_HOST_PARAM_NUMPEER",
1390 	"HOSTQ_HOST_PARAM_NUMTID",
1391 	"HOSTQ_HOST_PARAM_HOSTADDR",
1392 },
1393 {
1394 	"WAL_DBGID_PFSCHED_SCH_CMD",
1395 	"WAL_DBGID_PFSCHED_USER_INFO",
1396 },
1397 {
1398 	"WLAN_DEBUG_MODULE_DBGID_START",
1399 	"WLAN_DEBUG_DBGID_PEER",
1400 	"WLAN_DEBUG_DBGID_PDEV",
1401 	"WLAN_DEBUG_DBGID_VDEV",
1402 	"WLAN_DEBUG_MODULE_DBGID_END",
1403 },
1404 };
1405 
fw_dbglog_get_msg(u32 moduleid,u32 debugid,u32 mod_id_max,char * (* dbg_msg_arr)[][MAX_DBG_MSGS])1406 static char * fw_dbglog_get_msg(u32 moduleid, u32 debugid,
1407 				u32 mod_id_max,
1408 				char *(*dbg_msg_arr)[][MAX_DBG_MSGS])
1409 {
1410 	static char unknown_str[64];
1411 
1412 	if (moduleid < mod_id_max && debugid < MAX_DBG_MSGS) {
1413 		char *str = (*dbg_msg_arr)[moduleid][debugid];
1414 		if (str && str[0] != '\0') {
1415 			return str;
1416 		}
1417 	}
1418 
1419 	snprintf(unknown_str, sizeof(unknown_str),
1420 		 "UNKNOWN %u:%u",
1421 		 moduleid, debugid);
1422 
1423 	return unknown_str;
1424 }
1425 
1426 
ath10k_fwlog_print(struct ath10k * ar,u32 mod_id,u16 vap_id,u32 dbg_id,u32 timestamp,u32 numargs,u32 * args)1427 static void ath10k_fwlog_print(struct ath10k *ar, u32 mod_id, u16 vap_id,
1428 			       u32 dbg_id, u32 timestamp,
1429 			       u32 numargs, u32 *args) {
1430 
1431 	int i;
1432 	u32 module_id_max;
1433 	char *(*dbg_msg_arr)[][MAX_DBG_MSGS];
1434 
1435 #if defined(__linux__)
1436 	if ((ar->wmi.op_version ==
1437 #elif defined(__FreeBSD__)
1438 	if ((ar->running_fw->fw_file.wmi_op_version ==
1439 #endif
1440 	     ATH10K_FW_WMI_OP_VERSION_10_4)) {
1441 		module_id_max = WLAN_10_4_MODULE_ID_MAX;
1442 		dbg_msg_arr = &FW_10_4_DBG_MSG_ARR;
1443 	} else {
1444 		module_id_max = WLAN_MODULE_ID_MAX;
1445 		dbg_msg_arr = &DBG_MSG_ARR;
1446 	}
1447 
1448 	if (vap_id < FW_DBGLOG_VAPID_NUM_MAX)
1449 		printk(FW_DBGLOG_PRINT_PREFIX "[%u] vap-%u %s ( ",
1450 		       timestamp,
1451 		       vap_id, fw_dbglog_get_msg(mod_id, dbg_id,
1452 						 module_id_max,
1453 						 dbg_msg_arr));
1454 	else
1455 		printk(FW_DBGLOG_PRINT_PREFIX "[%u] %s ( ",
1456 		       timestamp,
1457 		       fw_dbglog_get_msg(mod_id, dbg_id,
1458 					 module_id_max, dbg_msg_arr));
1459 
1460 	 for (i = 0; i < numargs; i++) {
1461 		printk("%#x", args[i]);
1462 		if ((i + 1) < numargs)
1463 			printk(", ");
1464 	}
1465 
1466 	printk(" )\n");
1467 }
1468 
ath10k_fwlog_parse_msg(struct ath10k * ar,u8 * data,int len)1469 static void ath10k_fwlog_parse_msg(struct ath10k *ar, u8 *data, int len) {
1470 
1471 	u32 *buffer;
1472 	u32 count;
1473 	u32 timestamp;
1474 	u32 debugid;
1475 	u32 moduleid;
1476 	u16 vapid;
1477 	u16 numargs;
1478 	u16 length;
1479 	u32 dropped;
1480 
1481 
1482 	if (len < 4) {
1483 		return;
1484 	}
1485 
1486 	dropped = *((u32 *)data);
1487 	data += sizeof(dropped);
1488 	len -= sizeof(dropped);
1489 
1490 	if (dropped > 0)
1491 		printk(FW_DBGLOG_PRINT_PREFIX "%d log buffers are dropped \n",
1492 		       dropped);
1493 
1494 	count = 0;
1495 	buffer = (u32 *)data;
1496 	length = (len >> 2);
1497 
1498 	while (count < length) {
1499 
1500 		debugid = FW_DBGLOG_GET_DBGID(buffer[count + 1]);
1501 		moduleid = FW_DBGLOG_GET_MODULEID(buffer[count + 1]);
1502 		vapid = FW_DBGLOG_GET_VAPID(buffer[count + 1]);
1503 		numargs = FW_DBGLOG_GET_NUMARGS(buffer[count + 1]);
1504 		timestamp = FW_DBGLOG_GET_TIME_STAMP(buffer[count]);
1505 
1506 		if (moduleid >= ar->fwlog_max_moduleid)
1507 			return;
1508 
1509 		printk("[%s] ", wiphy_name(ar->hw->wiphy));
1510 
1511 		ath10k_fwlog_print(ar, moduleid, vapid, debugid,
1512 			           timestamp, numargs,
1513 			           (((u32 *)buffer) +
1514 				   2 + count));
1515 		count += numargs + 2;
1516 
1517 	}
1518 }
1519 
1520 
ath10k_fwlog_print_work(struct work_struct * work)1521 static void ath10k_fwlog_print_work(struct work_struct *work) {
1522 
1523 	struct ath10k *ar = container_of(work, struct ath10k, fwlog_tx_work);
1524 	struct sk_buff *skb;
1525 
1526 	skb = skb_dequeue(&ar->fwlog_tx_queue);
1527 	if (skb) {
1528 		ath10k_fwlog_parse_msg(ar, skb->data, skb->len);
1529 		dev_kfree_skb(skb);
1530 		if (skb_queue_len(&ar->fwlog_tx_queue)) {
1531 			ieee80211_queue_work(ar->hw,
1532 					     &ar->fwlog_tx_work);
1533 		}
1534 	}
1535 }
1536 
ath10k_handle_fwlog_msg(struct ath10k * ar,struct sk_buff * skb)1537 void ath10k_handle_fwlog_msg(struct ath10k *ar, struct sk_buff *skb) {
1538 
1539 #if defined(__FreeBSD__)
1540 	if (!enable) {
1541 		dev_kfree_skb(skb);
1542 		return;
1543 	}
1544 #endif
1545 
1546 	if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags)) {
1547 		ath10k_warn(ar, "ignoring fwlog event!!!\n");
1548 		dev_kfree_skb(skb);
1549 		return;
1550 	}
1551 
1552 	if (skb_queue_len(&ar->fwlog_tx_queue) >= ATH10K_FWLOG_MAX_EVT_QUEUE) {
1553 		ath10k_warn(ar, "reached fwlog  queue limit\n");
1554 		dev_kfree_skb(skb);
1555 		return;
1556 	}
1557 
1558 	skb_queue_tail(&ar->fwlog_tx_queue, skb);
1559 	ieee80211_queue_work(ar->hw, &ar->fwlog_tx_work);
1560 }
1561 
ath10k_fwlog_register(struct ath10k * ar)1562 void ath10k_fwlog_register(struct ath10k *ar) {
1563 
1564 	INIT_WORK(&ar->fwlog_tx_work, ath10k_fwlog_print_work);
1565 	skb_queue_head_init(&ar->fwlog_tx_queue);
1566 }
1567 
ath10k_fwlog_unregister(struct ath10k * ar)1568 void ath10k_fwlog_unregister(struct ath10k *ar) {
1569 
1570 	struct sk_buff *skb;
1571 
1572 	cancel_work_sync(&ar->fwlog_tx_work);
1573 
1574 	for (; ;) {
1575 		skb = skb_dequeue(&ar->fwlog_tx_queue);
1576 		if (!skb)
1577 			break;
1578 		dev_kfree_skb(skb);
1579 	}
1580 }
1581