[PATCH] qe_ic: Do a sync when masking interrupts.
scottwood at freescale.com
Tue Oct 24 01:19:12 EST 2006
Paul Mackerras wrote:
> Hmmm. In general a sync having completed doesn't mean that previous
> MMIO stores have actually got to the device. Reading from a device
> register generally does ensure that previous writes have actually got
> to the device though - could you do that instead? I'm concerned that
> adding the sync is not a robust fix and is possibly only working due
> to fortuitous timing.
Possibly -- but the only problem on the rare occasions where the timing
is not fortuitous is a spurious interrupt; the only reason the sync
needs to be there at all is to avoid the overhead of the extra interrupt
(and to avoid user complaints that they're getting "BAD" interrupts).
Note that many/most interrupt controller drivers don't even do that
much; they just have more fortuitous timing than the QE (and/or the
spurious interrupt is non-cascaded, and thus gets caught in
handle_level_irq and doesn't increment the spurious interrupt count).
More information about the Linuxppc-dev