Messages in this thread | | | Date | Wed, 12 Mar 2014 11:48:45 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [PATCH] irq: Add a new IRQF_ACK_BEFORE_UNMASK irq flag |
| |
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
| |