ASoC: SOF: amd: clear panic mask status when panic occurs
[ Upstream commit 3d02e1c439
]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
c0ef7493e6
commit
f4b62612b4
|
@ -168,6 +168,8 @@ irqreturn_t acp_sof_ipc_irq_thread(int irq, void *context)
|
|||
if ((status & SOF_IPC_PANIC_MAGIC_MASK) == SOF_IPC_PANIC_MAGIC) {
|
||||
snd_sof_dsp_panic(sdev, sdev->dsp_box.offset + sizeof(status),
|
||||
true);
|
||||
status = 0;
|
||||
acp_mailbox_write(sdev, sdev->dsp_box.offset, &status, sizeof(status));
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
snd_sof_ipc_msgs_rx(sdev);
|
||||
|
@ -197,6 +199,8 @@ irqreturn_t acp_sof_ipc_irq_thread(int irq, void *context)
|
|||
acp_mailbox_read(sdev, sdev->debug_box.offset, &status, sizeof(u32));
|
||||
if ((status & SOF_IPC_PANIC_MAGIC_MASK) == SOF_IPC_PANIC_MAGIC) {
|
||||
snd_sof_dsp_panic(sdev, sdev->dsp_oops_offset, true);
|
||||
status = 0;
|
||||
acp_mailbox_write(sdev, sdev->debug_box.offset, &status, sizeof(status));
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue