From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Maxime Chevallier <maxime.chevallier@bootlin.com>
Cc: "Alexandre Torgue" <alexandre.torgue@foss.st.com>,
"Jose Abreu" <joabreu@synopsys.com>,
"Andrew Lunn" <andrew+netdev@lunn.ch>,
davem@davemloft.net, "Eric Dumazet" <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
"Alexis Lothoré" <alexis.lothore@bootlin.com>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next 2/2] net: stmmac: dwmac-socfpga: Set interface modes from Lynx PCS as supported
Date: Fri, 13 Dec 2024 19:21:38 +0000 [thread overview]
Message-ID: <Z1yJQikqneoFNJT4@shell.armlinux.org.uk> (raw)
In-Reply-To: <20241213182904.55eb2504@fedora.home>
On Fri, Dec 13, 2024 at 06:29:04PM +0100, Maxime Chevallier wrote:
> Hi Russell,
>
> On Fri, 13 Dec 2024 12:22:45 +0000
> "Russell King (Oracle)" <linux@armlinux.org.uk> wrote:
>
> > On Fri, Dec 13, 2024 at 10:05:25AM +0100, Maxime Chevallier wrote:
> > > On Socfpga, the dwmac controller uses a variation of the Lynx PCS to get
> > > additional support for SGMII and 1000BaseX. The switch between these
> > > modes may occur at runtime (e.g. when the interface is wired to an SFP
> > > cage). In such case, phylink will validate the newly selected interface
> > > between the MAC and SFP based on the internal "supported_interfaces"
> > > field.
> > >
> > > For now in stmmac, this field is populated based on :
> > > - The interface specified in firmware (DT)
> > > - The interfaces supported by XPCS, when XPCS is in use.
> > >
> > > In our case, the PCS in Lynx and not XPCS.
> > >
> > > This commit makes so that the .pcs_init() implementation of
> > > dwmac-socfpga populates the supported_interface when the Lynx PCS was
> > > successfully initialized.
> >
> > I think it would also be worth adding this to Lynx, so phylink also
> > gets to know (via its validation) which PHY interface modes the PCS
> > can support.
> >
> > However, maybe at this point we need to introduce an interface bitmap
> > into struct phylink_pcs so that these kinds of checks can be done in
> > phylink itself when it has the PCS, and it would also mean that stmmac
> > could do something like:
> >
> > struct phylink_pcs *pcs;
> >
> > if (priv->hw->xpcs)
> > pcs = xpcs_to_phylink_pcs(priv->hw->xpcs);
> > else
> > pcs = priv->hw->phylink_pcs;
> >
> > if (pcs)
> > phy_interface_or(priv->phylink_config.supported_interfaces,
> > priv->phylink_config.supported_interfaces,
> > pcs->supported_interfaces);
> >
> > and not have to worry about this from individual PCS or platform code.
>
> I like the idea, I will give it a go and send a series for that if
> that's ok :)
I've actually already created that series!
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
next prev parent reply other threads:[~2024-12-13 19:23 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-13 9:05 [PATCH net-next 0/2] net: stmmac: dwmac-socfpga: Allow using 1000BaseX Maxime Chevallier
2024-12-13 9:05 ` [PATCH net-next 1/2] net: stmmac: dwmac-socfpga: Add support for 1000BaseX Maxime Chevallier
2024-12-13 9:05 ` [PATCH net-next 2/2] net: stmmac: dwmac-socfpga: Set interface modes from Lynx PCS as supported Maxime Chevallier
2024-12-13 12:22 ` Russell King (Oracle)
2024-12-13 17:29 ` Maxime Chevallier
2024-12-13 19:21 ` Russell King (Oracle) [this message]
2024-12-13 19:34 ` [PATCH net-next 1/5] net: phylink: add support for PCS supported_interfaces bitmap Russell King (Oracle)
2024-12-17 13:06 ` Maxime Chevallier
2024-12-13 19:34 ` [PATCH net-next 2/5] net: pcs: xpcs: fill in PCS supported_interfaces Russell King (Oracle)
2024-12-17 13:07 ` Maxime Chevallier
2024-12-13 19:35 ` [PATCH net-next 3/5] net: pcs: mtk-lynxi: " Russell King (Oracle)
2024-12-17 13:15 ` Maxime Chevallier
2025-01-02 9:16 ` Russell King (Oracle)
2024-12-13 19:35 ` [PATCH net-next 4/5] net: pcs: lynx: " Russell King (Oracle)
2024-12-17 13:18 ` Maxime Chevallier
2024-12-13 19:35 ` [PATCH net-next 5/5] net: stmmac: use " Russell King (Oracle)
2024-12-17 13:19 ` Maxime Chevallier
2025-01-02 9:08 ` Russell King (Oracle)
2024-12-16 8:42 ` [PATCH net-next 2/2] net: stmmac: dwmac-socfpga: Set interface modes from Lynx PCS as supported Maxime Chevallier
2024-12-17 1:33 ` Jakub Kicinski
2024-12-17 12:59 ` Maxime Chevallier
2024-12-17 14:49 ` Jakub Kicinski
2024-12-17 15:07 ` Maxime Chevallier
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=Z1yJQikqneoFNJT4@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=alexandre.torgue@foss.st.com \
--cc=alexis.lothore@bootlin.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=joabreu@synopsys.com \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=maxime.chevallier@bootlin.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=thomas.petazzoni@bootlin.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.