Messages in this thread |  | | From | Tim Harvey <> | Date | Tue, 29 Dec 2020 08:23:00 -0800 | Subject | Re: [PATCH] regmap: irq: do not allow setting irq bits during ack |
| |
On Tue, Dec 29, 2020 at 5:06 AM Mark Brown <broonie@kernel.org> wrote: > > On Mon, Dec 28, 2020 at 01:45:51PM -0800, Tim Harvey wrote: > > > Some interrupt controllers may not de-assert their interrupt if > > bits are set when acknowledging the bits that caused the interrupt. > > > Take care to not apply the mask to the status until we are done > > acknowledging the interrupt and take care to mask the bits according > > for the ack_invert state. > > I can't understand what this commit message is trying to say, sorry. > Which bits are you talking about when you say "if bits are set"? Isn't > acknowleding the interrupt clearing the bits asserting the interrupt? I > can't tell what the problem you're trying to fix is.
Mark,
If for example status=0x01 the current code for ack_invert will write a 0xfe to clear that bit which ends up setting all other interrupt bits keeping the interrupt from ever being de-asserted. With the patch applied a status=0x01 will result in a 0x00 written to clear that bit and keep other's from being set.
Tim
|  |