From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Lunn Subject: Re: [PATCH net-next v2 02/10] r8169: use phy_resume/phy_suspend Date: Tue, 10 Jul 2018 22:52:47 +0200 Message-ID: <20180710205247.GI892@lunn.ch> References: <84ac1cb7-bafd-5f15-8cda-e8dfd7d0deb3@gmail.com> <20180710191509.GC11754@lunn.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: David Miller , Florian Fainelli , Realtek linux nic maintainers , "netdev@vger.kernel.org" To: Heiner Kallweit Return-path: Received: from vps0.lunn.ch ([185.16.172.187]:57934 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732263AbeGJUxj (ORCPT ); Tue, 10 Jul 2018 16:53:39 -0400 Content-Disposition: inline In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: > > 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