From: Sibi Sankar <quic_sibis@quicinc.com>
To: <bjorn.andersson@linaro.org>
Cc: <agross@kernel.org>, <mathieu.poirier@linaro.org>,
<dmitry.baryshkov@linaro.org>, <linux-arm-msm@vger.kernel.org>,
<linux-remoteproc@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <konrad.dybcio@somainline.org>,
Siddharth Gupta <sidgup@codeaurora.org>,
Sibi Sankar <quic_sibis@quicinc.com>
Subject: [V3 5/7] remoteproc: q6v5: Set q6 state to offline on receiving wdog irq
Date: Tue, 5 Jul 2022 17:38:18 +0530 [thread overview]
Message-ID: <1657022900-2049-6-git-send-email-quic_sibis@quicinc.com> (raw)
In-Reply-To: <1657022900-2049-1-git-send-email-quic_sibis@quicinc.com>
From: Siddharth Gupta <sidgup@codeaurora.org>
Due to firmware bugs on the Q6 the hardware watchdog irq can be triggered
multiple times. As the remoteproc framework schedules work items for the
recovery process, if the other threads do not get a chance to run before
recovery is completed the proceeding threads will see the state of the
remoteproc as running and kill the remoteproc while it is running. This
can result in various SMMU and NOC errors. This change sets the state of
the remoteproc to offline whenever a watchdog irq is received.
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
---
drivers/remoteproc/qcom_q6v5.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/remoteproc/qcom_q6v5.c b/drivers/remoteproc/qcom_q6v5.c
index 5280ec9b5449..497acfb33f8f 100644
--- a/drivers/remoteproc/qcom_q6v5.c
+++ b/drivers/remoteproc/qcom_q6v5.c
@@ -112,6 +112,7 @@ static irqreturn_t q6v5_wdog_interrupt(int irq, void *data)
else
dev_err(q6v5->dev, "watchdog without message\n");
+ q6v5->running = false;
rproc_report_crash(q6v5->rproc, RPROC_WATCHDOG);
return IRQ_HANDLED;
@@ -123,6 +124,9 @@ static irqreturn_t q6v5_fatal_interrupt(int irq, void *data)
size_t len;
char *msg;
+ if (!q6v5->running)
+ return IRQ_HANDLED;
+
msg = qcom_smem_get(QCOM_SMEM_HOST_ANY, q6v5->crash_reason, &len);
if (!IS_ERR(msg) && len > 0 && msg[0])
dev_err(q6v5->dev, "fatal error received: %s\n", msg);
--
2.7.4
next prev parent reply other threads:[~2022-07-05 12:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-05 12:08 [V3 0/7] Miscellaneous PAS fixes Sibi Sankar
2022-07-05 12:08 ` [V3 1/7] remoteproc: qcom: pas: Add decrypt shutdown support for modem Sibi Sankar
2022-07-06 12:38 ` Konrad Dybcio
2022-07-07 10:59 ` Sibi Sankar
2022-07-05 12:08 ` [V3 2/7] remoteproc: qcom: pas: Mark va as io memory Sibi Sankar
2022-07-05 12:08 ` [V3 3/7] remoteproc: qcom: pas: Mark devices as wakeup capable Sibi Sankar
2022-07-05 12:08 ` [V3 4/7] remoteproc: qcom: pas: Check if coredump is enabled Sibi Sankar
2022-07-06 12:41 ` Konrad Dybcio
2022-07-05 12:08 ` Sibi Sankar [this message]
2022-07-05 12:08 ` [V3 6/7] remoteproc: sysmon: Wait for SSCTL service to come up Sibi Sankar
2022-07-05 12:08 ` [V3 7/7] remoteproc: sysmon: Send sysmon state only for running rprocs Sibi Sankar
2022-07-06 12:43 ` Konrad Dybcio
2022-07-18 22:59 ` [V3 0/7] Miscellaneous PAS fixes Bjorn Andersson
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=1657022900-2049-6-git-send-email-quic_sibis@quicinc.com \
--to=quic_sibis@quicinc.com \
--cc=agross@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=konrad.dybcio@somainline.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=sidgup@codeaurora.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®