Subject: Re: [RFC] 85XX: Allow 8259 cascade to share an MPIC interrupt line.

From: Sergei Shtylyov <[email-masked]>
Date: Fri, 08 Jun 2007 00:04:19 +0400

Randy Vinson wrote:

>>>After processing a possible 8259 interrupt, the 8259 cascade handler
>>>calls handle_fasteoi_irq to perform the actions noted above. However,
>>>with the 8259 cascade handler hooked to the interrupt, the threaded IRQ
>>>handler doesn't recognize it as one of the 4 standard generic IRQ types
>>>and calls the threaded version of do_irq instead of the threaded fasteoi
>>>handler.

>>   Ah, that's it!

>>>Once the threaded do_irq handler completes the action list, it
>>>uses the .end routine to restart the interrupt flow. Pointing .end to
>>>the standard MPIC unmask routine allows it to balance the interrupt mask
>>>operation performed by handle_fasteoi_irq before it scheduled the IRQ
>>>thread.

>>   Well, but when MPIC's eoi() method is called then? :-O

> It's called from handle_fasteoi_irq as I described in the "basics" ;)

    Indeed, I somehow thought eoi() is out of the threaded exit path of 
handle_fasteoi_irq() -- but it hasn't always been that way!  So, it's probably 
a painful memories of my past quarrel with Ingo over fasteoi breakage that 
played a trick with me here. ;-)

> Randy V.

WBR, Sergei