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 <diand...@chromium.org>

Reviewed-by: Guenter Roeck <li...@roeck-us.net>

> ---
> 
>  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
> 

Reply via email to