static unsigned int startup_msi_irq_w_maskbit(unsigned int vector) { struct msi_desc *entry; unsigned long flags; spin_lock_irqsave(&msi_lock, flags); entry = msi_desc[vector]; if (!entry || !entry->dev) { spin_unlock_irqrestore(&msi_lock, flags); return 0; } entry->msi_attrib.state = 1; /* Mark it active */ spin_unlock_irqrestore(&msi_lock, flags); unmask_MSI_irq(vector); return 0; /* never anything pending */ }
static void end_msi_irq_w_maskbit(unsigned int vector) { move_native_irq(vector); unmask_MSI_irq(vector); ack_APIC_irq(); }
static unsigned int startup_msi_irq_w_maskbit(unsigned int vector) { startup_msi_irq_wo_maskbit(vector); unmask_MSI_irq(vector); return 0; /* never anything pending */ }