void vr41xx_enable_firint(uint16_t mask) { struct irq_desc *desc = irq_desc + FIR_IRQ; unsigned long flags; spin_lock_irqsave(&desc->lock, flags); icu2_set(MFIRINTREG, mask); spin_unlock_irqrestore(&desc->lock, flags); }
void vr41xx_enable_csiint(uint16_t mask) { struct irq_desc *desc = irq_desc + CSI_IRQ; unsigned long flags; if (current_cpu_data.cputype == CPU_VR4122 || current_cpu_data.cputype == CPU_VR4131 || current_cpu_data.cputype == CPU_VR4133) { spin_lock_irqsave(&desc->lock, flags); icu2_set(MCSIINTREG, mask); spin_unlock_irqrestore(&desc->lock, flags); } }
static void end_sysint2_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) icu2_set(MSYSINT2REG, 1 << SYSINT2_IRQ_TO_PIN(irq)); }
static void enable_sysint2_irq(unsigned int irq) { icu2_set(MSYSINT2REG, 1 << SYSINT2_IRQ_TO_PIN(irq)); }
static unsigned int startup_sysint2_irq(unsigned int irq) { icu2_set(MSYSINT2REG, 1 << SYSINT2_IRQ_TO_PIN(irq)); return 0; /* never anything pending */ }
static void enable_sysint2_irq(struct irq_data *d) { icu2_set(MSYSINT2REG, 1 << SYSINT2_IRQ_TO_PIN(d->irq)); }