aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWolfram Sang <wsa+renesas@sang-engineering.com>2021-01-18 10:45:58 +0100
committerWim Van Sebroeck <wim@linux-watchdog.org>2021-02-07 14:41:22 +0100
commite007372bfb5f19d22ebfbbcb7c56346321398077 (patch)
tree3c14c8ddab55a7edc5dab9902315c8c744cac508
parentwatchdog: stop wdd when watchdog hw running in reboot_notifier (diff)
downloadlinux-dev-e007372bfb5f19d22ebfbbcb7c56346321398077.tar.xz
linux-dev-e007372bfb5f19d22ebfbbcb7c56346321398077.zip
watchdog: renesas_wdt: add grace period before rebooting
arm64 does not have a grace period after calling reset handlers. It is rightfully assumed that watchdog drivers should wait because they know the time needed. Implement this for the Renesas watchdog driver. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by: Guenter Roeck <linux@oeck-us.net> Link: https://lore.kernel.org/r/20210118094558.36814-1-wsa+renesas@sang-engineering.com Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
-rw-r--r--drivers/watchdog/renesas_wdt.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/watchdog/renesas_wdt.c b/drivers/watchdog/renesas_wdt.c
index d2b5074bca65..5791198960e6 100644
--- a/drivers/watchdog/renesas_wdt.c
+++ b/drivers/watchdog/renesas_wdt.c
@@ -151,6 +151,9 @@ static int rwdt_restart(struct watchdog_device *wdev, unsigned long action,
rwdt_write(priv, RWTCSRA_TME, RWTCSRA);
+ /* wait 2 cycles, so watchdog will trigger */
+ udelay(DIV_ROUND_UP(2 * 1000000, priv->clk_rate));
+
return 0;
}