From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Stefan Eichenberger <eichest@gmail.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, robh@kernel.org,
krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
lxu@maxlinear.com, hkallweit1@gmail.com, michael@walle.cc,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 2/2] net: phy: mxl-gpy: add new device tree property to disable SGMII autoneg
Date: Wed, 24 Apr 2024 15:58:00 +0100 [thread overview]
Message-ID: <Zikd+GxuwMRC+5Ae@shell.armlinux.org.uk> (raw)
In-Reply-To: <ZiE156+BPpx/ciL6@shell.armlinux.org.uk>
On Thu, Apr 18, 2024 at 04:01:59PM +0100, Russell King (Oracle) wrote:
> On Wed, Apr 17, 2024 at 09:22:50AM +0200, Stefan Eichenberger wrote:
> > I also checked the datasheet and you are right about the 1000base-X mode
> > and in-band AN. What worked for us so far was to use SGMII mode even for
> > 2.5Gbps and disable in-band AN (which is possible for SGMII). I think
> > this works because as you wrote, the genphy just multiplies the clock by
> > 2.5 and doesn't care if it's 1000base-X or SGMII. With your patches we
> > might even be able to use in-band autonegoation for 10,100 and 1000Mbps
> > and then just disable it for 2.5Gbps. I need to test it, but I have hope
> > that this should work.
>
> There is another way we could address this. If the querying support
> had a means to identify that the endpoint supports bypass mode, we
> could then have phylink identify that, and arrange to program the
> mvpp2 end to be in 1000base-X + x2.5 clock + AN bypass, which would
> mean it wouldn't require the inband 16-bit word to be present.
>
> I haven't fully thought it through yet - for example, I haven't
> considered how we should indicate to the PCS that AN bypass mode
> should be enabled or disabled via the pcs_config() method.
Okay, I've been trying to put more effort into this, but it's been slow
progress (sorry).
My thoughts from a design point of view were that we could just switch
to PHYLINK_PCS_NEG_OUTBAND instead of PHYLINK_PCS_NEG_INBAND_* and
everything at the PCS layer should be able to cope, but this is not the
case, especially with mvneta/mvpp2.
The problem is that mvneta/mvpp2 (and probably more) expect that
1) MLO_AN_INBAND means that the PCS will be using inband, and that
means the link up/down state won't be forced. This basically implies
that only PHYLINK_PCS_NEG_INBAND_* can be used can be used for the
PCS.
2) !MLO_AN_INBAND means that an out-of-band mechanism will be used and
that means that the link needs to be forced (since there's no way
for the hardware to know whether the link should be up or down.)
It's therefore expected that only PHYLINK_PCS_NEG_OUTBAND will be
used for the PCS.
So, attempting to put a resolution of the PHY and PCS abilities into
phylink_pcs_neg_mode() and select the appropriate PHYLINK_PCS_NEG_*
mode alone just doesn't work. Yet... we need to do that in there when
considering whether inband can be enabled or not for non-PHY links.
Basically, it needs a re-think how to solve this...
--
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-04-24 14:58 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-16 12:10 [RFC PATCH 0/2] mxl-gpy: add option to match SGMII speed to the TPI speed Stefan Eichenberger
2024-04-16 12:10 ` [RFC PATCH 1/2] dt-bindings: net: phy: gpy2xx: add sgmii-match-tpi-speed property Stefan Eichenberger
2024-04-16 12:10 ` [RFC PATCH 2/2] net: phy: mxl-gpy: add new device tree property to disable SGMII autoneg Stefan Eichenberger
2024-04-16 13:46 ` Andrew Lunn
2024-04-16 15:43 ` Stefan Eichenberger
2024-04-16 15:48 ` Russell King (Oracle)
2024-04-16 16:00 ` Russell King (Oracle)
2024-04-16 16:02 ` Andrew Lunn
2024-04-16 16:24 ` Russell King (Oracle)
2024-04-16 17:23 ` Stefan Eichenberger
2024-04-16 18:12 ` Russell King (Oracle)
2024-04-17 7:22 ` Stefan Eichenberger
2024-04-18 15:01 ` Russell King (Oracle)
2024-04-24 14:58 ` Russell King (Oracle) [this message]
2024-04-24 15:56 ` Stefan Eichenberger
2024-04-24 18:13 ` Russell King (Oracle)
2024-04-25 11:24 ` Stefan Eichenberger
2024-04-25 14:30 ` Russell King (Oracle)
2024-04-25 15:51 ` Stefan Eichenberger
2024-04-25 16:30 ` Russell King (Oracle)
2024-04-25 17:33 ` Stefan Eichenberger
2024-04-25 20:15 ` Russell King (Oracle)
2024-05-02 13:44 ` Stefan Eichenberger
2024-05-02 14:14 ` Russell King (Oracle)
2024-05-03 16:35 ` Stefan Eichenberger
2024-05-03 22:41 ` Russell King (Oracle)
2024-05-06 12:29 ` Stefan Eichenberger
2024-04-23 13:23 ` Simon Horman
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=Zikd+GxuwMRC+5Ae@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=andrew@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=eichest@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lxu@maxlinear.com \
--cc=michael@walle.cc \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=robh@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;
as well as URLs for NNTP newsgroup(s).