Thread (52 messages) 52 messages, 6 authors, 2019-02-14

Re: [PATCH] net: phylink: dsa: mv88e6xxx: Revise irq setup ordering

From: Andrew Lunn <andrew@lunn.ch>
Date: 2019-02-04 22:47:37

On Mon, Feb 04, 2019 at 04:38:53PM -0500, John David Anglin wrote:
On 2019-02-04 3:19 p.m., Andrew Lunn wrote:
quoted
The IRQ core would do this if it was needed.

How many other irq thread work functions can you point to which do
something similar?
This is comment for handle_edge_irq:

/**
 *    handle_edge_irq - edge type IRQ handler
 *    @desc:    the interrupt description structure for this irq
 *
 *    Interrupt occures on the falling and/or rising edge of a hardware
 *    signal. The occurrence is latched into the irq controller hardware
 *    and must be acked in order to be reenabled. After the ack another
 *    interrupt can happen on the same source even before the first one
 *    is handled by the associated event handler. If this happens it
 *    might be necessary to disable (mask) the interrupt depending on the
 *    controller hardware. This requires to reenable the interrupt inside
 *    of the loop which handles the interrupts which have arrived while
 *    the handler was running. If all pending interrupts are handled, the
 *    loop is left.
 */

As can be seen, the above comment suggests that it may be necessary to
disable (mask) interrupt
as I proposed.
Hi Dave

This comment is describing what handle_edge_irq() actually does. Read
the code. It does not say anything about that the handling thread
function should do.

	 Andrew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help