Re: [PATCH v2 1/5] mfd: axp20x: AXP717: Fix missing IRQ status registers range

Lee Jones
2024-06-13T12:04:26Z

On Thu, 13 Jun 2024, Andre Przywara wrote:

> Hi Lee,
>
> On 12/06/2024 16:48, Lee Jones wrote:
> > On Wed, 12 Jun 2024, Andre Przywara wrote:
> >
> > > Hi,
> > >
> > > On 12/06/2024 16:25, Lee Jones wrote:
> > > > On Wed, 12 Jun 2024, Andre Przywara wrote:
> > > >
> > > > > Hi Lee,
> > > > >
> > > > > On 02/05/2024 10:39, Lee Jones wrote:
> > > > > > On Thu, 18 Apr 2024, Andre Przywara wrote:
> > > > > >
> > > > > > > While we list the "IRQ status *and acknowledge*" registers as volatile,
> > > > > > > they are missing from the writable range array, so acknowledging any
> > > > > > > interrupts was met with an -EIO error.
> > > > > > >
> > > > > > > Add the five registers that hold those bits to the writable array.
> > > > > > >
> > > > > > > Fixes: b5bfc8ab2484 ("mfd: axp20x: Add support for AXP717 PMIC")
> > > > > > > Reported-by: Chris Morgan <macromorgan@hotmail.com>
> > > > > > > Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> > > > > > > ---
> > > > > > > drivers/mfd/axp20x.c | 1 +
> > > > > > > 1 file changed, 1 insertion(+)
> > > > > >
> > > > > > Acked-by: Lee Jones <lee@kernel.org>
> > > > >
> > > > > Can you please take just this patch as a fix for 6.10? This fixes the power
> > > > > key operation.
> > > > > This applies cleanly on top of v6.10-rc3, so there is no need for any extra
> > > > > immutable branch or coordination with regulator.
> > > > > (The same is true independently for patch 2/5, on the regulator side).
> > > >
> > > > What does the Fixes: commit break?
> > > >
> > > > Or is it the case that it never worked properly?
> > >
> > > The interrupt part never worked properly, but so far that's only needed for
> > > the power key operation. Unfortunately that part wasn't tested properly
> > > initially, so the patches were merged into your tree before that.
> >
> > This doesn't sounds like a -fixes candidate. I'll mark the set for v6.11.
>
> Sorry, correction, this patch missing is actually fatal now, since we have
> an interrupt connected in the DT (which wasn't there initially). The code
> tries to clear all IRQs upon driver probe, which fails due to regmap
> error-ing out. This makes the whole driver fail probing, and since the AXP
> supplies basically every peripheral, the system is dead in the water:
>
> [ 1.173014] sunxi-rsb 7083000.rsb: RSB running at 3000000 Hz
> [ 1.174996] axp20x-rsb sunxi-rsb-3a3: AXP20x variant AXP717 found
> [ 1.198931] axp20x-rsb sunxi-rsb-3a3: Failed to ack 0x49: -5
> [ 1.220878] axp20x-rsb sunxi-rsb-3a3: failed to add irq chip: -5
> [ 1.235760] axp20x-rsb sunxi-rsb-3a3:
>
> (Thanks to loki666@IRC for providing the log!)
>
> This was discovered early, long before the merge window, and I was actually
> hoping to have this patch squashed into the original series still, but there
> was this immutable branch already.
>
> So can you please take this as a fix for 6.10?

Please draft a new patch (the diff is likely to be the same) with an
updated commit message describing the new problem and why it's required
for -fixes. I'll then submit it to Linus.

--
Lee Jones [李琼斯]