On Wed, 12 Mar 2014, Russell King - ARM Linux wrote:

> 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.

Right. I was wondering about that, but then reminded myself that the
"ack" on that chip is total clusterf*ck.
 
> > +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);

True.

Thanks,

        tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to