Ejemplo n.º 1
0
void msm_pcie_destroy_irq(unsigned int irq)
{
	int pos = irq - MSM_PCIE_MSI_INT(0);

	dynamic_irq_cleanup(irq);
	clear_bit(pos, msi_irq_in_use);
}
Ejemplo n.º 2
0
Archivo: msi.c Proyecto: Moretti0/gg
void destroy_irq(unsigned int irq)
{
	int pos = irq - IRQ_IMX_MSI_0;

	dynamic_irq_cleanup(irq);
	clear_bit(pos, msi_irq_in_use);
}
Ejemplo n.º 3
0
void destroy_irq(unsigned int irq)
{
    int pos = irq - IRQ_AURORA_MSI_START;

    dynamic_irq_cleanup(irq);

    clear_bit(pos, msi_irq_in_use);
}
Ejemplo n.º 4
0
void destroy_irq(unsigned int irq)
{
	unsigned long flags;

	spin_lock_irqsave(&available_irqs_lock, flags);
	available_irqs |= (1UL << irq);
	dynamic_irq_cleanup(irq);
	spin_unlock_irqrestore(&available_irqs_lock, flags);
}
Ejemplo n.º 5
0
void destroy_and_reserve_irq(unsigned int irq)
{
	unsigned long flags;

	dynamic_irq_cleanup(irq);

	spin_lock_irqsave(&vector_lock, flags);
	__clear_irq_vector(irq);
	irq_status[irq] = IRQ_RSVD;
	spin_unlock_irqrestore(&vector_lock, flags);
}
Ejemplo n.º 6
0
/*
 * Release the msi irq resource from a pcie controller
 */
static void pcie_msi_destroy_irq(struct pcie_port *pp, unsigned int irq)
{
	int pos = irq - pp->msi_irq_base;

	BUG_ON(!(pp->msi_irq_in_use & (1 << pos)));

	dynamic_irq_cleanup(irq);

	spin_lock_irqsave(&pp->conf_lock, pp->flags);
	pp->msi_irq_in_use &= ~(1 << pos);
	spin_unlock_irqrestore(&pp->conf_lock, pp->flags);

	PCIE_INFO("pcie destry irq %d, pos %d\n", irq, pos);
}
Ejemplo n.º 7
0
static void free_desc(unsigned int irq)
{
	dynamic_irq_cleanup(irq);
}
Ejemplo n.º 8
0
void destroy_irq(unsigned int irq)
{
	dynamic_irq_cleanup(irq);
	clear_irq_vector(irq);
}