[MIPS] BCM1480: Remove duplicate acknowledge of timer interrupt.
authorRalf Baechle <ralf@linux-mips.org>
Mon, 5 Nov 2007 00:29:45 +0000 (00:29 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 15 Nov 2007 23:21:49 +0000 (23:21 +0000)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/sibyte/bcm1480/irq.c

index e28d626255a3bebd0d6a620eb413c1d185835c1d..3ba5ef358162a07e5c3b6ffbc87395b07fa372dc 100644 (file)
@@ -412,18 +412,6 @@ static void bcm1480_kgdb_interrupt(void)
 
 extern void bcm1480_mailbox_interrupt(void);
 
 
 extern void bcm1480_mailbox_interrupt(void);
 
-static inline void dispatch_ip4(void)
-{
-       int cpu = smp_processor_id();
-       int irq = K_BCM1480_INT_TIMER_0 + cpu;
-
-       /* Reset the timer */
-       __raw_writeq(M_SCD_TIMER_ENABLE|M_SCD_TIMER_MODE_CONTINUOUS,
-                   IOADDR(A_SCD_TIMER_REGISTER(cpu, R_SCD_TIMER_CFG)));
-
-       do_IRQ(irq);
-}
-
 static inline void dispatch_ip2(void)
 {
        unsigned long long mask_h, mask_l;
 static inline void dispatch_ip2(void)
 {
        unsigned long long mask_h, mask_l;
@@ -451,6 +439,7 @@ static inline void dispatch_ip2(void)
 
 asmlinkage void plat_irq_dispatch(void)
 {
 
 asmlinkage void plat_irq_dispatch(void)
 {
+       unsigned int cpu = smp_processor_id();
        unsigned int pending;
 
 #ifdef CONFIG_SIBYTE_BCM1480_PROF
        unsigned int pending;
 
 #ifdef CONFIG_SIBYTE_BCM1480_PROF
@@ -467,7 +456,7 @@ asmlinkage void plat_irq_dispatch(void)
 #endif
 
        if (pending & CAUSEF_IP4)
 #endif
 
        if (pending & CAUSEF_IP4)
-               dispatch_ip4();
+               do_IRQ(K_BCM1480_INT_TIMER_0 + cpu);
 #ifdef CONFIG_SMP
        else if (pending & CAUSEF_IP3)
                bcm1480_mailbox_interrupt();
 #ifdef CONFIG_SMP
        else if (pending & CAUSEF_IP3)
                bcm1480_mailbox_interrupt();