Messages in this thread | | | Date | Thu, 28 Oct 2010 20:52:54 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [RFC IRQ] genirq: fix handle_nested_irq for lazy disable |
| |
On Thu, 28 Oct 2010, Abhijeet Dharmapurikar wrote: > Thomas Gleixner wrote: > > Aside of that this wont work for edge triggered interrupts, as you'd > > loose the edge, so this needs more thought and a thorough look at the > > users of handle_nested_irq(). > > I didn't understand this though. This patch will mask the interrupt in the > controller even if it were edge. My interrupt controller latches > edges and wants a mask (or an ack) to be executed to deactivate the line > summary line. Do you mean that I should mark the interrupt IRQ_PENDING if it > were an edge before masking it? If not, can you please explain.
See handle_edge_irq().
An edge is a one time event. Once you mask/ack it, it's gone. So now when you unmask it won't reissue the interrupt on the hardware level. Level interrupts do, as the mask does not affect that.
Thanks,
tglx
| |