diff options
author | Marek BehĂșn <marek.behun@nic.cz> | 2018-12-17 16:10:06 +0100 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2019-01-21 11:39:49 +0100 |
commit | 7b03e9969c411fac5ebeb86adc306d2c25ca2170 (patch) | |
tree | 967826ac104eeb6660cd93b1017c4f10a97ee82a /include/libata.h | |
parent | 6e8e1dcf7dc9e6c143fac601cc2d8d5180b67bba (diff) |
watchdog: armada_37xx: Fix compliance with kernel's driver
The Armada 37xx watchdog driver was recently accepted for mainline
kernel by watchdog subsystem maintainer, but the driver works a little
different than the one in U-Boot. This patch fixes this.
In the previous implementation there was a tiny period of time when the
watchdog was disabled and the system was vulnerables - this was during
pinging, which was done by disabling, setting, and enabling the counter.
Now pinging is done without disabling the watchdog. We use 2 counters:
Counter 1 is the watchdog counter - on expiry, the system is reset.
Counter 0 is used to reset Counter 1 to start counting from the set
timeout again. So Counter 1 is set to be reset on Counter 0 expiry event
event and pinging is done by forcing an immediate expiry event on
Counter 0.
Signed-off-by: Marek BehĂșn <marek.behun@nic.cz>
Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'include/libata.h')
0 files changed, 0 insertions, 0 deletions