[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJ+vNU3hWOdXUoogCH0U_WvYaMMaFBYs8D30KEg96ctgkhBqyQ@mail.gmail.com>
Date: Tue, 29 Dec 2020 08:23:00 -0800
From: Tim Harvey <tharvey@...eworks.com>
To: Mark Brown <broonie@...nel.org>
Cc: "Rafael J . Wysocki" <rafael@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
open list <linux-kernel@...r.kernel.org>,
Laxminath Kasam <lkasam@...eaurora.org>,
Tony Lindgren <tony@...mide.com>,
Lee Jones <lee.jones@...aro.org>,
Robert Jones <rjones@...eworks.com>
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@...nel.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
Powered by blists - more mailing lists