[PATCH v14 10/12] remoteproc: mediatek: Report watchdog crash to all cores
Tinghan Shen
tinghan.shen at mediatek.com
Thu Jul 6 22:26:10 PDT 2023
Once the SCP watchdog timeout happened, trigger the rproc recovery flow on
all cores.
Signed-off-by: Tinghan Shen <tinghan.shen at mediatek.com>
---
drivers/remoteproc/mtk_scp.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/remoteproc/mtk_scp.c b/drivers/remoteproc/mtk_scp.c
index 9fed5161f094..7e786aaf04e1 100644
--- a/drivers/remoteproc/mtk_scp.c
+++ b/drivers/remoteproc/mtk_scp.c
@@ -80,8 +80,14 @@ EXPORT_SYMBOL_GPL(scp_put);
static void scp_wdt_handler(struct mtk_scp *scp, u32 scp_to_host)
{
+ struct mtk_scp_of_cluster *scp_cluster = platform_get_drvdata(scp->cluster_pdev);
+ struct mtk_scp *scp_node;
+
dev_err(scp->dev, "SCP watchdog timeout! 0x%x", scp_to_host);
- rproc_report_crash(scp->rproc, RPROC_WATCHDOG);
+
+ /* report watchdog timeout to all cores */
+ list_for_each_entry(scp_node, &scp_cluster->mtk_scp_list, elem)
+ rproc_report_crash(scp_node->rproc, RPROC_WATCHDOG);
}
static void scp_init_ipi_handler(void *data, unsigned int len, void *priv)
--
2.18.0
More information about the Linux-mediatek
mailing list