Commit bf2f6734 authored by Vladimir Kondratiev's avatar Vladimir Kondratiev Committed by Kalle Valo

wil6210: log firmware crash information

Print firmware and ucode assert codes when firmware crashed.
Signed-off-by: default avatarLior David <liord@qti.qualcomm.com>
Signed-off-by: default avatarVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 3b282bc6
...@@ -347,7 +347,12 @@ static irqreturn_t wil6210_irq_misc(int irq, void *cookie) ...@@ -347,7 +347,12 @@ static irqreturn_t wil6210_irq_misc(int irq, void *cookie)
wil6210_mask_irq_misc(wil); wil6210_mask_irq_misc(wil);
if (isr & ISR_MISC_FW_ERROR) { if (isr & ISR_MISC_FW_ERROR) {
wil_err(wil, "Firmware error detected\n"); u32 fw_assert_code = wil_r(wil, RGF_FW_ASSERT_CODE);
u32 ucode_assert_code = wil_r(wil, RGF_UCODE_ASSERT_CODE);
wil_err(wil,
"Firmware error detected, assert codes FW 0x%08x, UCODE 0x%08x\n",
fw_assert_code, ucode_assert_code);
clear_bit(wil_status_fwready, wil->status); clear_bit(wil_status_fwready, wil->status);
/* /*
* do not clear @isr here - we do 2-nd part in thread * do not clear @isr here - we do 2-nd part in thread
......
...@@ -246,6 +246,10 @@ struct RGF_ICR { ...@@ -246,6 +246,10 @@ struct RGF_ICR {
#define RGF_USER_JTAG_DEV_ID (0x880b34) /* device ID */ #define RGF_USER_JTAG_DEV_ID (0x880b34) /* device ID */
#define JTAG_DEV_ID_SPARROW_B0 (0x2632072f) #define JTAG_DEV_ID_SPARROW_B0 (0x2632072f)
/* crash codes for FW/Ucode stored here */
#define RGF_FW_ASSERT_CODE (0x91f020)
#define RGF_UCODE_ASSERT_CODE (0x91f028)
enum { enum {
HW_VER_UNKNOWN, HW_VER_UNKNOWN,
HW_VER_SPARROW_B0, /* JTAG_DEV_ID_SPARROW_B0 */ HW_VER_SPARROW_B0, /* JTAG_DEV_ID_SPARROW_B0 */
......
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