netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
To: davem@davemloft.net
Cc: "Maxime Chevallier" <maxime.chevallier@bootlin.com>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, thomas.petazzoni@bootlin.com,
	"Andrew Lunn" <andrew@lunn.ch>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Eric Dumazet" <edumazet@google.com>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Russell King" <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org,
	"Christophe Leroy" <christophe.leroy@csgroup.eu>,
	"Herve Codina" <herve.codina@bootlin.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Heiner Kallweit" <hkallweit1@gmail.com>,
	"Vladimir Oltean" <vladimir.oltean@nxp.com>,
	"Köry Maincent" <kory.maincent@bootlin.com>,
	"Marek Behún" <kabel@kernel.org>,
	"Oleksij Rempel" <o.rempel@pengutronix.de>,
	"Nicolò Veronese" <nicveronese@gmail.com>,
	"Simon Horman" <horms@kernel.org>,
	mwojtas@chromium.org, "Antoine Tenart" <atenart@kernel.org>,
	devicetree@vger.kernel.org, "Conor Dooley" <conor+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Rob Herring" <robh@kernel.org>,
	"Romain Gantois" <romain.gantois@bootlin.com>,
	"Daniel Golle" <daniel@makrotopia.org>,
	"Dimitri Fedrau" <dimitri.fedrau@liebherr.com>,
	"Sean Anderson" <seanga2@gmail.com>
Subject: [PATCH net-next v4 00/15] Introduce an ethernet port representation
Date: Thu, 13 Feb 2025 11:15:48 +0100	[thread overview]
Message-ID: <20250213101606.1154014-1-maxime.chevallier@bootlin.com> (raw)

Hello everyone,

This is V4 of the series introducing the phy_port infrastructure.

Previous version was incorrectly labeled V1, all previous versions can
be found here :

V3: https://lore.kernel.org/netdev/20250207223634.600218-1-maxime.chevallier@bootlin.com/
RFC V2: https://lore.kernel.org/netdev/20250122174252.82730-1-maxime.chevallier@bootlin.com/
RFC V1: https://lore.kernel.org/netdev/20241220201506.2791940-1-maxime.chevallier@bootlin.com/

The goal of that work is to lay the ground for multi-port devices,
either using multi-port PHY devices, or MII-side multiplexers.

for now, that series only focuses on the PHY device aspect, and includes
no uAPI and no muxing support yet.

The key points from that series are :

 - The introduction of a dedicated object to represent a port
 - The introduciton of a new binding to represent these ports in
   devicetree, to accurately describe multi-port devices
 - The support of ports for PHY devices, including PHY-drivert SFP
   busses through a generic phylib set of upstream ops
 - The MAINTAINERS file was updated to account for the new files
 - Some documentation :)

Changes in V4 :

 - Introduced a kernel doc
 - Reworked the mediums definitions in patch 2
 - QCA807x now uses the generic SFP support
 - Fixed some implementation bugs to build the support list based on the
   interfaces supported on a port

Maxime Chevallier (15):
  net: ethtool: Introduce ETHTOOL_LINK_MEDIUM_* values
  net: ethtool: Export the link_mode_params definitions
  net: phy: Introduce PHY ports representation
  net: phy: dp83822: Add support for phy_port representation
  net: phy: Create a phy_port for PHY-driven SFPs
  net: phy: Introduce generic SFP handling for PHY drivers
  net: phy: marvell-88x2222: Support SFP through phy_port interface
  net: phy: marvell: Support SFP through phy_port interface
  net: phy: marvell10g: Support SFP through phy_port
  net: phy: at803x: Support SFP through phy_port interface
  net: phy: qca807x: Support SFP through phy_port interface
  net: phy: Only rely on phy_port for PHY-driven SFP
  net: phy: dp83822: Add SFP support through the phy_port interface
  Documentation: networking: Document the phy_port infrastructure
  dt-bindings: net: Introduce the phy-port description

 .../devicetree/bindings/net/ethernet-phy.yaml |  18 +
 .../bindings/net/ethernet-port.yaml           |  47 +++
 Documentation/networking/index.rst            |   1 +
 Documentation/networking/phy-port.rst         | 111 +++++++
 MAINTAINERS                                   |   3 +
 drivers/net/phy/Makefile                      |   2 +-
 drivers/net/phy/dp83822.c                     |  71 ++--
 drivers/net/phy/marvell-88x2222.c             |  96 +++---
 drivers/net/phy/marvell.c                     | 100 +++---
 drivers/net/phy/marvell10g.c                  |  37 +--
 drivers/net/phy/phy_device.c                  | 312 +++++++++++++++++-
 drivers/net/phy/phy_port.c                    | 176 ++++++++++
 drivers/net/phy/phylink.c                     |  32 ++
 drivers/net/phy/qcom/at803x.c                 |  64 +---
 drivers/net/phy/qcom/qca807x.c                |  75 ++---
 include/linux/ethtool.h                       |  73 ++++
 include/linux/phy.h                           |  38 ++-
 include/linux/phy_port.h                      |  92 ++++++
 include/linux/phylink.h                       |   2 +
 net/ethtool/common.c                          | 250 ++++++++------
 net/ethtool/common.h                          |   7 -
 21 files changed, 1218 insertions(+), 389 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/ethernet-port.yaml
 create mode 100644 Documentation/networking/phy-port.rst
 create mode 100644 drivers/net/phy/phy_port.c
 create mode 100644 include/linux/phy_port.h

-- 
2.48.1


             reply	other threads:[~2025-02-13 10:16 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-13 10:15 Maxime Chevallier [this message]
2025-02-13 10:15 ` [PATCH net-next v4 01/15] net: ethtool: Introduce ETHTOOL_LINK_MEDIUM_* values Maxime Chevallier
2025-02-13 10:15 ` [PATCH net-next v4 02/15] net: ethtool: Export the link_mode_params definitions Maxime Chevallier
2025-02-13 10:15 ` [PATCH net-next v4 03/15] net: phy: Introduce PHY ports representation Maxime Chevallier
2025-02-13 10:15 ` [PATCH net-next v4 04/15] net: phy: dp83822: Add support for phy_port representation Maxime Chevallier
2025-02-15 11:31   ` AW: " Fedrau Dimitri (LED)
2025-02-17  9:26     ` Maxime Chevallier
2025-02-13 10:15 ` [PATCH net-next v4 05/15] net: phy: Create a phy_port for PHY-driven SFPs Maxime Chevallier
2025-02-15 18:57   ` Russell King (Oracle)
2025-02-17  8:29     ` Maxime Chevallier
2025-02-17 13:43       ` Andrew Lunn
2025-02-17 14:22         ` Maxime Chevallier
2025-02-17 15:29           ` Andrew Lunn
2025-02-17 14:21       ` Russell King (Oracle)
2025-02-17 14:49         ` Maxime Chevallier
2025-02-13 10:15 ` [PATCH net-next v4 06/15] net: phy: Introduce generic SFP handling for PHY drivers Maxime Chevallier
2025-02-13 10:15 ` [PATCH net-next v4 07/15] net: phy: marvell-88x2222: Support SFP through phy_port interface Maxime Chevallier
2025-02-13 10:15 ` [PATCH net-next v4 08/15] net: phy: marvell: " Maxime Chevallier
2025-02-13 10:15 ` [PATCH net-next v4 09/15] net: phy: marvell10g: Support SFP through phy_port Maxime Chevallier
2025-02-13 10:15 ` [PATCH net-next v4 10/15] net: phy: at803x: Support SFP through phy_port interface Maxime Chevallier
2025-02-13 10:15 ` [PATCH net-next v4 11/15] net: phy: qca807x: " Maxime Chevallier
2025-02-13 10:16 ` [PATCH net-next v4 12/15] net: phy: Only rely on phy_port for PHY-driven SFP Maxime Chevallier
2025-02-13 10:16 ` [PATCH net-next v4 13/15] net: phy: dp83822: Add SFP support through the phy_port interface Maxime Chevallier
2025-02-13 10:16 ` [PATCH net-next v4 14/15] Documentation: networking: Document the phy_port infrastructure Maxime Chevallier
2025-02-13 10:16 ` [PATCH net-next v4 15/15] dt-bindings: net: Introduce the phy-port description Maxime Chevallier
2025-02-19 22:35   ` Rob Herring
2025-02-20  8:35     ` Maxime Chevallier
2025-02-15  0:53 ` [PATCH net-next v4 00/15] Introduce an ethernet port representation Jakub Kicinski
2025-02-17  9:20   ` 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=20250213101606.1154014-1-maxime.chevallier@bootlin.com \
    --to=maxime.chevallier@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=atenart@kernel.org \
    --cc=christophe.leroy@csgroup.eu \
    --cc=conor+dt@kernel.org \
    --cc=daniel@makrotopia.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dimitri.fedrau@liebherr.com \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=herve.codina@bootlin.com \
    --cc=hkallweit1@gmail.com \
    --cc=horms@kernel.org \
    --cc=kabel@kernel.org \
    --cc=kory.maincent@bootlin.com \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mwojtas@chromium.org \
    --cc=netdev@vger.kernel.org \
    --cc=nicveronese@gmail.com \
    --cc=o.rempel@pengutronix.de \
    --cc=pabeni@redhat.com \
    --cc=robh@kernel.org \
    --cc=romain.gantois@bootlin.com \
    --cc=seanga2@gmail.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=vladimir.oltean@nxp.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).