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