On Fri, Nov 03, 2023 at 04:34:27PM -0700, Douglas Anderson wrote: > 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@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > > 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 >