Title: [5305] branches/2008R1/arch/blackfin: Fix HWerrors on 548 (backport from trunk)
Revision
5305
Author
rgetz
Date
2008-09-17 11:25:11 -0500 (Wed, 17 Sep 2008)

Log Message

Fix HWerrors on 548 (backport from trunk)

Modified Paths


Diff

Modified: branches/2008R1/arch/blackfin/kernel/traps.c (5304 => 5305)


--- branches/2008R1/arch/blackfin/kernel/traps.c	2008-09-17 10:32:04 UTC (rev 5304)
+++ branches/2008R1/arch/blackfin/kernel/traps.c	2008-09-17 16:25:11 UTC (rev 5305)
@@ -773,8 +773,19 @@
 	printk(KERN_NOTICE "\n" KERN_NOTICE "SEQUENCER STATUS:\t\t%s\n", print_tainted());
 	printk(KERN_NOTICE " SEQSTAT: %08lx  IPEND: %04lx  SYSCFG: %04lx\n",
 		(long)fp->seqstat, fp->ipend, fp->syscfg);
-	printk(KERN_NOTICE "  HWERRCAUSE: 0x%lx\n",
-		(fp->seqstat & SEQSTAT_HWERRCAUSE) >> 14);
+	if ((fp->seqstat & SEQSTAT_EXCAUSE) == VEC_HWERR) {
+		printk(KERN_NOTICE "  HWERRCAUSE: 0x%lx\n",
+			(fp->seqstat & SEQSTAT_HWERRCAUSE) >> 14);
+#ifdef EBIU_ERRMST
+		/* If the error was from the EBIU, print it out */
+		if (bfin_read_EBIU_ERRMST() & CORE_ERROR) {
+			printk(KERN_NOTICE "  EBIU Error Reason  : 0x%04x\n",
+				bfin_read_EBIU_ERRMST());
+			printk(KERN_NOTICE "  EBIU Error Address : 0x%08x\n",
+				bfin_read_EBIU_ERRADD());
+		}
+#endif
+	}
 	printk(KERN_NOTICE "  EXCAUSE   : 0x%lx\n",
 		fp->seqstat & SEQSTAT_EXCAUSE);
 	for (i = 6; i <= 15 ; i++) {

Modified: branches/2008R1/arch/blackfin/mach-common/interrupt.S (5304 => 5305)


--- branches/2008R1/arch/blackfin/mach-common/interrupt.S	2008-09-17 10:32:04 UTC (rev 5304)
+++ branches/2008R1/arch/blackfin/mach-common/interrupt.S	2008-09-17 16:25:11 UTC (rev 5305)
@@ -179,6 +179,14 @@
 	call _trap_c;
 	SP += 12;
 
+#ifdef EBIU_ERRMST
+	/* make sure EBIU_ERRMST is clear */
+	p0.l = LO(EBIU_ERRMST);
+	p0.h = HI(EBIU_ERRMST);
+	r0.l = (CORE_ERROR | CORE_MERROR);
+	w[p0] = r0.l;
+#endif
+
 	call _ret_from_exception;
 .Lcommon_restore_all_sys:
 	RESTORE_ALL_SYS
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to