Module Name:    src
Committed By:   bouyer
Date:           Wed Feb 16 21:21:21 UTC 2011

Modified Files:
        src/sys/arch/sparc64/dev [netbsd-5]: psycho.c

Log Message:
Pull up following revision(s) (requested by nakayama in ticket #1555):
        sys/arch/sparc64/dev/psycho.c: revision 1.102 via patch
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.91 -r1.91.4.1 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.91 src/sys/arch/sparc64/dev/psycho.c:1.91.4.1
--- src/sys/arch/sparc64/dev/psycho.c:1.91	Sat Oct 18 03:31:10 2008
+++ src/sys/arch/sparc64/dev/psycho.c	Wed Feb 16 21:21:21 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: psycho.c,v 1.91 2008/10/18 03:31:10 nakayama Exp $	*/
+/*	$NetBSD: psycho.c,v 1.91.4.1 2011/02/16 21:21:21 bouyer Exp $	*/
 
 /*
  * Copyright (c) 1999, 2000 Matthew R. Green
@@ -55,7 +55,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: psycho.c,v 1.91 2008/10/18 03:31:10 nakayama Exp $");
+__KERNEL_RCSID(0, "$NetBSD: psycho.c,v 1.91.4.1 2011/02/16 21:21:21 bouyer Exp $");
 
 #include "opt_ddb.h"
 
@@ -288,6 +288,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");
 
@@ -519,10 +520,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