From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Daniel Golle <daniel@makrotopia.org>
Cc: Andrew Lunn <andrew@lunn.ch>,
netdev@vger.kernel.org, linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
Heiner Kallweit <hkallweit1@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>
Subject: Re: [PATCH net-next 0/8] Improvements for RealTek 2.5G Ethernet PHYs
Date: Thu, 11 May 2023 18:30:57 +0100 [thread overview]
Message-ID: <ZF0mUeKjdvZNG44q@shell.armlinux.org.uk> (raw)
In-Reply-To: <ZF0iiDIZQzR8vMvm@pidgin.makrotopia.org>
On Thu, May 11, 2023 at 07:14:48PM +0200, Daniel Golle wrote:
> On Thu, May 11, 2023 at 02:28:15AM +0200, Andrew Lunn wrote:
> > On Thu, May 11, 2023 at 12:53:22AM +0200, Daniel Golle wrote:
> > > Improve support for RealTek 2.5G Ethernet PHYs (RTL822x series).
> > > The PHYs can operate with Clause-22 and Clause-45 MDIO.
> > >
> > > When using Clause-45 it is desireable to avoid rate-adapter mode and
> > > rather have the MAC interface mode follow the PHY speed. The PHYs
> > > support 2500Base-X for 2500M, and Cisco SGMII for 1000M/100M/10M.
> >
> > I don't see what clause-45 has to do with this. The driver knows that
> > both C22 and C45 addresses spaces exists in the hardware. It can do
> > reads/writes on both. If the bus master does not support C45, C45 over
> > C22 will be performed by the core.
>
> My understanding is/was that switching the SerDes interface mode is only
> intended with Clause-45 PHYs, derived from this comment and code:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/phy/phylink.c#n1661
It's only because:
1) Clause 22 PHYs haven't done this.
2) There is currently no way to know what set of interfaces a PHY would
make use of - and that affects what ethtool linkmodes are possible.
What you point to is nothing more than a hack to make Clause 45 PHYs
work with the code that we currently have.
To sort this properly, we need PHY drivers to tell phylink what
interfaces they are going to switch between once they have been
attached to the network interface. This is what these patches in my
net-queue branch are doing:
net: phy: add possible interfaces
net: phy: marvell10g: fill in possible_interfaces
net: phy: bcm84881: fill in possible_interfaces
net: phylink: split out PHY validation from phylink_bringup_phy()
net: phylink: validate only used interfaces for c45 PHYs
Why only C45 PHYs again? Because the two PHY drivers that I've added
support for "possible_interfaces" to are both C45. There's no reason
we can't make that work for C22 PHYs as well.
We could probably make it work for C22 PHYs out of the box by setting
the appropriate bit for the supplied interface in "possible_interfaces"
inside phy_attach_direct() after the call to phy_init_hw() if
"possible_interfaces" is still empty, which means that if a PHY driver
isn't updated to setup "possible_interfaces" then we get basically
whatever interface mode we're attaching with there.
There may be a problem if phy_attach_direct() gets called with
PHY_INTERFACE_MODE_NA (which I believe is possible with DSA.)
--
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:[~2023-05-11 17:31 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-10 22:53 [PATCH net-next 0/8] Improvements for RealTek 2.5G Ethernet PHYs Daniel Golle
2023-05-10 22:53 ` [PATCH net-next 1/8] net: phy: realtek: rtl8221: allow to configure SERDES mode Alexander Couzens
2023-05-10 22:56 ` [PATCH " Daniel Golle
2023-05-11 0:34 ` Andrew Lunn
2023-05-11 0:38 ` Andrew Lunn
2023-05-11 11:50 ` Daniel Golle
2023-05-11 0:41 ` Andrew Lunn
2023-05-11 11:53 ` Daniel Golle
2023-05-11 7:53 ` [PATCH net-next " Steen Hegelund
2023-05-10 22:54 ` [PATCH net-next 2/8] net: phy: realtek: switch interface mode for RTL822x series Chukun Pan
2023-05-10 22:57 ` Daniel Golle
2023-05-10 22:55 ` [PATCH net-next 3/8] net: phy: realtek: use genphy_soft_reset for 2.5G PHYs Daniel Golle
2023-05-10 22:57 ` Daniel Golle
2023-05-10 22:58 ` [PATCH net-next 4/8] net: phy: realtek: disable SGMII in-band AN " Daniel Golle
2023-05-10 22:58 ` [PATCH net-next 5/8] net: phy: realtek: make sure paged read is protected by mutex Daniel Golle
2023-05-10 22:59 ` [PATCH net-next 6/8] net: phy: realtek: use inline functions for 10GbE advertisement Daniel Golle
2023-05-10 22:59 ` [PATCH net-next 7/8] net: phy: realtek: check validity of 10GbE link-partner advertisement Daniel Golle
2023-05-10 23:00 ` [PATCH net-next 8/8] net: phy: realtek: setup ALDPS on RTL8221B Daniel Golle
2023-05-11 0:28 ` [PATCH net-next 0/8] Improvements for RealTek 2.5G Ethernet PHYs Andrew Lunn
2023-05-11 17:14 ` Daniel Golle
2023-05-11 17:30 ` Russell King (Oracle) [this message]
2023-05-11 18:09 ` Russell King (Oracle)
2023-05-13 17:52 ` Daniel Golle
2023-05-13 19:24 ` Russell King (Oracle)
2023-05-11 5:29 ` Heiner Kallweit
2023-05-11 11:44 ` Daniel Golle
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=ZF0mUeKjdvZNG44q@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-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--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 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).