linux-cvs-patches
[Top] [All Lists]

CVS Update@linux-mips.org: linux

To: linux-cvs-patches@linux-mips.org
Subject: CVS Update@linux-mips.org: linux
From: ralf@linux-mips.org
Date: Mon, 21 Feb 2005 16:42:01 +0000
Reply-to: linux-mips@linux-mips.org
Sender: linux-cvs-patches-bounce@linux-mips.org
CVSROOT:        /home/cvs
Module name:    linux
Changes by:     ralf@ftp.linux-mips.org 05/02/21 16:41:56

Modified files:
        arch/mips/cobalt: int-handler.S irq.c 

Log message:
        Cobalt interrupt fixes.

diff -urN linux/arch/mips/cobalt/int-handler.S 
linux/arch/mips/cobalt/int-handler.S
--- linux/arch/mips/cobalt/int-handler.S        2003/11/13 14:30:45     1.10
+++ linux/arch/mips/cobalt/int-handler.S        2005/02/21 16:41:55     1.11
@@ -18,8 +18,8 @@
                SAVE_ALL
                CLI
 
-               la      ra, ret_from_irq
-               move    a1, sp
+               PTR_LA  ra, ret_from_irq
+               move    a0, sp
                j       cobalt_irq
 
                END(cobalt_handle_int)
diff -urN linux/arch/mips/cobalt/irq.c linux/arch/mips/cobalt/irq.c
--- linux/arch/mips/cobalt/irq.c        2004/08/20 09:19:01     1.10
+++ linux/arch/mips/cobalt/irq.c        2005/02/21 16:41:55     1.11
@@ -10,6 +10,7 @@
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/irq.h>
+#include <linux/interrupt.h>
 
 #include <asm/i8259.h>
 #include <asm/irq_cpu.h>
@@ -25,8 +26,8 @@
  * the CPU interrupt lines, and ones that come in on the via chip. The CPU
  * mappings are:
  *
- *    16,  - Software interrupt 0 (unused)     IE_SW0
- *    17   - Software interrupt 1 (unused)     IE_SW0
+ *    16   - Software interrupt 0 (unused)     IE_SW0
+ *    17   - Software interrupt 1 (unused)     IE_SW1
  *    18   - Galileo chip (timer)              IE_IRQ0
  *    19   - Tulip 0 + NCR SCSI                        IE_IRQ1
  *    20   - Tulip 1                           IE_IRQ2
@@ -82,11 +83,15 @@
        }
 
        if (pending & CAUSEF_IP7) {                     /* int 23 */
-               do_IRQ(COBALT_QUBE_SLOT_IRQ, regs);
+               do_IRQ(23, regs);
                return;
        }
 }
 
+static struct irqaction irq_via = {
+       no_action, 0, { { 0, } }, "cascade", NULL, NULL
+};
+ 
 void __init arch_init_irq(void)
 {
        set_except_vector(0, cobalt_handle_int);
@@ -99,4 +104,6 @@
         *  (except IE4, we already masked those at VIA level)
         */
        change_c0_status(ST0_IM, IE_IRQ4);
+
+       setup_irq(COBALT_VIA_IRQ, &irq_via);
 }

<Prev in Thread] Current Thread [Next in Thread>