[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <eaa2bd28-ed98-456a-b374-3183e54123fa@quicinc.com>
Date: Thu, 4 Sep 2025 22:41:14 +0530
From: Pavan Kondeti <pavan.kondeti@....qualcomm.com>
To: hrishabh.rajput@....qualcomm.com
Cc: Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Wim Van Sebroeck <wim@...ux-watchdog.org>,
Guenter Roeck <linux@...ck-us.net>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, linux-arm-msm@...r.kernel.org,
linux-watchdog@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] watchdog: Add driver for Gunyah Watchdog
On Wed, Sep 03, 2025 at 07:34:00PM +0000, Hrishabh Rajput via B4 Relay wrote:
> +static int gunyah_wdt_call(unsigned long func_id, unsigned long arg1,
> + unsigned long arg2, struct arm_smccc_res *res)
> +{
> + arm_smccc_1_1_smc(func_id, arg1, arg2, res);
> + return gunyah_error_remap(res->a0);
> +}
> +
> +static int gunyah_wdt_start(struct watchdog_device *wdd)
> +{
> + struct arm_smccc_res res;
> + unsigned int timeout_ms;
> + unsigned int pretimeout_ms;
> + int ret;
> +
> + ret = gunyah_wdt_call(GUNYAH_WDT_CONTROL, WDT_CTRL_DISABLE, 0, &res);
> + if (ret)
> + return ret;
When I ran a simple echo test, it failed here on SM8650 with -EINVAL. May be Gunyah
does not allow disabling watchdog when it is not enabled in the first
place. May be something you can check if this is a difference between
8750 vs 8650.
It also points out that your patch needs some prints upon error. Pls
check and update the patch accordingly.
> +
> + timeout_ms = wdd->timeout * 1000;
> + pretimeout_ms = wdd->pretimeout * 1000;
> + ret = gunyah_wdt_call(GUNYAH_WDT_SET_TIME,
> + pretimeout_ms, timeout_ms, &res);
> + if (ret)
> + return ret;
> +
> + return gunyah_wdt_call(GUNYAH_WDT_CONTROL, WDT_CTRL_ENABLE, 0, &res);
> +}
Powered by blists - more mailing lists