diff options
author | Wolfram Sang <wsa+renesas@sang-engineering.com> | 2021-01-18 10:45:58 +0100 |
---|---|---|
committer | Wim Van Sebroeck <wim@linux-watchdog.org> | 2021-02-07 14:41:22 +0100 |
commit | e007372bfb5f19d22ebfbbcb7c56346321398077 (patch) | |
tree | 3c14c8ddab55a7edc5dab9902315c8c744cac508 | |
parent | ac288a7b1a98a11e3269573b1de05fb35b80e051 (diff) | |
download | linux-e007372bfb5f19d22ebfbbcb7c56346321398077.tar.gz linux-e007372bfb5f19d22ebfbbcb7c56346321398077.tar.bz2 linux-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.c | 3 |
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; } |