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? > > 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. > Tricky part may be the differentiation between system- and runtime- suspend. IIRC the MDIO bus doesn't have runtime pm ops (yet) and most likely we would have to add them.
> Andrew >