Linux Watchdog driver development
 help / color / mirror / Atom feed
* [PATCH v2 1/9] arm64: dts: qcom: sc7180: Make watchdog bark interrupt edge triggered
@ 2023-11-06 22:43 Douglas Anderson
  2023-11-06 22:43 ` [PATCH v2 2/9] arm64: dts: qcom: sc7280: " Douglas Anderson
                   ` (8 more replies)
  0 siblings, 9 replies; 14+ messages in thread
From: Douglas Anderson @ 2023-11-06 22:43 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Krzysztof Kozlowski, Conor Dooley,
	Wim Van Sebroeck, Guenter Roeck
  Cc: swboyd, linux-watchdog, Rob Herring, linux-arm-msm,
	Douglas Anderson, Andy Gross, Guilherme G. Piccoli, Kees Cook,
	Sai Prakash Ranjan, Tony Luck, cros-qcom-dts-watchers, devicetree,
	linux-hardening, linux-kernel

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 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")
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

Changes in v2:
- Fixed typo in commit message.

 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@17c10000 {
 			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@17c20000 {
-- 
2.42.0.869.gea05f2083d-goog


^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-12-17 15:50 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-06 22:43 [PATCH v2 1/9] arm64: dts: qcom: sc7180: Make watchdog bark interrupt edge triggered Douglas Anderson
2023-11-06 22:43 ` [PATCH v2 2/9] arm64: dts: qcom: sc7280: " Douglas Anderson
2023-11-06 22:43 ` [PATCH v2 3/9] arm64: dts: qcom: sdm845: " Douglas Anderson
2023-11-06 22:43 ` [PATCH v2 4/9] arm64: dts: qcom: sm8150: " Douglas Anderson
2023-11-06 22:43 ` [PATCH v2 5/9] arm64: dts: qcom: sm8250: " Douglas Anderson
2023-11-06 22:43 ` [PATCH v2 6/9] arm64: dts: qcom: sa8775p: " Douglas Anderson
2023-11-07  7:40   ` Bartosz Golaszewski
2023-11-06 22:43 ` [PATCH v2 7/9] arm64: dts: qcom: sc8280xp: " Douglas Anderson
2023-11-16  8:22   ` Johan Hovold
2023-11-06 22:43 ` [PATCH v2 8/9] arm64: dts: qcom: sm6350: " Douglas Anderson
2023-11-06 22:43 ` [PATCH v2 9/9] dt-bindings: watchdog: qcom-wdt: Make the interrupt example " Douglas Anderson
2023-12-08 15:34   ` Doug Anderson
2023-12-17 15:33     ` Wim Van Sebroeck
2023-12-08  2:57 ` (subset) [PATCH v2 1/9] arm64: dts: qcom: sc7180: Make watchdog bark interrupt " Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox