diff options
author | Pádraig Brady <P@draigBrady.com> | 2010-04-19 13:38:25 +0100 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2010-05-25 09:05:56 +0000 |
commit | 7e6811daa662fc4eb87ddfb3ea0ea9d782044157 (patch) | |
tree | e6fbeb872b81bd2ed5e808535b6d3e216efa22ac /drivers/watchdog/iTCO_vendor_support.c | |
parent | bb6f36070cf53ebf08383a026e1d3a437cb310d1 (diff) | |
download | blackbird-op-linux-7e6811daa662fc4eb87ddfb3ea0ea9d782044157.tar.gz blackbird-op-linux-7e6811daa662fc4eb87ddfb3ea0ea9d782044157.zip |
iTCO_wdt: fix TCO V1 timeout values and limits
For TCO V1 devices the programmed timeout was twice too long
because the fact that the TCO V1 timer needs to count down
twice before triggering the watchdog, wasn't accounted for.
Also the timeout values in the module description and error
message were clarified. And the _STS registers are 16 bit
instead of 8 bit.
Signed-off-by: Pádraig Brady <P@draigBrady.com>
Tested-by: Simon Kagstrom <simon.kagstrom@netinsight.se>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/watchdog/iTCO_vendor_support.c')
-rw-r--r-- | drivers/watchdog/iTCO_vendor_support.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/watchdog/iTCO_vendor_support.c b/drivers/watchdog/iTCO_vendor_support.c index 5133bca5ccbe..481d1ad43464 100644 --- a/drivers/watchdog/iTCO_vendor_support.c +++ b/drivers/watchdog/iTCO_vendor_support.c @@ -101,13 +101,6 @@ static void supermicro_old_pre_stop(unsigned long acpibase) outl(val32, SMI_EN); /* Needed to deactivate watchdog */ } -static void supermicro_old_pre_keepalive(unsigned long acpibase) -{ - /* Reload TCO Timer (done in iTCO_wdt_keepalive) + */ - /* Clear "Expire Flag" (Bit 3 of TC01_STS register) */ - outb(0x08, TCO1_STS); -} - /* * Vendor Support: 2 * Board: Super Micro Computer Inc. P4SBx, P4DPx @@ -337,9 +330,7 @@ EXPORT_SYMBOL(iTCO_vendor_pre_stop); void iTCO_vendor_pre_keepalive(unsigned long acpibase, unsigned int heartbeat) { - if (vendorsupport == SUPERMICRO_OLD_BOARD) - supermicro_old_pre_keepalive(acpibase); - else if (vendorsupport == SUPERMICRO_NEW_BOARD) + if (vendorsupport == SUPERMICRO_NEW_BOARD) supermicro_new_pre_set_heartbeat(heartbeat); } EXPORT_SYMBOL(iTCO_vendor_pre_keepalive); |