From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Nicolai Buchwitz <nb@tipi-net.de>
Cc: netdev@vger.kernel.org, andrew+netdev@lunn.ch,
claudiu.beznea@tuxon.dev, davem@davemloft.net,
edumazet@google.com, kuba@kernel.org,
nicolas.ferre@microchip.com, pabeni@redhat.com,
theo.lebrun@bootlin.com, phil@raspberrypi.com
Subject: Re: [PATCH net-next v4 3/4] net: cadence: macb: add ethtool EEE support
Date: Thu, 26 Feb 2026 19:20:30 +0000 [thread overview]
Message-ID: <aaCc_pfAheT9VoUd@shell.armlinux.org.uk> (raw)
In-Reply-To: <20260226090608.54802-4-nb@tipi-net.de>
On Thu, Feb 26, 2026 at 10:06:07AM +0100, Nicolai Buchwitz wrote:
> Implement get_eee and set_eee ethtool ops for GEM, delegating to
> phylink_ethtool_get_eee() and phylink_ethtool_set_eee(). Both
> handlers return -EOPNOTSUPP when MACB_CAPS_EEE is absent, keeping
> the ops safe to register unconditionally in gem_ethtool_ops.
>
> Phylink owns the full EEE lifecycle: PHY advertisement, link
> partner negotiation, timer management and ethtool state; the MAC
> driver only provides the mac_enable_tx_lpi / mac_disable_tx_lpi
> callbacks wired up in the previous patch.
>
> Reviewed-by: Théo Lebrun <theo.lebrun@bootlin.com>
> Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
> ---
> drivers/net/ethernet/cadence/macb_main.c | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
> index 6b9c63195970..a7e00b99e9a8 100644
> --- a/drivers/net/ethernet/cadence/macb_main.c
> +++ b/drivers/net/ethernet/cadence/macb_main.c
> @@ -4034,6 +4034,26 @@ static const struct ethtool_ops macb_ethtool_ops = {
> .set_ringparam = macb_set_ringparam,
> };
>
> +static int macb_get_eee(struct net_device *dev, struct ethtool_keee *eee)
> +{
> + struct macb *bp = netdev_priv(dev);
> +
> + if (!(bp->caps & MACB_CAPS_EEE))
> + return -EOPNOTSUPP;
There's no need for these checks, because phylink implements them
(phylink's implmentation is designed to relieve the driver writer of as
much burden as possible.)
You already tell phylink that you implement LPI support by populating
the two operations in struct phylink_mac_ops. This results in
pl->mac_supports_eee_ops being set true during phylink_create().
However, if you then don't supply both config->lpi_capabilities and
config->lpi_interfaces, then pl->mac_supports_eee will be false. This
will cause both phylink EEE ops to return -EOPNOTSUPP.
As you're already conditionally populating those depending on
MACB_CAPS_EEE, you've done everything already for phylink to return
-EOPNOTSUPP when MACB_CAPS_EEE is not set.
--
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:[~2026-02-26 19:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-26 9:06 [PATCH net-next v4 0/4] net: cadence: macb: add IEEE 802.3az EEE support Nicolai Buchwitz
2026-02-26 9:06 ` [PATCH net-next v4 1/4] net: cadence: macb: add EEE LPI statistics counters Nicolai Buchwitz
2026-02-26 9:06 ` [PATCH net-next v4 2/4] net: cadence: macb: implement EEE TX LPI support Nicolai Buchwitz
2026-02-28 13:33 ` Claudiu Beznea
2026-02-28 13:35 ` Claudiu Beznea
2026-02-26 9:06 ` [PATCH net-next v4 3/4] net: cadence: macb: add ethtool EEE support Nicolai Buchwitz
2026-02-26 19:20 ` Russell King (Oracle) [this message]
2026-02-26 9:06 ` [PATCH net-next v4 4/4] net: cadence: macb: enable EEE for Raspberry Pi RP1 Nicolai Buchwitz
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=aaCc_pfAheT9VoUd@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=andrew+netdev@lunn.ch \
--cc=claudiu.beznea@tuxon.dev \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=nb@tipi-net.de \
--cc=netdev@vger.kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=pabeni@redhat.com \
--cc=phil@raspberrypi.com \
--cc=theo.lebrun@bootlin.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