From: Simon Horman <horms@kernel.org>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: vkoul@kernel.org, neil.armstrong@linaro.org, krzk+dt@kernel.org,
conor+dt@kernel.org, ciprianmarian.costea@oss.nxp.com,
s32@nxp.com, p.zabel@pengutronix.de, linux@armlinux.org.uk,
ghennadi.procopciuc@nxp.com, bogdan-gabriel.roman@nxp.com,
Ionut.Vicovan@nxp.com, alexandru-catalin.ionita@nxp.com,
linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org,
Frank.li@nxp.com
Subject: Re: [PATCH 3/4] phy: s32g: Add serdes xpcs subsystem
Date: Thu, 29 Jan 2026 16:20:28 +0000 [thread overview]
Message-ID: <aXuIzJdZYEGX3XVy@horms.kernel.org> (raw)
In-Reply-To: <CAKfTPtB8xDB8qYUZwGnH+h94ww3+gSyOuZ+RL+zOh5tYGuu_HQ@mail.gmail.com>
On Thu, Jan 29, 2026 at 02:24:15PM +0100, Vincent Guittot wrote:
> On Thu, 29 Jan 2026 at 12:59, Simon Horman <horms@kernel.org> wrote:
> >
> > On Mon, Jan 26, 2026 at 10:21:58AM +0100, Vincent Guittot wrote:
> >
> > ...
> >
> > > diff --git a/drivers/phy/freescale/phy-nxp-s32g-serdes.c b/drivers/phy/freescale/phy-nxp-s32g-serdes.c
> >
> > ...
> >
> > > +static void s32g_serdes_prepare_pma_mode5(struct s32g_serdes *serdes)
> > > +{
> > > + u32 val;
> > > + /* Configure TX_VBOOST_LVL and TX_TERM_CTRL */
> > > + val = readl(serdes->ctrl.ss_base + S32G_PCIE_PHY_EXT_MISC_CTRL_2);
> > > + val &= ~(EXT_TX_VBOOST_LVL_MASK | EXT_TX_TERM_CTRL_MASK);
> > > + val |= FIELD_PREP(EXT_TX_VBOOST_LVL_MASK, 0x3) |
> > > + FIELD_PREP(EXT_TX_TERM_CTRL_MASK, 0x4);
> > > + writel(val, serdes->ctrl.ss_base + S32G_PCIE_PHY_EXT_MISC_CTRL_2);
> >
> > This is part of an AI Generated review.
> > I have looked over it and I think it warrants investigation.
> > For information on how to reproduce locally, as I did, please see [1].
> >
> > The entire s32g_serdes_prepare_pma_mode5() function is ~70 lines of
> > magic numbers with zero explanation. These appear to be
> > hardware-specific PLL/PHY tuning parameters for 2.5G mode.
>
> Unfortunately there is no additional information in the reference
> manual other than
> *step 4:
> - Write 3h to EXT_TX_VBOOST_LVL.
> - Write 4h to EXT_TX_TERM_CTRL
Understood. Sometimes you have the play the hand you're dealt.
>
> >
> > Please consider using #defines, to give values names.
> >
> > ...
> >
> > > +static int s32g_serdes_init_clks(struct s32g_serdes *serdes)
> > > +{
> > > + struct s32g_serdes_ctrl *ctrl = &serdes->ctrl;
> > > + struct s32g_xpcs_ctrl *xpcs = &serdes->xpcs;
> > > + int ret, order[2], xpcs_id;
> > > + size_t i;
> > > +
> > > + switch (ctrl->ss_mode) {
> > > + case 0:
> > > + return 0;
> > > + case 1:
> > > + order[0] = 0;
> > > + order[1] = XPCS_DISABLED;
> > > + break;
> > > + case 2:
> > > + case 5:
> > > + order[0] = 1;
> > > + order[1] = XPCS_DISABLED;
> > > + break;
> > > + case 3:
> > > + order[0] = 1;
> > > + order[1] = 0;
> > > + break;
> > > + case 4:
> > > + order[0] = 0;
> > > + order[1] = 1;
> > > + break;
> > > + default:
> > > + return -EINVAL;
> >
> > AI review also flags that s32g_serdes_get_ctrl_resources() ensures that
> > ss_mode is <= 5. So this check is unnecessary.
>
> okay but providing a default seems a good practice
Yeah, I was of two minds about forwarding on this part of the report.
...
> > AI review also flags that s32g_xpcs_regmap_reg_read and
> > s32g_xpcs_regmap_reg_write do not protect against concurrent access.
>
> but regmap framework should
If it does, then I agree there is no problem here.
next prev parent reply other threads:[~2026-01-29 16:20 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-26 9:21 [PATCH 0/4] Serdes: s32g: Add support for serdes subsystem Vincent Guittot
2026-01-26 9:21 ` [PATCH 1/4] dt-bindings: serdes: s32g: Add NXP " Vincent Guittot
2026-01-29 12:50 ` Russell King (Oracle)
2026-01-29 13:05 ` Vincent Guittot
2026-01-26 9:21 ` [PATCH 2/4] phy: s32g: Add serdes subsystem phy Vincent Guittot
2026-01-26 13:11 ` Philipp Zabel
2026-01-27 10:07 ` Vincent Guittot
2026-01-29 9:54 ` Simon Horman
2026-01-29 13:01 ` Vincent Guittot
2026-01-29 13:23 ` Russell King (Oracle)
2026-01-29 13:36 ` Vincent Guittot
2026-01-29 13:51 ` Russell King (Oracle)
2026-01-29 14:30 ` Vinod Koul
2026-01-29 14:36 ` Russell King (Oracle)
2026-01-30 14:50 ` Russell King (Oracle)
2026-01-29 11:17 ` Russell King (Oracle)
2026-01-29 13:02 ` Vincent Guittot
2026-01-26 9:21 ` [PATCH 3/4] phy: s32g: Add serdes xpcs subsystem Vincent Guittot
2026-01-29 11:59 ` Simon Horman
2026-01-29 13:24 ` Vincent Guittot
2026-01-29 16:20 ` Simon Horman [this message]
2026-01-29 12:30 ` Russell King (Oracle)
2026-01-29 13:45 ` Vincent Guittot
2026-01-26 9:21 ` [PATCH 4/4] MAINTAINERS: Add MAINTAINER for NXP S32G Serdes driver Vincent Guittot
2026-01-29 12:07 ` Simon Horman
2026-01-29 13:25 ` Vincent Guittot
2026-01-29 12:36 ` [PATCH 0/4] Serdes: s32g: Add support for serdes subsystem Russell King (Oracle)
2026-01-29 13:26 ` Vincent Guittot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aXuIzJdZYEGX3XVy@horms.kernel.org \
--to=horms@kernel.org \
--cc=Frank.li@nxp.com \
--cc=Ionut.Vicovan@nxp.com \
--cc=alexandru-catalin.ionita@nxp.com \
--cc=bogdan-gabriel.roman@nxp.com \
--cc=ciprianmarian.costea@oss.nxp.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=ghennadi.procopciuc@nxp.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=neil.armstrong@linaro.org \
--cc=netdev@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=s32@nxp.com \
--cc=vincent.guittot@linaro.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox