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

From: Hans de Goede
Date: Thu Mar 13 2014 - 12:20:54 EST


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@xxxxxxxxxx>
Tested-by: Hans de Goede <hdegoede@xxxxxxxxxx>

I'll include this in v3 of my irq-sun4i patch-set as it is a dependency
there.

Regards,

Hans
--
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/