Subject: Re: [PATCH net-next v2 02/10] r8169: use phy_resume/phy_suspend

From: Heiner Kallweit <[email-masked]>
Date: Tue, 10 Jul 2018 23:42:50 +0200

On 10.07.2018 22:52, Andrew Lunn wrote:
>>> Why is it powered up, but not connected? Is it powered down before it
>>> is disconnected? Is it the bootloader which is powering it up?
>>>
>> Exactly, if the device is active when driver is loaded and the
>> interface isn't used and therefore not brought up, then, when runtime-
>> suspending, we face this situation.
> 
> Well, it is more complex than that. If the interface is not used, why
> bother even loading the MAC driver?
> 
It would be nice to be able to detect at driver load time whether
interface is used. But driver loading is based on existence of the
PCI device and we don't know about any netctl- or whatever-based
network configuration.

> If you are trying to make a really low power system, the bootloader
> also needs to be involved. It needs to shut down anything it starts
> before handing over control the linux.
> 
I agree but in most cases wed don't have any influence on the
bootloader / BIOS.

> Another approach is to handle this in phylib. When the mdio bus is
> suspended, look for any PHYs which are not connected and power them
> down. The assumption being, any MAC driver using WoL via a PHY does
> not disconnect the PHY before suspending.
> 
>     Andrew
>