Thread (11 messages) 11 messages, 3 authors, 2014-06-18

Re: [PATCH] net/cadence/macb: clear interrupts simply and correctly

flat view

From: Sören Brinkmann <hidden>
Date: 2014-06-16 14:56:34
Also in: lkml

On Mon, 2014-06-16 at 02:00PM +0900, Jongsung Kim wrote:
On 06/13/2014 12:44 AM, Sören Brinkmann wrote:
quoted
Hi Jongsung,
Hi Sören,
quoted
Does this interrupt need to be enabled? There is nothing checking
that bit and handling this IRQ in the handler, AFAICT. And you solve
this by simply clearing the bit. So, I wonder whether not enabling this
IRQ in the first place would solve things too.
The driver actually checks the bit, but does not clear it. Disabling the
"Rx used bit read" interrupt you said may be a solution. However, I think
it is the better way to clear the exceptional HW-state rather than just to
mask it.
Hmm, I must have missed that.
quoted
This is now clearing all IRQ flags which is probably not what we want
here. This is handling RX only. We still want the non-RX interrupts to go to
the actual interrupt service routing.
The ISR(Interrupt Status Register) is read only in the interrupt service
routine, macb_interrupt. But is partially cleared here and there. Further
handler-functions decide jobs to be done by reading/checking other status
registers. (e.g., TSR, RSR) So, clearing the ISR after reading looks not
a bad idea.
But you are clearing _all_ interrupt flags in the RX NAPI handler.
Doesn't that mean we might miss certain events?

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