[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9f74455e-45ec-495a-bc8e-1c61caab747c@lunn.ch>
Date: Fri, 30 Aug 2024 22:55:10 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Raju Lakkaraju <Raju.Lakkaraju@...rochip.com>
Cc: netdev@...r.kernel.org, davem@...emloft.net, linux@...linux.org.uk,
kuba@...nel.org, hkallweit1@...il.com, richardcochran@...il.com,
rdunlap@...radead.org, Bryan.Whitehead@...rochip.com,
edumazet@...gle.com, pabeni@...hat.com,
linux-kernel@...r.kernel.org, horms@...nel.org,
UNGLinuxDriver@...rochip.com
Subject: Re: [PATCH net-next V4 5/5] net: lan743x: Add support to ethtool
phylink get and set settings
> @@ -3055,6 +3071,10 @@ static void lan743x_phylink_mac_link_up(struct phylink_config *config,
> cap & FLOW_CTRL_TX,
> cap & FLOW_CTRL_RX);
>
> + if (phydev)
> + lan743x_mac_eee_enable(adapter, phydev->enable_tx_lpi &&
> + phydev->eee_enabled);
This is wrong. The documentation says:
/**
* phy_support_eee - Set initial EEE policy configuration
* @phydev: Target phy_device struct
*
* This function configures the initial policy for Energy Efficient Ethernet
* (EEE) on the specified PHY device, influencing that EEE capabilities are
* advertised before the link is established. It should be called during PHY
* registration by the MAC driver and/or the PHY driver (for SmartEEE PHYs)
* if MAC supports LPI or PHY is capable to compensate missing LPI functionality
* of the MAC.
*
* The function sets default EEE policy parameters, including preparing the PHY
* to advertise EEE capabilities based on hardware support.
*
* It also sets the expected configuration for Low Power Idle (LPI) in the MAC
* driver. If the PHY framework determines that both local and remote
* advertisements support EEE, and the negotiated link mode is compatible with
* EEE, it will set enable_tx_lpi = true. The MAC driver is expected to act on
* this setting by enabling the LPI timer if enable_tx_lpi is set.
*/
So you should only be looking at enable_tx_lpi.
Also, do you actually call phy_support_eee() anywhere? I don't see it
in this patch, but maybe it was already there?
Adrew
Powered by blists - more mailing lists