[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<TY3PR01MB11346F4A0D1A5550F089AA4768612A@TY3PR01MB11346.jpnprd01.prod.outlook.com>
Date: Mon, 22 Sep 2025 13:33:42 +0000
From: Biju Das <biju.das.jz@...renesas.com>
To: geert <geert@...ux-m68k.org>
CC: Linus Walleij <linus.walleij@...aro.org>,
"linux-renesas-soc@...r.kernel.org" <linux-renesas-soc@...r.kernel.org>,
"linux-gpio@...r.kernel.org" <linux-gpio@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, Prabhakar
Mahadev Lad <prabhakar.mahadev-lad.rj@...renesas.com>, biju.das.au
<biju.das.au@...il.com>
Subject: RE: [PATCH v4 2/2] pinctrl: renesas: rzg2l: Drop the unnecessary pin
configurations
Hi Geert,
> -----Original Message-----
> From: Geert Uytterhoeven <geert@...ux-m68k.org>
> Sent: 22 September 2025 14:21
> Subject: Re: [PATCH v4 2/2] pinctrl: renesas: rzg2l: Drop the unnecessary pin configurations
>
> Hi Biju,
>
> On Sun, 21 Sept 2025 at 13:16, Biju Das <biju.das.jz@...renesas.com> wrote:
> > There is no need to reconfigure the pin if the pin's configuration
> > values are same as the reset values. E.g.: PS0 pin configuration for
> > NMI function is PMC = 1 and PFC = 0 and is same as that of reset
> > values. Currently the code is first setting it to GPIO HI-Z state and
> > then again reconfiguring to NMI function leading to spurious IRQ. Drop
> > the unnecessary pin configurations from the driver.
> >
> > Signed-off-by: Biju Das <biju.das.jz@...renesas.com>
> > ---
> > v3->v4:
> > * No change.
> > v2->v3:
> > * Dropped extra space before the == operator.
> > * Moved spinlock acquire before reading pfc value.
> > * Make sure it is configured for function in PMC register for
> > skipping GPIO switch.
>
> Thanks for the update!
>
>
> > --- a/drivers/pinctrl/renesas/pinctrl-rzg2l.c
> > +++ b/drivers/pinctrl/renesas/pinctrl-rzg2l.c
> > @@ -541,7 +541,11 @@ static void rzg2l_pinctrl_set_pfc_mode(struct rzg2l_pinctrl *pctrl,
> > u8 pin, u8 off, u8 func) {
> > unsigned long flags;
> > - u32 reg;
> > + u32 reg, pfc;
> > +
> > + pfc = readl(pctrl->base + PFC(off));
> > + if (((pfc >> (pin * 4)) & PFC_MASK) == func)
> > + return;
> >
> > spin_lock_irqsave(&pctrl->lock, flags);
> >
>
> Looks like you accidentally switched back to the code from v2?
> Shall I take v3 instead?
My bad. Yes, V3 is OK.
Cheers,
Biju
Powered by blists - more mailing lists