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