On Thu, Mar 27, 2014 at 09:41:20AM +0000, David Laight wrote:
From: Mark Brown
The trace is already conditional? I'd also expect to see the driver only acknowledging sources it knows about and only reporting that the interrupt was handled if it saw one of them - right now all interrupts are unconditionally acknowleged.
The traces are separately conditional on their own bits. That is a lot of checks that will normally be false.
Oh, I see what you mean. I'm not sure that level of optimisation is worth it, the overhead of taking an interrupt in the first place is going to dwarf the optimisation and the indentation probably won't help writing clear messages.
Also the driver may need to clear all the active interrupt bits in order to make the IRQ go away. It should trace that bits it doesn't expect to be set though.
The interrupt core will eventually take care of it if the interrupt is left screaming with nothing handling it (and provide diagnostics). I would *hope* that this is only happening for unmasked interrupt sources we explicitly unmask anyway, we really don't want interrupts on FIFO level changes.