-
-asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
-{
- unsigned int pending = read_c0_cause() & read_c0_status();
-
- if (pending & STATUSF_IP7)
- do_IRQ(TX4938_IRQ_CPU_TIMER, regs);
- else if (pending & STATUSF_IP2) {
- int irq = tx4938_irq_nested();
- if (irq)
- do_IRQ(irq, regs);
- else
- spurious_interrupt(regs);
- } else if (pending & STATUSF_IP1)
- do_IRQ(TX4938_IRQ_USER1, regs);
- else if (pending & STATUSF_IP0)
- do_IRQ(TX4938_IRQ_USER0, regs);
-}