Patchwork powerpc/watchdog: Don't enable interrupt on PPC64 BookE

login
register
mail settings
Submitter Laurentiu TUDOR
Date March 5, 2013, 3:52 p.m.
Message ID <1362498769-438-1-git-send-email-Laurentiu.Tudor@freescale.com>
Download mbox | patch
Permalink /patch/225059/
State Accepted
Commit 3978bdb4ed653342b0be66c031bf61b72cc55d60
Delegated to: Scott Wood
Headers show

Comments

Laurentiu TUDOR - March 5, 2013, 3:52 p.m.
From: Tudor Laurentiu <laurentiu.tudor@freescale.com>

Critical interrupts are not handled on PPC64 BookE machines,
so when the first watchdog interrupt fires the machine will
freeze without a warning until it's rebooted by the second
watchdog trigger.
Plus, the interrupt isn't used anyway since the driver
expects a usermode app to ping the watchdog periodically.

Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@freescale.com>
---
 drivers/watchdog/booke_wdt.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

Patch

diff --git a/drivers/watchdog/booke_wdt.c b/drivers/watchdog/booke_wdt.c
index c0bc92d..5eb2040 100644
--- a/drivers/watchdog/booke_wdt.c
+++ b/drivers/watchdog/booke_wdt.c
@@ -122,6 +122,14 @@  static void __booke_wdt_enable(void *data)
 	val &= ~WDTP_MASK;
 	val |= (TCR_WIE|TCR_WRC(WRC_CHIP)|WDTP(booke_wdt_period));
 
+#ifdef CONFIG_PPC_BOOK3E_64
+	/*
+	 * Crit ints are currently broken on PPC64 Book-E, so
+	 * just disable them for now.
+	 */
+	val &= ~TCR_WIE;
+#endif
+
 	mtspr(SPRN_TCR, val);
 }