Skip to content

Commit 3d02e1c

Browse files
vijendarmukundabroonie
authored andcommitted
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>
1 parent 0d9e4cf commit 3d02e1c

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

sound/soc/sof/amd/acp-ipc.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,8 @@ irqreturn_t acp_sof_ipc_irq_thread(int irq, void *context)
170170
if ((status & SOF_IPC_PANIC_MAGIC_MASK) == SOF_IPC_PANIC_MAGIC) {
171171
snd_sof_dsp_panic(sdev, sdev->dsp_box.offset + sizeof(status),
172172
true);
173+
status = 0;
174+
acp_mailbox_write(sdev, sdev->dsp_box.offset, &status, sizeof(status));
173175
return IRQ_HANDLED;
174176
}
175177
snd_sof_ipc_msgs_rx(sdev);
@@ -199,6 +201,8 @@ irqreturn_t acp_sof_ipc_irq_thread(int irq, void *context)
199201
acp_mailbox_read(sdev, sdev->debug_box.offset, &status, sizeof(u32));
200202
if ((status & SOF_IPC_PANIC_MAGIC_MASK) == SOF_IPC_PANIC_MAGIC) {
201203
snd_sof_dsp_panic(sdev, sdev->dsp_oops_offset, true);
204+
status = 0;
205+
acp_mailbox_write(sdev, sdev->debug_box.offset, &status, sizeof(status));
202206
return IRQ_HANDLED;
203207
}
204208

0 commit comments

Comments
 (0)