lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <r247bmekxv2de7owpoam6kkscel25ugnneebzwsrv3j7u3lud7@ppuwdzwl4zi5> Date: Sun, 10 Dec 2023 13:48:12 +0000 From: Alvin Šipraga <ALSI@...g-olufsen.dk> To: Vladimir Oltean <vladimir.oltean@....com> CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Andrew Lunn <andrew@...n.ch>, Florian Fainelli <f.fainelli@...il.com>, Luiz Angelo Daros de Luca <luizluca@...il.com>, Madhuri Sripada <madhuri.sripada@...rochip.com>, Marcin Wojtas <mw@...ihalf.com>, Linus Walleij <linus.walleij@...aro.org>, Tobias Waldekranz <tobias@...dekranz.com>, Arun Ramadoss <arun.ramadoss@...rochip.com>, "Russell King (Oracle)" <rmk+kernel@...linux.org.uk>, Jonathan Corbet <corbet@....net> Subject: Re: [PATCH net 3/4] docs: net: dsa: update user MDIO bus documentation On Fri, Dec 08, 2023 at 09:35:17PM +0200, Vladimir Oltean wrote: > There are people who are trying to push the ds->user_mii_bus feature > past its sell-by date. I think part of the problem is the fact that the > documentation presents it as this great functionality. > > Adapt it to 2023, where we have phy-handle to render it useless, at > least with OF. > > Signed-off-by: Vladimir Oltean <vladimir.oltean@....com> > --- > Documentation/networking/dsa/dsa.rst | 36 ++++++++++++++++++++++------ > 1 file changed, 29 insertions(+), 7 deletions(-) > > diff --git a/Documentation/networking/dsa/dsa.rst b/Documentation/networking/dsa/dsa.rst > index 676c92136a0e..2cd91358421e 100644 > --- a/Documentation/networking/dsa/dsa.rst > +++ b/Documentation/networking/dsa/dsa.rst > @@ -397,19 +397,41 @@ perspective:: > User MDIO bus > ------------- > > -In order to be able to read to/from a switch PHY built into it, DSA creates an > -user MDIO bus which allows a specific switch driver to divert and intercept > -MDIO reads/writes towards specific PHY addresses. In most MDIO-connected > -switches, these functions would utilize direct or indirect PHY addressing mode > -to return standard MII registers from the switch builtin PHYs, allowing the PHY > -library and/or to return link status, link partner pages, auto-negotiation > -results, etc. > +The framework creates an MDIO bus for user ports (``ds->user_mii_bus``) when > +both methods ``ds->ops->phy_read()`` and ``ds->ops->phy_write()`` are present. > +However, this pointer may also be populated by the switch driver during the > +``ds->ops->setup()`` method, with an MDIO bus managed by the driver. > + > +Its role is to permit user ports to connect to a PHY (usually internal) when > +the more general ``phy-handle`` property is unavailable (either because the > +MDIO bus is missing from the OF description, or because probing uses > +``platform_data``). > + > +In most MDIO-connected switches, these functions would utilize direct or > +indirect PHY addressing mode to return standard MII registers from the switch > +builtin PHYs, allowing the PHY library and/or to return link status, link > +partner pages, auto-negotiation results, etc. > > For Ethernet switches which have both external and internal MDIO buses, the > user MII bus can be utilized to mux/demux MDIO reads and writes towards either > internal or external MDIO devices this switch might be connected to: internal > PHYs, external PHYs, or even external switches. > > +When using OF, the ``ds->user_mii_bus`` can be seen as a legacy feature, rather > +than core functionality. Since 2014, the DSA OF bindings support the > +``phy-handle`` property, which is a universal mechanism to reference a PHY, > +be it internal or external. > + > +New switch drivers are encouraged to require the more universal ``phy-handle`` > +property even for user ports with internal PHYs. This allows device trees to > +interoperate with simpler variants of the drivers such as those from U-Boot, > +which do not have the (redundant) fallback logic for ``ds->user_mii_bus``. Considering this policy, should we not emphasize that ds->user_mii_bus and ds->ops->phy_{read,write}() ought to be left unpopulated by new drivers, with the remark that if a driver wants to set up an MDIO bus, it should store the corresponding struct mii_bus pointer in its own driver private data? Just to make things crystal clear. Regardless I think this is good! Reviewed-by: Alvin Šipraga <alsi@...g-olufsen.dk> > + > +The only use case for ``ds->user_mii_bus`` in new drivers would be for probing > +on non-OF through ``platform_data``. In the distant future where this will be > +possible through software nodes, there will be no need for ``ds->user_mii_bus`` > +in new drivers at all. > + > Data structures > --------------- > > -- > 2.34.1 >
Powered by blists - more mailing lists