[MIPS] Lasat: bring back from the dead
authorThomas Horsten <thomas@horsten.com>
Sat, 14 Jun 2008 01:32:42 +0000 (02:32 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 16 Jun 2008 14:14:48 +0000 (15:14 +0100)
After the common MIPS CPU interrupt controller (for irq0-7) was introduced
the Lasat boards didn't get their interrupts right, so nothing worked. The
old routines need to be offset by the new 8 hardware interrupts common to
all MIPS CPU's.

Signed-off-by: Thomas Horsten <thomas@horsten.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/lasat/interrupt.c
include/asm-mips/lasat/serial.h

index cfeab66..a56c150 100644 (file)
@@ -34,11 +34,13 @@ static volatile int lasat_int_mask_shift;
 
 void disable_lasat_irq(unsigned int irq_nr)
 {
+       irq_nr -= LASAT_IRQ_BASE;
        *lasat_int_mask &= ~(1 << irq_nr) << lasat_int_mask_shift;
 }
 
 void enable_lasat_irq(unsigned int irq_nr)
 {
+       irq_nr -= LASAT_IRQ_BASE;
        *lasat_int_mask |= (1 << irq_nr) << lasat_int_mask_shift;
 }
 
index bafe68b..1c37d70 100644 (file)
@@ -4,10 +4,10 @@
 #define LASAT_BASE_BAUD_100            (7372800 / 16)
 #define LASAT_UART_REGS_BASE_100       0x1c8b0000
 #define LASAT_UART_REGS_SHIFT_100      2
-#define LASATINT_UART_100              8
+#define LASATINT_UART_100              16
 
 /* * LASAT 200 boards serial configuration */
 #define LASAT_BASE_BAUD_200            (100000000 / 16 / 12)
 #define LASAT_UART_REGS_BASE_200       (Vrc5074_PHYS_BASE + 0x0300)
 #define LASAT_UART_REGS_SHIFT_200      3
-#define LASATINT_UART_200              13
+#define LASATINT_UART_200              21