Hi Mark,
On Thursday 18 July 2013 08:12 PM, Mark Brown wrote:
On Thu, Jul 18, 2013 at 04:31:58PM +0300, Felipe Balbi wrote:
On Thu, Jul 18, 2013 at 02:18:22PM +0100, Mark Brown wrote:
So why do we report that we handled the interrupt then? Shouldn't we at
least warn if we're getting spurious IRQs?
not spurious. OMAP has two sets of IRQ status registers. One is call
IRQSTATUS$n (n = 0, 1, ...) and IRQSTATUS_RAW$n.
IRQSTATUS$n will only enable the bits which fired IRQs and aren't
masked while IRQSTATUS_RAW$n will also enable the bits which are masked.
I could never come up with a use case where we would need to handle IRQs
which we decided to mask, but perhaps there might be some cases, I don't
know.
Based on that, I believe Sourav is reading IRQSTATUS_RAW$n, then he need
to clear the masked bits.
That's not the issue - the issue is that if none of the unmasked
interrupts are being asserted we shouldn't be in the interrupt handler
in the first place but the driver silently accepts that and reports that
it handled the interrupt.
I believe this is what you hinted at doing..
there is a QSPI_INTR_STATUS_ENABLED_CLEAR register, which indicated the
interrupt
status.
if nothing is set in the above register, I should return IRQ_NONE.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html