[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231103163434.1.Ic7577567baff921347d423b722de8b857602efb1@changeid>
Date: Fri, 3 Nov 2023 16:34:27 -0700
From: Douglas Anderson <dianders@...omium.org>
To: Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Guenter Roeck <linux@...ck-us.net>
Cc: linux-watchdog@...r.kernel.org,
linux-arm-msm@...r.kernel.org,
Rob Herring <robh+dt@...nel.org>,
Wim Van Sebroeck <wim@...ux-watchdog.org>,
swboyd@...omium.org,
Douglas Anderson <dianders@...omium.org>,
Andy Gross <agross@...nel.org>,
"Guilherme G. Piccoli" <gpiccoli@...lia.com>,
Kees Cook <keescook@...omium.org>,
Sai Prakash Ranjan <quic_saipraka@...cinc.com>,
Tony Luck <tony.luck@...el.com>,
cros-qcom-dts-watchers@...omium.org,
devicetree@...r.kernel.org,
linux-hardening@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH 1/9] arm64: dts: qcom: sc7180: Make watchdog bark interrupt edge triggered
On sc7180 when the watchdog timer fires your logs get filled with:
watchdog0: pretimeout event
watchdog0: pretimeout event
watchdog0: pretimeout event
...
watchdog0: pretimeout event
If you're using console-ramoops to debug crashes the above gets quite
annoying since it blows away any other log messages that might have
been there.
The issue is that the "bark" interrupt (AKA the "pretimeout"
interrupt) remains high until the watchdog is pet. Since we've got
things configured as "level" triggered we'll keep getting interrupted
over and over.
Let's switch to edge triggered. Now we'll get one interrupt when the
"bark" interrupt goes off we'll get one interrupt and won't get
another one until the "bark" interrupt is cleared and asserts again.
This matches how many older Qualcomm SoCs have things configured.
Fixes: 28cc13e4060c ("arm64: dts: qcom: sc7180: Add watchdog bark interrupt")
Signed-off-by: Douglas Anderson <dianders@...omium.org>
---
arch/arm64/boot/dts/qcom/sc7180.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index 11f353d416b4..c0365832c315 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -3576,7 +3576,7 @@ watchdog@...10000 {
compatible = "qcom,apss-wdt-sc7180", "qcom,kpss-wdt";
reg = <0 0x17c10000 0 0x1000>;
clocks = <&sleep_clk>;
- interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
+ interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
};
timer@...20000 {
--
2.42.0.869.gea05f2083d-goog
Powered by blists - more mailing lists