ASoC: SOF: ipc4: handle EXCEPTION_CAUGHT notification from firmware
authorRander Wang <rander.wang@intel.com>
Tue, 19 Sep 2023 09:24:16 +0000 (12:24 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:19:42 +0000 (17:19 +0000)
[ Upstream commit c1c48fd6bbe788458e3685fea74bdb3cb148ff93 ]

Driver will receive exception IPC message and process it by
snd_sof_dsp_panic.

Signed-off-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20230919092416.4137-10-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/sof/ipc4.c

index ab6eddd..1b09496 100644 (file)
@@ -614,6 +614,9 @@ static void sof_ipc4_rx_msg(struct snd_sof_dev *sdev)
        case SOF_IPC4_NOTIFY_LOG_BUFFER_STATUS:
                sof_ipc4_mtrace_update_pos(sdev, SOF_IPC4_LOG_CORE_GET(ipc4_msg->primary));
                break;
+       case SOF_IPC4_NOTIFY_EXCEPTION_CAUGHT:
+               snd_sof_dsp_panic(sdev, 0, true);
+               break;
        default:
                dev_dbg(sdev->dev, "Unhandled DSP message: %#x|%#x\n",
                        ipc4_msg->primary, ipc4_msg->extension);