Thread (18 messages) 18 messages, 6 authors, 2021-02-11

Re: [PATCH] net: phy: micrel: reconfigure the phy on resume

flat view

From: Heiner Kallweit <hkallweit1@gmail.com>
Date: 2021-01-14 07:31:30
Also in: lkml

On 13.01.2021 23:01, Russell King - ARM Linux admin wrote:
On Wed, Jan 13, 2021 at 10:34:53PM +0100, Heiner Kallweit wrote:
quoted
On 13.01.2021 13:36, Claudiu.Beznea@microchip.com wrote:
quoted
On 13.01.2021 13:09, Heiner Kallweit wrote:
quoted
On 13.01.2021 10:29, Claudiu.Beznea@microchip.com wrote:
quoted
It could enter in this mode based on request for standby or suspend-to-mem:
echo mem > /sys/power/state
echo standby > /sys/power/state
This is a standard way to enter S2R - I've used it many times in the
past on platforms that support it.
quoted
I'm not a Linux PM expert, to me it seems your use case is somewhere in the
middle between s2r and hibernation. I *think* the assumption with s2r is
that one component shouldn't simply cut the power to another component,
and the kernel has no idea about it.
When entering S2R, power can (and probably will) be cut to all system
components, certainly all components that do not support wakeup. If
the system doesn't support WoL, then that will include the ethernet
PHY.
I'm with you if we talk about a driver's suspend callback cutting power
to the component it controls, or at least putting it to a power-saving
state. However a driver shouldn't have to expect that during S2R somebody
else cuts the power. If this would be the case, then I think we wouldn't
need separate resume and restore pm callbacks in general.
When resuming, the responsibility is of the kernel and each driver's
.resume function to ensure that the hardware state is restored. Only
each device driver that knows the device itself can restore the state
of that device. In the case of an ethernet PHY, that is phylib and
its associated PHY driver.
Also in phylib we have separate functions mdio_bus_phy_resume() and
mdio_bus_phy_restore(), with the first one not fully reconfiguring
the PHY.
One has to be a tad careful with phylib and PHYs compared to their
MAC devices in terms of the resume order - it has not been unheard
of over the years for a MAC device to be resumed before its connected
PHY has been.
Right.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help