[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <315df6fe5006cab529f776500e0474bd1d5bc7ff.camel@mediatek.com>
Date: Thu, 13 Jul 2023 08:01:10 +0000
From: TingHan Shen (沈廷翰)
<TingHan.Shen@...iatek.com>
To: "mathieu.poirier@...aro.org" <mathieu.poirier@...aro.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"linux-remoteproc@...r.kernel.org" <linux-remoteproc@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-mediatek@...ts.infradead.org"
<linux-mediatek@...ts.infradead.org>,
"conor+dt@...nel.org" <conor+dt@...nel.org>,
Project_Global_Chrome_Upstream_Group
<Project_Global_Chrome_Upstream_Group@...iatek.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"krzysztof.kozlowski+dt@...aro.org"
<krzysztof.kozlowski+dt@...aro.org>,
"matthias.bgg@...il.com" <matthias.bgg@...il.com>,
"andersson@...nel.org" <andersson@...nel.org>,
"angelogioacchino.delregno@...labora.com"
<angelogioacchino.delregno@...labora.com>
Subject: Re: [PATCH v14 10/12] remoteproc: mediatek: Report watchdog crash to
all cores
Hi Mathieu,
On Wed, 2023-07-12 at 13:38 -0600, Mathieu Poirier wrote:
> On Fri, Jul 07, 2023 at 01:26:10PM +0800, Tinghan Shen wrote:
> > Once the SCP watchdog timeout happened, trigger the rproc recovery flow on
> > all cores.
> >
>
> You are missing the most important part... "Why" is this needed? Without it I
> don't know what is going on and can't review your work.
Sorry, I'll improve the commit message.
I think that the SCP should have the same behavior as an SMP system. In the event
of a watchdog timeout occuring on any of the cores, the entire SCP should be recovered.
>
> > Signed-off-by: Tinghan Shen <tinghan.shen@...iatek.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
--
Best regards,
TingHan
Powered by blists - more mailing lists