Re: [PATCH] qe_ic: Do a sync when masking interrupts.
From: Scott Wood <hidden>
Date: 2006-10-23 15:19:15
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). -Scott