Module Name:    src
Committed By:   nakayama
Date:           Sun Feb 13 11:54:24 UTC 2011

Modified Files:
        src/sys/arch/sparc64/dev: psycho.c

Log Message:
Don't enable the powerfail interrupt on Netra X1 since it may hang.

Discussed on port-sparc64.


To generate a diff of this commit:
cvs rdiff -u -r1.101 -r1.102 src/sys/arch/sparc64/dev/psycho.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/sparc64/dev/psycho.c
diff -u src/sys/arch/sparc64/dev/psycho.c:1.101 src/sys/arch/sparc64/dev/psycho.c:1.102
--- src/sys/arch/sparc64/dev/psycho.c:1.101	Sat Jul 10 10:07:40 2010
+++ src/sys/arch/sparc64/dev/psycho.c	Sun Feb 13 11:54:24 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: psycho.c,v 1.101 2010/07/10 10:07:40 nakayama Exp $	*/
+/*	$NetBSD: psycho.c,v 1.102 2011/02/13 11:54:24 nakayama Exp $	*/
 
 /*
  * Copyright (c) 1999, 2000 Matthew R. Green
@@ -55,7 +55,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: psycho.c,v 1.101 2010/07/10 10:07:40 nakayama Exp $");
+__KERNEL_RCSID(0, "$NetBSD: psycho.c,v 1.102 2011/02/13 11:54:24 nakayama Exp $");
 
 #include "opt_ddb.h"
 
@@ -299,6 +299,7 @@
 	int psycho_br[2], n, i;
 	bus_space_handle_t pci_ctl;
 	char *model = prom_getpropstring(ma->ma_node, "model");
+	extern char machine_model[];
 
 	aprint_normal("\n");
 
@@ -527,10 +528,15 @@
 		psycho_set_intr(sc, 15, psycho_bus_a,
 			&sc->sc_regs->pciaerr_int_map,
 			&sc->sc_regs->pciaerr_clr_int);
-		psycho_set_intr(sc, 15, psycho_powerfail,
-			&sc->sc_regs->power_int_map,
-			&sc->sc_regs->power_clr_int);
-		psycho_register_power_button(sc);
+		/*
+		 * Netra X1 may hang when the powerfail interrupt is enabled.
+		 */
+		if (strcmp(machine_model, "SUNW,UltraAX-i2") != 0) {
+			psycho_set_intr(sc, 15, psycho_powerfail,
+				&sc->sc_regs->power_int_map,
+				&sc->sc_regs->power_clr_int);
+			psycho_register_power_button(sc);
+		}
 		if (sc->sc_mode != PSYCHO_MODE_SABRE) {
 			/* sabre doesn't have these interrupts */
 			psycho_set_intr(sc, 15, psycho_bus_b,

Reply via email to