Subject: Re: Level IRQ handling on Xilinx INTC with ARCH=powerpc

From: David Howells <[email-masked]>
Date: Tue, 29 Jul 2008 15:14:17 +0100

Sergey Temerkhanov <[email-masked]> wrote:

> And handle_level_irq() which is currently used as high-level IRQ handler for
> Xilinx INTC only tries to acknowledge IRQ before ISR call. So that the IRQ
> remains asserted in INTC and after the call to desc->chip->unmask() causes
> spurious attempt to process the same IRQ again. However, call to
> desc->chip->ack() this time finishes the required procedure of IRQ
> acknowledge.

I think I'm seeing the same on the MN10300 arch with its builtin PIC.  My
soultion was to make unmask() also clear the IRQ latch in the PIC for that
channel.  We perhaps want an unmask_ack() op.

David