Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ASoC: SOF: amd: clear panic mask status when panic occurs

Due to scratch memory persistence, Once the DSP panic is reported, need to
clear the panic mask after handling DSP panic. Otherwise, It results in DSP
panic on next reboot.

Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://lore.kernel.org/r/20230823073340.2829821-6-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Vijendar Mukunda and committed by
Mark Brown
3d02e1c4 0d9e4cf5

+4
+4
sound/soc/sof/amd/acp-ipc.c
··· 170 170 if ((status & SOF_IPC_PANIC_MAGIC_MASK) == SOF_IPC_PANIC_MAGIC) { 171 171 snd_sof_dsp_panic(sdev, sdev->dsp_box.offset + sizeof(status), 172 172 true); 173 + status = 0; 174 + acp_mailbox_write(sdev, sdev->dsp_box.offset, &status, sizeof(status)); 173 175 return IRQ_HANDLED; 174 176 } 175 177 snd_sof_ipc_msgs_rx(sdev); ··· 201 199 acp_mailbox_read(sdev, sdev->debug_box.offset, &status, sizeof(u32)); 202 200 if ((status & SOF_IPC_PANIC_MAGIC_MASK) == SOF_IPC_PANIC_MAGIC) { 203 201 snd_sof_dsp_panic(sdev, sdev->dsp_oops_offset, true); 202 + status = 0; 203 + acp_mailbox_write(sdev, sdev->debug_box.offset, &status, sizeof(status)); 204 204 return IRQ_HANDLED; 205 205 } 206 206