[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250207151959.jab2c36oejmdhf3k@skbuf>
Date: Fri, 7 Feb 2025 17:19:59 +0200
From: Vladimir Oltean <olteanv@...il.com>
To: "Russell King (Oracle)" <rmk+kernel@...linux.org.uk>
Cc: Andrew Lunn <andrew@...n.ch>, Heiner Kallweit <hkallweit1@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
"Chester A. Unal" <chester.a.unal@...nc9.com>,
Daniel Golle <daniel@...rotopia.org>,
"David S. Miller" <davem@...emloft.net>,
DENG Qingfang <dqfext@...il.com>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org,
Matthias Brugger <matthias.bgg@...il.com>, netdev@...r.kernel.org,
Paolo Abeni <pabeni@...hat.com>, Sean Wang <sean.wang@...iatek.com>,
Simon Horman <horms@...nel.org>
Subject: Re: [PATCH net-next v2 2/3] net: dsa: allow use of phylink managed
EEE support
On Fri, Feb 07, 2025 at 01:09:38PM +0000, Russell King (Oracle) wrote:
> In order to allow DSA drivers to use phylink managed EEE, changes are
> necessary to the DSA .set_eee() and .get_eee() methods. Where drivers
> make use of phylink managed EEE, these should just pass the method on
> to their phylink implementation without calling the DSA specific
> operations.
>
> Signed-off-by: Russell King (Oracle) <rmk+kernel@...linux.org.uk>
> ---
> net/dsa/user.c | 21 +++++++++++++--------
> 1 file changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/net/dsa/user.c b/net/dsa/user.c
> index 291ab1b4acc4..2e0a51c1b750 100644
> --- a/net/dsa/user.c
> +++ b/net/dsa/user.c
> @@ -1243,16 +1243,21 @@ static int dsa_user_set_eee(struct net_device *dev, struct ethtool_keee *e)
> if (!ds->ops->support_eee || !ds->ops->support_eee(ds, dp->index))
> return -EOPNOTSUPP;
>
> - /* Port's PHY and MAC both need to be EEE capable */
> - if (!dev->phydev)
> - return -ENODEV;
> + /* If the port is using phylink managed EEE, then get_mac_eee is
> + * unnecessary.
You thanked me for spotting that this should have been set_mac_eee() in
the comment, but you didn't update it.
https://lore.kernel.org/netdev/Z4bC77mwoeypDAdH@shell.armlinux.org.uk/
> + */
> + if (!phylink_mac_implements_lpi(ds->phylink_mac_ops)) {
> + /* Port's PHY and MAC both need to be EEE capable */
> + if (!dev->phydev)
> + return -ENODEV;
>
> - if (!ds->ops->set_mac_eee)
> - return -EOPNOTSUPP;
> + if (!ds->ops->set_mac_eee)
> + return -EOPNOTSUPP;
>
> - ret = ds->ops->set_mac_eee(ds, dp->index, e);
> - if (ret)
> - return ret;
> + ret = ds->ops->set_mac_eee(ds, dp->index, e);
> + if (ret)
> + return ret;
> + }
>
> return phylink_ethtool_set_eee(dp->pl, e);
> }
> --
> 2.30.2
>
Powered by blists - more mailing lists