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

From: Andrew Lunn <[email-masked]>
Date: Tue, 10 Jul 2018 22:52:47 +0200

> > 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?

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.

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