/* TODO * IRQs on the AR7 board works. I don't know _how_ works, so i written * random statements hoping that works. This wont unlikely work * * MIPS IRQ Source * -------- ------ * 0 Dunno * 1 Dunno * 2 Dunno * 3 Dunno * 4 Dunno * 5 Dunno * 6 Dunno * 7 Dunno * * We handle the IRQ according to _our_ priority which is: * * Alphabetical order * * then we just return, hoping that magic smoke * won't be released from the board */asmlinkage void plat_irq_dispatch(struct pt_regs *regs){ unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM; int irq; irq = irq_ffs(pending); if (irq > 0) do_IRQ(MIPSCPU_INT_BASE + irq, regs); else spurious_interrupt(regs);}