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