From: Jakub Kicinski <kuba@kernel.org>
To: Maxime Chevallier <maxime.chevallier@bootlin.com>
Cc: davem@davemloft.net, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
thomas.petazzoni@bootlin.com, "Andrew Lunn" <andrew@lunn.ch>,
"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>
Subject: Re: [PATCH net-next v16 02/15] net: ethtool: Introduce ETHTOOL_LINK_MEDIUM_* values
Date: Tue, 18 Nov 2025 19:15:17 -0800 [thread overview]
Message-ID: <20251118191517.1a369dad@kernel.org> (raw)
In-Reply-To: <20251113081418.180557-3-maxime.chevallier@bootlin.com>
On Thu, 13 Nov 2025 09:14:04 +0100 Maxime Chevallier wrote:
> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
> index c2d8b4ec62eb..ad2b5ed9522b 100644
> --- a/include/linux/ethtool.h
> +++ b/include/linux/ethtool.h
> @@ -216,13 +216,26 @@ static inline u8 *ethtool_rxfh_context_key(struct ethtool_rxfh_context *ctx)
> void ethtool_rxfh_context_lost(struct net_device *dev, u32 context_id);
>
> struct link_mode_info {
> - int speed;
> - u8 lanes;
> - u8 duplex;
> + int speed;
> + u8 lanes;
> + u8 min_pairs;
> + u8 pairs;
> + u8 duplex;
> + u16 mediums;
> };
>
> extern const struct link_mode_info link_mode_params[];
>
> +extern const char ethtool_link_medium_names[][ETH_GSTRING_LEN];
> +
> +static inline const char *phy_mediums(enum ethtool_link_medium medium)
> +{
> + if (medium >= __ETHTOOL_LINK_MEDIUM_LAST)
> + return "unknown";
> +
> + return ethtool_link_medium_names[medium];
> +}
Will this function be called by a lot of drivers? Would be great to
find a more suitable place for it, ethtool.h is included by thousands
of objects :(
> /* declare a link mode bitmap */
> #define __ETHTOOL_DECLARE_LINK_MODE_MASK(name) \
> DECLARE_BITMAP(name, __ETHTOOL_LINK_MODE_MASK_NBITS)
> diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
> index 8bd5ea5469d9..6ed235053aed 100644
> --- a/include/uapi/linux/ethtool.h
> +++ b/include/uapi/linux/ethtool.h
> @@ -2587,4 +2587,24 @@ enum phy_upstream {
> PHY_UPSTREAM_PHY,
> };
>
> +enum ethtool_link_medium {
> + ETHTOOL_LINK_MEDIUM_BASET = 0,
> + ETHTOOL_LINK_MEDIUM_BASEK,
> + ETHTOOL_LINK_MEDIUM_BASES,
> + ETHTOOL_LINK_MEDIUM_BASEC,
> + ETHTOOL_LINK_MEDIUM_BASEL,
> + ETHTOOL_LINK_MEDIUM_BASED,
> + ETHTOOL_LINK_MEDIUM_BASEE,
> + ETHTOOL_LINK_MEDIUM_BASEF,
> + ETHTOOL_LINK_MEDIUM_BASEV,
> + ETHTOOL_LINK_MEDIUM_BASEMLD,
> + ETHTOOL_LINK_MEDIUM_NONE,
> +
> + __ETHTOOL_LINK_MEDIUM_LAST,
> +};
Why is this in uAPI? I'd have expected it to either exist in the YAML
spec if there's a new uAPI that needs it, or in kernel headers.
Let's move it out for now to be safe, we can always move it in.
> +#define ETHTOOL_MEDIUM_FIBER_BITS (BIT(ETHTOOL_LINK_MEDIUM_BASES) | \
> + BIT(ETHTOOL_LINK_MEDIUM_BASEL) | \
> + BIT(ETHTOOL_LINK_MEDIUM_BASEF))
Ditto.
next prev parent reply other threads:[~2025-11-19 3:15 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-13 8:14 [PATCH net-next v16 00/15] net: phy: Introduce PHY ports representation Maxime Chevallier
2025-11-13 8:14 ` [PATCH net-next v16 01/15] dt-bindings: net: Introduce the ethernet-connector description Maxime Chevallier
2025-11-13 13:11 ` Andrew Lunn
2025-11-15 12:52 ` Christophe Leroy
2025-11-18 14:50 ` Rob Herring (Arm)
2025-11-13 8:14 ` [PATCH net-next v16 02/15] net: ethtool: Introduce ETHTOOL_LINK_MEDIUM_* values Maxime Chevallier
2025-11-15 12:52 ` Christophe Leroy
2025-11-19 3:15 ` Jakub Kicinski [this message]
2025-11-19 13:29 ` Maxime Chevallier
2025-11-13 8:14 ` [PATCH net-next v16 03/15] net: phy: Introduce PHY ports representation Maxime Chevallier
2025-11-13 13:13 ` Andrew Lunn
2025-11-15 12:53 ` Christophe Leroy
2025-11-19 3:15 ` Jakub Kicinski
2025-11-19 13:30 ` Maxime Chevallier
2025-11-13 8:14 ` [PATCH net-next v16 04/15] net: phy: dp83822: Add support for phy_port representation Maxime Chevallier
2025-11-13 8:14 ` [PATCH net-next v16 05/15] dt-bindings: net: dp83822: Deprecate ti,fiber-mode Maxime Chevallier
2025-11-13 8:14 ` [PATCH net-next v16 06/15] net: phy: Create a phy_port for PHY-driven SFPs Maxime Chevallier
2025-11-15 12:53 ` Christophe Leroy
2025-11-13 8:14 ` [PATCH net-next v16 07/15] net: phy: Introduce generic SFP handling for PHY drivers Maxime Chevallier
2025-11-13 8:14 ` [PATCH net-next v16 08/15] net: phy: marvell-88x2222: Support SFP through phy_port interface Maxime Chevallier
2025-11-13 8:14 ` [PATCH net-next v16 09/15] net: phy: marvell: " Maxime Chevallier
2025-11-13 8:14 ` [PATCH net-next v16 10/15] net: phy: marvell10g: Support SFP through phy_port Maxime Chevallier
2025-11-15 12:53 ` Christophe Leroy
2025-11-13 8:14 ` [PATCH net-next v16 11/15] net: phy: at803x: Support SFP through phy_port interface Maxime Chevallier
2025-11-13 8:14 ` [PATCH net-next v16 12/15] net: phy: qca807x: " Maxime Chevallier
2025-11-13 8:14 ` [PATCH net-next v16 13/15] net: phy: Only rely on phy_port for PHY-driven SFP Maxime Chevallier
2025-11-13 8:14 ` [PATCH net-next v16 14/15] net: phy: dp83822: Add SFP support through the phy_port interface Maxime Chevallier
2025-11-13 8:14 ` [PATCH net-next v16 15/15] Documentation: networking: Document the phy_port infrastructure Maxime Chevallier
2025-11-19 3:17 ` Jakub Kicinski
2025-11-19 13:31 ` Maxime Chevallier
2025-11-15 12:55 ` [PATCH net-next v16 00/15] net: phy: Introduce PHY ports representation Christophe Leroy
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=20251118191517.1a369dad@kernel.org \
--to=kuba@kernel.org \
--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=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=maxime.chevallier@bootlin.com \
--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=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 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.