-
-asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
-{
- unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM;
-
- if (pending & CAUSEF_IP7)
- mips_timer_interrupt(regs);
- else if (pending & CAUSEF_IP2)
- intc0_req0_irqdispatch(regs);
- else if (pending & CAUSEF_IP3)
- intc0_req1_irqdispatch(regs);
- else if (pending & CAUSEF_IP4)
- intc1_req0_irqdispatch(regs);
- else if (pending & CAUSEF_IP5)
- intc1_req1_irqdispatch(regs);
- else
- spurious_interrupt(regs);
-}