All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tinghan Shen <tinghan.shen@mediatek.com>
To: Bjorn Andersson <andersson@kernel.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Tinghan Shen <tinghan.shen@mediatek.com>
Cc: <linux-remoteproc@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-mediatek@lists.infradead.org>,
	<Project_Global_Chrome_Upstream_Group@mediatek.com>
Subject: [PATCH v17 12/14] remoteproc: mediatek: Report watchdog crash to all cores
Date: Fri, 1 Sep 2023 16:09:33 +0800	[thread overview]
Message-ID: <20230901080935.14571-13-tinghan.shen@mediatek.com> (raw)
In-Reply-To: <20230901080935.14571-1-tinghan.shen@mediatek.com>

To ensure consistent behavior, the watchdog timeout handling of the
multi-core SCP should reset the whole SCP sub-system when watchdog
timeout. Triggering the rproc recovery flow on all instances will
ensure proper recovery of the SCP sub-system.

Signed-off-by: Tinghan Shen <tinghan.shen@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 49b2ca2b30b3..37ee5e6286ee 100644
--- a/drivers/remoteproc/mtk_scp.c
+++ b/drivers/remoteproc/mtk_scp.c
@@ -68,8 +68,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 = scp->cluster;
+	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



WARNING: multiple messages have this Message-ID (diff)
From: Tinghan Shen <tinghan.shen@mediatek.com>
To: Bjorn Andersson <andersson@kernel.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Tinghan Shen <tinghan.shen@mediatek.com>
Cc: <linux-remoteproc@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-mediatek@lists.infradead.org>,
	<Project_Global_Chrome_Upstream_Group@mediatek.com>
Subject: [PATCH v17 12/14] remoteproc: mediatek: Report watchdog crash to all cores
Date: Fri, 1 Sep 2023 16:09:33 +0800	[thread overview]
Message-ID: <20230901080935.14571-13-tinghan.shen@mediatek.com> (raw)
In-Reply-To: <20230901080935.14571-1-tinghan.shen@mediatek.com>

To ensure consistent behavior, the watchdog timeout handling of the
multi-core SCP should reset the whole SCP sub-system when watchdog
timeout. Triggering the rproc recovery flow on all instances will
ensure proper recovery of the SCP sub-system.

Signed-off-by: Tinghan Shen <tinghan.shen@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 49b2ca2b30b3..37ee5e6286ee 100644
--- a/drivers/remoteproc/mtk_scp.c
+++ b/drivers/remoteproc/mtk_scp.c
@@ -68,8 +68,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 = scp->cluster;
+	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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2023-09-01  8:10 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-01  8:09 [PATCH v17 00/14] Add support for MT8195 SCP 2nd core Tinghan Shen
2023-09-01  8:09 ` Tinghan Shen
2023-09-01  8:09 ` [PATCH v17 01/14] dt-bindings: remoteproc: mediatek: Improve the rpmsg subnode definition Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-01  8:09 ` [PATCH v17 02/14] arm64: dts: mediatek: Update the node name of SCP rpmsg subnode Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-01  8:09 ` [PATCH v17 03/14] dt-bindings: remoteproc: mediatek: Support MT8195 dual-core SCP Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-01  8:09 ` [PATCH v17 04/14] remoteproc: mediatek: Add MT8195 SCP core 1 operations Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-01  8:09 ` [PATCH v17 05/14] remoteproc: mediatek: Extract SCP common registers Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-07 10:49   ` AngeloGioacchino Del Regno
2023-09-07 10:49     ` AngeloGioacchino Del Regno
2023-09-01  8:09 ` [PATCH v17 06/14] remoteproc: mediatek: Revise SCP rproc initialization flow for multi-core SCP Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-05  7:46   ` AngeloGioacchino Del Regno
2023-09-05  7:46     ` AngeloGioacchino Del Regno
2023-09-01  8:09 ` [PATCH v17 07/14] remoteproc: mediatek: Probe SCP cluster on single-core SCP Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-05  7:48   ` AngeloGioacchino Del Regno
2023-09-05  7:48     ` AngeloGioacchino Del Regno
2023-09-01  8:09 ` [PATCH v17 08/14] remoteproc: mediatek: Probe SCP cluster on multi-core SCP Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-01  8:09 ` [PATCH v17 09/14] remoteproc: mediatek: Remove dependency of MT8195 SCP L2TCM power control on dual-core SCP Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-05  7:46   ` AngeloGioacchino Del Regno
2023-09-05  7:46     ` AngeloGioacchino Del Regno
2023-09-01  8:09 ` [PATCH v17 10/14] remoteproc: mediatek: Setup MT8195 SCP core 1 SRAM offset Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-01  8:09 ` [PATCH v17 11/14] remoteproc: mediatek: Handle MT8195 SCP core 1 watchdog timeout Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-01  8:09 ` Tinghan Shen [this message]
2023-09-01  8:09   ` [PATCH v17 12/14] remoteproc: mediatek: Report watchdog crash to all cores Tinghan Shen
2023-09-05  7:46   ` AngeloGioacchino Del Regno
2023-09-05  7:46     ` AngeloGioacchino Del Regno
2023-09-01  8:09 ` [PATCH v17 13/14] remoteproc: mediatek: Refine ipi handler error message Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-01  8:09 ` [PATCH v17 14/14] arm64: dts: mediatek: mt8195: Add SCP 2nd core Tinghan Shen
2023-09-01  8:09   ` Tinghan Shen
2023-09-04 17:48   ` Mathieu Poirier
2023-09-04 17:48     ` Mathieu Poirier
2023-09-04 17:50 ` [PATCH v17 00/14] Add support for MT8195 " Mathieu Poirier
2023-09-04 17:50   ` Mathieu Poirier
2023-09-05  7:46 ` AngeloGioacchino Del Regno
2023-09-05  7:46   ` AngeloGioacchino Del Regno
2023-09-13 17:50 ` Mathieu Poirier
2023-09-13 17:50   ` Mathieu Poirier
2023-09-18 10:31   ` Laura Nao
2023-09-18 10:31     ` Laura Nao
2023-09-18 10:44     ` Chen-Yu Tsai
2023-09-18 10:44       ` Chen-Yu Tsai
2023-09-19  1:17       ` Mathieu Poirier
2023-09-19  1:17         ` Mathieu Poirier
2023-09-19  5:07         ` Chen-Yu Tsai
2023-09-19  5:07           ` Chen-Yu Tsai
2023-09-20  8:51           ` TingHan Shen (沈廷翰)
2023-09-20  8:51             ` TingHan Shen (沈廷翰)
2023-09-19  1:14     ` Mathieu Poirier
2023-09-19  1:14       ` Mathieu Poirier
2023-09-19  8:45       ` Laura Nao
2023-09-19  8:45         ` Laura Nao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230901080935.14571-13-tinghan.shen@mediatek.com \
    --to=tinghan.shen@mediatek.com \
    --cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
    --cc=andersson@kernel.org \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=matthias.bgg@gmail.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.