asmlinkage void plat_irq_dispatch(void) { unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM; if (pending & CAUSEF_IP7) mips_timer_interrupt(); else rt2880_irqdispatch(); }
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); }