Re: [PATCH] irq: Add a new IRQF_ACK_BEFORE_UNMASK irq flag

From: Russell King - ARM Linux
Date: Wed Mar 12 2014 - 06:45:43 EST


On Wed, Mar 12, 2014 at 11:38:24AM +0100, Thomas Gleixner wrote:
> If the interrupt chip has this behaviour then handle_level_irq as the
> flow handler is the wrong thing to start with because it always acks
> before calling the handler.

This sounds like the situation with the Dove PMC irqchip too, except
that it has the additional complication that "acking" any interrupt is
potentially distructive to other pending interrupts, so should be done
as infrequently as possible.

> +void unmask_threaded_irq(struct irq_desc *desc)
> +{
> + struct irq_chip *chip = desc->irq_data.chip;
> +
> + if (chip->flags & IRQCHIP_EOI_THREADED)
> + chip->irq_eoi(&desc->irq_data);
> +
> + if (chip->irq_unmask) {
> + desc->irq_data.chip->irq_unmask(&desc->irq_data);

ITYM:
chip->irq_unmask(&desc->irq_data);

--
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/