Re: [PATCH] 2.6.18-rt7: PowerPC: fix breakage in threaded fasteoitype IRQ handlers

From: Benjamin Herrenschmidt
Date: Sun Nov 19 2006 - 15:33:13 EST


On Sun, 2006-11-19 at 23:26 +0300, Sergei Shtylyov wrote:

> I must not that this whole ack() vs eoi() stuff is misleading. For example,
> in 8259 driver, mask_ack() method actually sends EOI to PIC, not ACK's an IRQ
> -- the actual ACK is implicit on x86 and is used to read the interrupt vector
> form 8259 on PPC. So, IMO, there probably should only have been either ack()
> or eoi() method in the first place. Though I'm not familiar with ARM from
> which genirq stuff originated...

They are different concepts. Ack clears the event on the PIC, it's
tyically necessary for resetting the edge detection logic for edge
interrupts and has to happen before the handler is called.

On MPIC or XICS, this is implicit by reading the vector. On some more
dumb controllers, this has to be done explicitely.

EOI is a more "high level" thing that some "intelligent" PICs that
automatically raise the priority do to restore the priority to what it
was before the interrupt occured.

Ben.



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