Skip to content

Commit 4e917f5

Browse files
yongzhi1plbossart
authored andcommitted
ASoC: SOF: Intel: mtl: call dsp dump when boot retry fails
Call snd_sof_dsp_dbg_dump() with the same flags/dump_msg as used in function hda_loader.c/cl_dsp_init(). Signed-off-by: Yong Zhi <yong.zhi@intel.com>
1 parent c06a37f commit 4e917f5

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

sound/soc/sof/intel/mtl.c

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,8 @@ int mtl_dsp_cl_init(struct snd_sof_dev *sdev, int stream_tag, bool imr_boot)
440440
struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata;
441441
const struct sof_intel_dsp_desc *chip = hda->desc;
442442
unsigned int status;
443-
u32 ipc_hdr;
443+
u32 ipc_hdr, flags;
444+
char *dump_msg;
444445
int ret;
445446

446447
/* step 1: purge FW request */
@@ -493,8 +494,18 @@ int mtl_dsp_cl_init(struct snd_sof_dev *sdev, int stream_tag, bool imr_boot)
493494
return 0;
494495

495496
err:
496-
snd_sof_dsp_dbg_dump(sdev, "MTL DSP init fail", 0);
497+
flags = SOF_DBG_DUMP_PCI | SOF_DBG_DUMP_MBOX | SOF_DBG_DUMP_OPTIONAL;
498+
499+
/* after max boot attempts make sure that the dump is printed */
500+
if (hda->boot_iteration == HDA_FW_BOOT_ATTEMPTS)
501+
flags &= ~SOF_DBG_DUMP_OPTIONAL;
502+
503+
dump_msg = kasprintf(GFP_KERNEL, "Boot iteration failed: %d/%d",
504+
hda->boot_iteration, HDA_FW_BOOT_ATTEMPTS);
505+
snd_sof_dsp_dbg_dump(sdev, dump_msg, flags);
497506
mtl_dsp_core_power_down(sdev, SOF_DSP_PRIMARY_CORE);
507+
508+
kfree(dump_msg);
498509
return ret;
499510
}
500511

0 commit comments

Comments
 (0)