From: Paolo Abeni <pabeni@redhat.com>
To: Maxime Chevallier <maxime.chevallier@bootlin.com>,
davem@davemloft.net, Andrew Lunn <andrew@lunn.ch>,
Jakub Kicinski <kuba@kernel.org>,
Eric Dumazet <edumazet@google.com>,
Russell King <linux@armlinux.org.uk>,
Heiner Kallweit <hkallweit1@gmail.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
thomas.petazzoni@bootlin.com,
linux-arm-kernel@lists.infradead.org,
"Christophe Leroy" <christophe.leroy@csgroup.eu>,
"Herve Codina" <herve.codina@bootlin.com>,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Vladimir Oltean" <vladimir.oltean@nxp.com>,
"Köry Maincent" <kory.maincent@bootlin.com>,
"Oleksij Rempel" <o.rempel@pengutronix.de>,
"Simon Horman" <horms@kernel.org>,
"Romain Gantois" <romain.gantois@bootlin.com>
Subject: Re: [PATCH net-next v4 02/13] net: phy: Use an internal, searchable storage for the linkmodes
Date: Thu, 6 Mar 2025 09:30:11 +0100 [thread overview]
Message-ID: <738bd67c-8688-4902-805f-4e35e6aaed4a@redhat.com> (raw)
In-Reply-To: <20250303090321.805785-3-maxime.chevallier@bootlin.com>
On 3/3/25 10:03 AM, Maxime Chevallier wrote:
[...]
> +static int speed_duplex_to_capa(int speed, unsigned int duplex)
> +{
> + if (duplex == DUPLEX_UNKNOWN ||
> + (speed > SPEED_1000 && duplex != DUPLEX_FULL))
> + return -EINVAL;
> +
> + switch (speed) {
> + case SPEED_10: return duplex == DUPLEX_FULL ?
> + LINK_CAPA_10FD : LINK_CAPA_10HD;
> + case SPEED_100: return duplex == DUPLEX_FULL ?
> + LINK_CAPA_100FD : LINK_CAPA_100HD;
> + case SPEED_1000: return duplex == DUPLEX_FULL ?
> + LINK_CAPA_1000FD : LINK_CAPA_1000HD;
> + case SPEED_2500: return LINK_CAPA_2500FD;
> + case SPEED_5000: return LINK_CAPA_5000FD;
> + case SPEED_10000: return LINK_CAPA_10000FD;
> + case SPEED_20000: return LINK_CAPA_20000FD;
> + case SPEED_25000: return LINK_CAPA_25000FD;
> + case SPEED_40000: return LINK_CAPA_40000FD;
> + case SPEED_50000: return LINK_CAPA_50000FD;
> + case SPEED_56000: return LINK_CAPA_56000FD;
> + case SPEED_100000: return LINK_CAPA_100000FD;
> + case SPEED_200000: return LINK_CAPA_200000FD;
> + case SPEED_400000: return LINK_CAPA_400000FD;
> + case SPEED_800000: return LINK_CAPA_800000FD;
> + }
> +
What about adding some code here to help future patch updating LINK_CAPA
definition as needed?
Something alike:
pr_err_once("Unknown speed %d, please update LINK_CAPS\n", speed);
> + return -EINVAL;
> +}
> +
> +/**
> + * phy_caps_init() - Initializes the link_caps array from the link_mode_params.
> + */
> +void phy_caps_init(void)
> +{
> + const struct link_mode_info *linkmode;
> + int i, capa;
> +
> + /* Fill the caps array from net/ethtool/common.c */
> + for (i = 0; i < __ETHTOOL_LINK_MODE_MASK_NBITS; i++) {
> + linkmode = &link_mode_params[i];
> + capa = speed_duplex_to_capa(linkmode->speed, linkmode->duplex);
> +
> + if (capa < 0)
> + continue;
Or even error-out here.
/P
next prev parent reply other threads:[~2025-03-06 8:32 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-03 9:03 [PATCH net-next v4 00/13] net: phy: Rework linkmodes handling in a dedicated file Maxime Chevallier
2025-03-03 9:03 ` [PATCH net-next v4 01/13] net: ethtool: Export the link_mode_params definitions Maxime Chevallier
2025-03-03 9:03 ` [PATCH net-next v4 02/13] net: phy: Use an internal, searchable storage for the linkmodes Maxime Chevallier
2025-03-06 8:30 ` Paolo Abeni [this message]
2025-03-06 8:57 ` Maxime Chevallier
2025-03-06 10:47 ` Paolo Abeni
2025-03-03 9:03 ` [PATCH net-next v4 03/13] net: phy: phy_caps: Move phy_speeds to phy_caps Maxime Chevallier
2025-03-03 9:03 ` [PATCH net-next v4 04/13] net: phy: phy_caps: Move __set_linkmode_max_speed " Maxime Chevallier
2025-03-03 9:03 ` [PATCH net-next v4 05/13] net: phy: phy_caps: Introduce phy_caps_valid Maxime Chevallier
2025-03-03 9:03 ` [PATCH net-next v4 06/13] net: phy: phy_caps: Implement link_capabilities lookup by linkmode Maxime Chevallier
2025-03-03 9:03 ` [PATCH net-next v4 07/13] net: phy: phy_caps: Allow looking-up link caps based on speed and duplex Maxime Chevallier
2025-03-03 9:03 ` [PATCH net-next v4 08/13] net: phy: phy_device: Use link_capabilities lookup for PHY aneg config Maxime Chevallier
2025-03-03 9:03 ` [PATCH net-next v4 09/13] net: phylink: Use phy_caps_lookup for fixed-link configuration Maxime Chevallier
2025-03-04 14:43 ` Maxime Chevallier
2025-03-06 12:48 ` Russell King (Oracle)
2025-03-06 8:56 ` Paolo Abeni
2025-03-06 10:12 ` Maxime Chevallier
2025-03-06 12:51 ` Russell King (Oracle)
2025-03-06 13:26 ` Maxime Chevallier
2025-03-03 9:03 ` [PATCH net-next v4 10/13] net: phy: drop phy_settings and the associated lookup helpers Maxime Chevallier
2025-03-03 9:03 ` [PATCH net-next v4 11/13] net: phylink: Add a mapping between MAC_CAPS and LINK_CAPS Maxime Chevallier
2025-03-03 9:03 ` [PATCH net-next v4 12/13] net: phylink: Convert capabilities to linkmodes using phy_caps Maxime Chevallier
2025-03-03 9:03 ` [PATCH net-next v4 13/13] net: phy: phy_caps: Allow getting an phy_interface's capabilities 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=738bd67c-8688-4902-805f-4e35e6aaed4a@redhat.com \
--to=pabeni@redhat.com \
--cc=andrew@lunn.ch \
--cc=christophe.leroy@csgroup.eu \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=herve.codina@bootlin.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=kory.maincent@bootlin.com \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=maxime.chevallier@bootlin.com \
--cc=netdev@vger.kernel.org \
--cc=o.rempel@pengutronix.de \
--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.