diff options
author | Naveen Gupta <ngupta@google.com> | 2005-08-17 03:11:46 -0400 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2005-09-11 15:51:18 -0400 |
commit | ce2f50b4ae71f700c7b4b0bf0ff11c328611dae8 (patch) | |
tree | 52570a06396baa2fa96eafe4b7403b9328b676ed /drivers/char/watchdog | |
parent | 28562af3d4b21d687dd57c44006aeeed1036c781 (diff) |
[WATCHDOG] i6300esb-set_correct_reload_register_bit
This patch writes into bit 8 of the reload register to perform the
correct 'Reload Sequence' instead of writing into bit 4 of Watchdog for
Intel 6300ESB chipset.
Signed-off-by: Naveen Gupta <ngupta@google.com>
Signed-off-by: David Hardeman <david@2gen.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Diffstat (limited to 'drivers/char/watchdog')
-rw-r--r-- | drivers/char/watchdog/i6300esb.c | 6 | ||||
-rw-r--r-- | drivers/char/watchdog/i6300esb.h | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/drivers/char/watchdog/i6300esb.c b/drivers/char/watchdog/i6300esb.c index f0e96fbd6489..c04b246858ae 100644 --- a/drivers/char/watchdog/i6300esb.c +++ b/drivers/char/watchdog/i6300esb.c | |||
@@ -109,7 +109,7 @@ static int esb_timer_stop(void) | |||
109 | spin_lock(&esb_lock); | 109 | spin_lock(&esb_lock); |
110 | /* First, reset timers as suggested by the docs */ | 110 | /* First, reset timers as suggested by the docs */ |
111 | esb_unlock_registers(); | 111 | esb_unlock_registers(); |
112 | writew(0x10, ESB_RELOAD_REG); | 112 | writew(ESB_WDT_RELOAD, ESB_RELOAD_REG); |
113 | /* Then disable the WDT */ | 113 | /* Then disable the WDT */ |
114 | pci_write_config_byte(esb_pci, ESB_LOCK_REG, 0x0); | 114 | pci_write_config_byte(esb_pci, ESB_LOCK_REG, 0x0); |
115 | pci_read_config_byte(esb_pci, ESB_LOCK_REG, &val); | 115 | pci_read_config_byte(esb_pci, ESB_LOCK_REG, &val); |
@@ -123,7 +123,7 @@ static void esb_timer_keepalive(void) | |||
123 | { | 123 | { |
124 | spin_lock(&esb_lock); | 124 | spin_lock(&esb_lock); |
125 | esb_unlock_registers(); | 125 | esb_unlock_registers(); |
126 | writew(0x10, ESB_RELOAD_REG); | 126 | writew(ESB_WDT_RELOAD, ESB_RELOAD_REG); |
127 | /* FIXME: Do we need to flush anything here? */ | 127 | /* FIXME: Do we need to flush anything here? */ |
128 | spin_unlock(&esb_lock); | 128 | spin_unlock(&esb_lock); |
129 | } | 129 | } |
@@ -153,7 +153,7 @@ static int esb_timer_set_heartbeat(int time) | |||
153 | 153 | ||
154 | /* Reload */ | 154 | /* Reload */ |
155 | esb_unlock_registers(); | 155 | esb_unlock_registers(); |
156 | writew(0x10, ESB_RELOAD_REG); | 156 | writew(ESB_WDT_RELOAD, ESB_RELOAD_REG); |
157 | 157 | ||
158 | /* FIXME: Do we need to flush everything out? */ | 158 | /* FIXME: Do we need to flush everything out? */ |
159 | 159 | ||
diff --git a/drivers/char/watchdog/i6300esb.h b/drivers/char/watchdog/i6300esb.h index b5b47e3dda1a..20c923bbb1c9 100644 --- a/drivers/char/watchdog/i6300esb.h +++ b/drivers/char/watchdog/i6300esb.h | |||
@@ -54,6 +54,8 @@ | |||
54 | #define ESB_WDT_FREQ ( 0x01 << 2 ) /* Decrement frequency */ | 54 | #define ESB_WDT_FREQ ( 0x01 << 2 ) /* Decrement frequency */ |
55 | #define ESB_WDT_INTTYPE ( 0x11 << 0 ) /* Interrupt type on timer1 timeout */ | 55 | #define ESB_WDT_INTTYPE ( 0x11 << 0 ) /* Interrupt type on timer1 timeout */ |
56 | 56 | ||
57 | /* Reload register bits */ | ||
58 | #define ESB_WDT_RELOAD ( 0x01 << 8 ) /* prevent timeout */ | ||
57 | 59 | ||
58 | /* | 60 | /* |
59 | * Some magic constants | 61 | * Some magic constants |