[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161014040641.GE5822@lunn.ch>
Date: Fri, 14 Oct 2016 06:06:41 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Timur Tabi <timur@...eaurora.org>
Cc: netdev@...r.kernel.org
Subject: Re: Need help with mdiobus_register and phy
On Thu, Oct 13, 2016 at 06:15:39PM -0500, Timur Tabi wrote:
> I need help with a program I've discovered with my driver
> (ethernet/qualcomm/emac/) that occurs in the following process:
>
> 1. Load the driver
> 1a. Driver calls mdiobus_register (see emac_phy_config), which calls
> mdiobus_scan(), which calls get_phy_device()
> 1b. get_phy_device() performs MDIO bus operations, which means the
> bus and the external phy need to be active.
> 2. Bring up the interface
> 3. Bring down the interface. This calls phy_disconnect() which
> calls phy_detach() which calls phy_suspend(). This puts the
> external phy to sleep.
> 4. Unload the driver
> 5. Re-load the driver.
> 5a. Driver calls mdiobus_register again, but this time the call to
> get_phy_device() fails because the external phy is asleep and does
> not respond to MDIO transactions.
Hi Timur
Normally, a sleeping PHY does respond to MDIO. Otherwise, how do you
wake it?
So i assume this phy has some other means to wake it. What is this
means?
Andrew
Powered by blists - more mailing lists