Commit d332f591 authored by Wey-Yi Guy's avatar Wey-Yi Guy

iwlwifi: Display more uCode debug info

When uCode encounter problem, it pass a lot of debug data to help debugging
the issue. We only show partial data before, why not display all of those.
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
parent fe67c084
...@@ -466,23 +466,27 @@ struct iwl_error_event_table { ...@@ -466,23 +466,27 @@ struct iwl_error_event_table {
u32 frame_ptr; /* frame pointer */ u32 frame_ptr; /* frame pointer */
u32 stack_ptr; /* stack pointer */ u32 stack_ptr; /* stack pointer */
u32 hcmd; /* last host command header */ u32 hcmd; /* last host command header */
#if 0 u32 isr0; /* isr status register LMPM_NIC_ISR0:
/* no need to read the remainder, we don't use the values */ * rxtx_flag */
u32 isr0; /* isr status register LMPM_NIC_ISR0: rxtx_flag */ u32 isr1; /* isr status register LMPM_NIC_ISR1:
u32 isr1; /* isr status register LMPM_NIC_ISR1: host_flag */ * host_flag */
u32 isr2; /* isr status register LMPM_NIC_ISR2: enc_flag */ u32 isr2; /* isr status register LMPM_NIC_ISR2:
u32 isr3; /* isr status register LMPM_NIC_ISR3: time_flag */ * enc_flag */
u32 isr4; /* isr status register LMPM_NIC_ISR4: wico interrupt */ u32 isr3; /* isr status register LMPM_NIC_ISR3:
* time_flag */
u32 isr4; /* isr status register LMPM_NIC_ISR4:
* wico interrupt */
u32 isr_pref; /* isr status register LMPM_NIC_PREF_STAT */ u32 isr_pref; /* isr status register LMPM_NIC_PREF_STAT */
u32 wait_event; /* wait event() caller address */ u32 wait_event; /* wait event() caller address */
u32 l2p_control; /* L2pControlField */ u32 l2p_control; /* L2pControlField */
u32 l2p_duration; /* L2pDurationField */ u32 l2p_duration; /* L2pDurationField */
u32 l2p_mhvalid; /* L2pMhValidBits */ u32 l2p_mhvalid; /* L2pMhValidBits */
u32 l2p_addr_match; /* L2pAddrMatchStat */ u32 l2p_addr_match; /* L2pAddrMatchStat */
u32 lmpm_pmg_sel; /* indicate which clocks are turned on (LMPM_PMG_SEL) */ u32 lmpm_pmg_sel; /* indicate which clocks are turned on
u32 u_timestamp; /* indicate when the date and time of the compilation */ * (LMPM_PMG_SEL) */
u32 u_timestamp; /* indicate when the date and time of the
* compilation */
u32 flow_handler; /* FH read/write pointers, RX credit */ u32 flow_handler; /* FH read/write pointers, RX credit */
#endif
} __packed; } __packed;
struct iwl_alive_resp { struct iwl_alive_resp {
......
...@@ -648,6 +648,21 @@ static void iwl_dump_nic_error_log(struct iwl_trans *trans) ...@@ -648,6 +648,21 @@ static void iwl_dump_nic_error_log(struct iwl_trans *trans)
IWL_ERR(trans, "0x%08X | hw version\n", table.hw_ver); IWL_ERR(trans, "0x%08X | hw version\n", table.hw_ver);
IWL_ERR(trans, "0x%08X | board version\n", table.brd_ver); IWL_ERR(trans, "0x%08X | board version\n", table.brd_ver);
IWL_ERR(trans, "0x%08X | hcmd\n", table.hcmd); IWL_ERR(trans, "0x%08X | hcmd\n", table.hcmd);
IWL_ERR(trans, "0x%08X | isr0\n", table.isr0);
IWL_ERR(trans, "0x%08X | isr1\n", table.isr1);
IWL_ERR(trans, "0x%08X | isr2\n", table.isr2);
IWL_ERR(trans, "0x%08X | isr3\n", table.isr3);
IWL_ERR(trans, "0x%08X | isr4\n", table.isr4);
IWL_ERR(trans, "0x%08X | isr_pref\n", table.isr_pref);
IWL_ERR(trans, "0x%08X | wait_event\n", table.wait_event);
IWL_ERR(trans, "0x%08X | l2p_control\n", table.l2p_control);
IWL_ERR(trans, "0x%08X | l2p_duration\n", table.l2p_duration);
IWL_ERR(trans, "0x%08X | l2p_mhvalid\n", table.l2p_mhvalid);
IWL_ERR(trans, "0x%08X | l2p_addr_match\n", table.l2p_addr_match);
IWL_ERR(trans, "0x%08X | lmpm_pmg_sel\n", table.lmpm_pmg_sel);
IWL_ERR(trans, "0x%08X | timestamp\n", table.u_timestamp);
IWL_ERR(trans, "0x%08X | flow_handler\n", table.flow_handler);
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment