All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Daniel Golle <daniel@makrotopia.org>
Cc: Andrew Lunn <andrew@lunn.ch>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Alexander Couzens <lynxis@fe80.eu>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org
Subject: Re: [PATCH net-next 2/3] net: pcs: pcs-mtk-lynxi: implement pcs_inband_caps() method
Date: Fri, 3 Jan 2025 10:55:14 +0000	[thread overview]
Message-ID: <Z3fCEnQvmgXaOGB7@shell.armlinux.org.uk> (raw)
In-Reply-To: <Z3aGDHU2TLV_YtZW@pidgin.makrotopia.org>

On Thu, Jan 02, 2025 at 12:26:52PM +0000, Daniel Golle wrote:
> On Sun, Dec 08, 2024 at 09:13:11AM +0000, Russell King (Oracle) wrote:
> > On Sun, Dec 08, 2024 at 03:01:38AM +0000, Daniel Golle wrote:
> > > On Thu, Dec 05, 2024 at 09:42:29AM +0000, Russell King (Oracle) wrote:
> > > > Report the PCS in-band capabilities to phylink for the LynxI PCS.
> > > > 
> > > > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
> > > > ---
> > > >  drivers/net/pcs/pcs-mtk-lynxi.c | 16 ++++++++++++++++
> > > >  1 file changed, 16 insertions(+)
> > > > 
> > > > diff --git a/drivers/net/pcs/pcs-mtk-lynxi.c b/drivers/net/pcs/pcs-mtk-lynxi.c
> > > > index 4f63abe638c4..7de804535229 100644
> > > > --- a/drivers/net/pcs/pcs-mtk-lynxi.c
> > > > +++ b/drivers/net/pcs/pcs-mtk-lynxi.c
> > > > @@ -88,6 +88,21 @@ static struct mtk_pcs_lynxi *pcs_to_mtk_pcs_lynxi(struct phylink_pcs *pcs)
> > > >  	return container_of(pcs, struct mtk_pcs_lynxi, pcs);
> > > >  }
> > > >  
> > > > +static unsigned int mtk_pcs_lynxi_inband_caps(struct phylink_pcs *pcs,
> > > > +					      phy_interface_t interface)
> > > > +{
> > > > +	switch (interface) {
> > > > +	case PHY_INTERFACE_MODE_1000BASEX:
> > > > +	case PHY_INTERFACE_MODE_2500BASEX:
> > > > +	case PHY_INTERFACE_MODE_SGMII:
> > > > +	case PHY_INTERFACE_MODE_QSGMII:
> > > 
> > > QSGMII is not supported by this PCS.
> > 
> > Well...
> > - lynx_pcs_get_state(), lynx_pcs_config(), and lynx_pcs_link_up()
> >   include QSGMII in their case statements.
> > - lynx_pcs_config_giga() refers to QSGMII in a comment, grouping it
> >   with SGMII configuration.
> 
> These functions are in pcs-lynx.c and not in pcs-mtk-lynxi.c.
> There is no reference to QSGMII anywhere in pcs-mtk-lynxi.c, what made
> you assume it would be supported?
> 
> > 
> > I think if the hardware doesn't support QSGMII, these references to it
> > should be removed?
> > 
> > I also think that adding a .pcs_validate() method would be a good idea
> > to reject interface modes that the PCS does not support.
> 
> I can add the pcs_validate function and send the patch doing that to be
> included in net-next.

With the addition of the supported_interfaces bitmap, there's no point
if all the validation function is doing is checking the interfaces.

The supported_interfaces bitmap takes over that in core phylink code
(and if a MAC supplies a PCS for an interface that is in the MAC's
supported_interfaces bitmap but does not have the interface bit set in
the PCS's supported_interfaces, phylink will produce a kernel message
at error severity before .pcs_validate is called.

At a point in the near future, I will be making the PCS
supported_interfaces mandatory - but in the mean time this patch set
makes it optional.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!


  reply	other threads:[~2025-01-03 10:57 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-05  9:42 [PATCH net-next 0/3] net: net: add negotiation of in-band capabilities (remainder) Russell King (Oracle)
2024-12-05  9:42 ` [PATCH net-next 1/3] net: pcs: pcs-lynx: implement pcs_inband_caps() method Russell King (Oracle)
2025-04-18  3:02   ` [REGRESSION] net: pcs-lynx: 10G SFP no longer links up Mathew McBride
2025-04-22 16:03     ` Russell King (Oracle)
2025-04-23  9:01       ` Mathew McBride
2025-07-10  5:29         ` Mathew McBride
2025-08-12 12:17           ` Thorsten Leemhuis
2025-08-12 16:42             ` Russell King (Oracle)
2025-08-15 10:18               ` Russell King (Oracle)
2025-08-18  9:59               ` Mathew McBride
2025-07-13 15:02   ` [PATCH net-next 1/3] net: pcs: pcs-lynx: implement pcs_inband_caps() method Josua Mayer
2024-12-05  9:42 ` [PATCH net-next 2/3] net: pcs: pcs-mtk-lynxi: " Russell King (Oracle)
2024-12-08  3:01   ` Daniel Golle
2024-12-08  9:13     ` Russell King (Oracle)
2025-01-02 12:26       ` Daniel Golle
2025-01-03 10:55         ` Russell King (Oracle) [this message]
2024-12-17  7:49   ` Eric Woudstra
2025-01-02  8:59     ` Russell King (Oracle)
2025-01-02 12:32       ` Daniel Golle
2024-12-05  9:42 ` [PATCH net-next 3/3] net: pcs: xpcs: " Russell King (Oracle)
2024-12-08  2:00 ` [PATCH net-next 0/3] net: net: add negotiation of in-band capabilities (remainder) patchwork-bot+netdevbpf

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=Z3fCEnQvmgXaOGB7@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew@lunn.ch \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=daniel@makrotopia.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hkallweit1@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=lynxis@fe80.eu \
    --cc=matthias.bgg@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.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.