Date: Mon, 15 Aug 2005 14:02:19 -0700 (PDT)
From: Naveen Gupta <ngupta@google.com>
To: wim@iguana.be, david@2gen.com, akpm@osdl.org
Cc: linux-kernel@vger.kernel.org, ngupta@google.com
Subject: [-mm PATCH] set correct bit in reload register of Watchdog Timer
 for Intel 6300 chipset

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>

Index: linux-2.6.12/drivers/char/watchdog/i6300esb.c
===================================================================
--- linux-2.6.12.orig/drivers/char/watchdog/i6300esb.c	2005-08-15 11:21:35.000000000 -0700
+++ linux-2.6.12/drivers/char/watchdog/i6300esb.c	2005-08-15 11:28:07.000000000 -0700
@@ -109,7 +109,7 @@
 	spin_lock(&esb_lock);
 	/* First, reset timers as suggested by the docs */
 	esb_unlock_registers();
-	writew(0x10, ESB_RELOAD_REG);
+	writew(ESB_WDT_RELOAD, ESB_RELOAD_REG);
 	/* Then disable the WDT */
 	pci_write_config_byte(esb_pci, ESB_LOCK_REG, 0x0);
 	pci_read_config_byte(esb_pci, ESB_LOCK_REG, &val);
@@ -123,7 +123,7 @@
 {
 	spin_lock(&esb_lock);
 	esb_unlock_registers();
-	writew(0x10, ESB_RELOAD_REG);
+	writew(ESB_WDT_RELOAD, ESB_RELOAD_REG);
         /* FIXME: Do we need to flush anything here? */
 	spin_unlock(&esb_lock);
 }
@@ -153,7 +153,7 @@
 
         /* Reload */
 	esb_unlock_registers();
-	writew(0x10, ESB_RELOAD_REG);
+	writew(ESB_WDT_RELOAD, ESB_RELOAD_REG);
 
 	/* FIXME: Do we need to flush everything out? */
 
Index: linux-2.6.12/drivers/char/watchdog/i6300esb.h
===================================================================
--- linux-2.6.12.orig/drivers/char/watchdog/i6300esb.h	2005-08-15 11:19:01.000000000 -0700
+++ linux-2.6.12/drivers/char/watchdog/i6300esb.h	2005-08-15 11:26:58.000000000 -0700
@@ -54,6 +54,8 @@
 #define ESB_WDT_FREQ    ( 0x01 << 2 )   /* Decrement frequency               */
 #define ESB_WDT_INTTYPE ( 0x11 << 0 )   /* Interrupt type on timer1 timeout  */
 
+/* Reload register bits */
+#define ESB_WDT_RELOAD ( 0x01 << 8 )    /* prevent timeout                   */
 
 /*
  * Some magic constants