[PATCH RFC net-next 00/23] net: phylink managed EEE support
Russell King (Oracle)
linux at armlinux.org.uk
Tue Nov 26 05:01:11 PST 2024
On Tue, Nov 26, 2024 at 12:51:36PM +0000, Russell King (Oracle) wrote:
> Patch 11 adds phylink managed EEE support. Two new MAC APIs are added,
> to enable and disable LPI. The enable method is passed the LPI timer
> setting which it is expected to program into the hardware, and also a
> flag ehther the transmit clock should be stopped.
>
> *** There are open questions here. Eagle eyed reviewers will notice
> pl->config->lpi_interfaces. There are MACs out there which only
> support LPI signalling on a subset of their interface types. Phylib
> doesn't understand this. I'm handling this at the moment by simply
> not activating LPI at the MAC, but that leads to ethtool --show-eee
> suggesting that EEE is active when it isn't.
> *** Should we pass the phy_interface_t to these functions?
> *** Should mac_enable_tx_lpi() be allowed to fail if the MAC doesn't
> support the interface mode?
There is another point to raise here - should we have a "validate_eee"
method in struct phylink_mac_ops so that MAC drivers can validate
settings such as the tx_lpi_timer value can be programmed into the
hardware?
We do have the situation on Marvell platforms where the programmed
value depends on the MAC speed, and is only 8 bit, which makes
validating its value rather difficult - at 1G speeds, it's a
resolution of 1us so we can support up to 255us. At 100M speeds,
it's 10us, supporting up to 2.55ms. This makes it awkward to be able
to validate the set_eee() settings are sane for the hardware. Should
Marvell platforms instead implement a hrtimer above this? That sounds
a bit problematical to manage sanely.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
More information about the linux-arm-kernel
mailing list