Messages in this thread | | | Date | Thu, 13 Mar 2014 17:20:29 +0100 | From | Hans de Goede <> | Subject | Re: [PATCH] irq: Add a new IRQF_ACK_BEFORE_UNMASK irq flagq |
| |
Hi,
On 03/13/2014 03:32 PM, Thomas Gleixner wrote: > On Thu, 13 Mar 2014, Sebastian Andrzej Siewior wrote: >> One side note: Since we need to specify IRQCHIP_EOI_THREADED and >> handle_fasteoi_late_irq() as the handler, would it be easily doable to use >> the handle_fasteoi_irq() handler and skip the EOI in the threaded mode? >> But if it creates a mess then leave it as it is. > > Yeah, I was looking into that already. Patch below. > > To resemble the late version you need to add IRQCHIP_EOI_THREADED and > IRQCHIP_EOI_IF_HANDLED to your irq chip.
Just gave this a review (in as far as I'm qualified to review core irq code), looks good and I agree this is an improvement over the previous version.
There is one behavioral change for irq-chips not setting the new IRQCHIP_EOI_THREADED flag hiding in there.
Before if the conditional unmask conditions were true for the ONESHOT case the code would do: "unmask; eoi", now it does "eoi; unmask" I believe the new behavior is more correct, but, since it is a behavior change I thought I should point this out.
I've also given this a test-run on sun4i and it works as advertised.
FWIW, this patch is: Reviewed-by: Hans de Goede <hdegoede@redhat.com> Tested-by: Hans de Goede <hdegoede@redhat.com>
I'll include this in v3 of my irq-sun4i patch-set as it is a dependency there.
Regards,
Hans
| |