static unsigned int mips_mt_cpu_irq_startup(unsigned int irq) { unsigned int vpflags = dvpe(); clear_c0_cause(0x100 << (irq - MIPS_CPU_IRQ_BASE)); evpe(vpflags); unmask_mips_mt_irq(irq); return 0; }
static unsigned int mips_mt_cpu_irq_startup(unsigned int irq) { unsigned int vpflags = dvpe(); int cpu_irq = 0; if ((irq == SI_SWINT1_INT1) || (irq == SI_SWINT_INT1)) cpu_irq = 1; VPint(CR_INTC_IMR) |= (1 << (irq-1)); if (irq == SI_SWINT_INT0) VPint(CR_INTC_IMR) |= (1 << (SI_SWINT1_INT0-1)); else if (irq == SI_SWINT_INT1) VPint(CR_INTC_IMR) |= (1 << (SI_SWINT1_INT1-1)); clear_c0_cause(0x100 << cpu_irq); evpe(vpflags); unmask_mips_mt_irq(irq); return 0; }