On Wed, Jun 26, 2019 at 02:13:25AM +0300, Vladimir Oltean wrote: > On Wed, 26 Jun 2019 at 02:10, Vladimir Oltean <olte...@gmail.com> wrote: > > > > On Wed, 26 Jun 2019 at 01:58, Russell King - ARM Linux admin > > <li...@armlinux.org.uk> wrote: > > > > > > On Wed, Jun 26, 2019 at 01:14:59AM +0300, Vladimir Oltean wrote: > > > > On Wed, 26 Jun 2019 at 00:53, Russell King - ARM Linux admin > > > > <li...@armlinux.org.uk> wrote: > > > > > > > > > > On Tue, Jun 25, 2019 at 11:24:01PM +0300, Vladimir Oltean wrote: > > > > > > Hi Russell, > > > > > > > > > > > > On 6/24/19 6:39 PM, Russell King - ARM Linux admin wrote: > > > > > > > This should be removed - state->link is not for use in mac_config. > > > > > > > Even in fixed mode, the link can be brought up/down by means of a > > > > > > > gpio, and this should be dealt with via the mac_link_* functions. > > > > > > > > > > > > > > > > > > > What do you mean exactly that state->link is not for use, is that > > > > > > true in > > > > > > general? > > > > > > > > > > Yes. mac_config() should not touch it; it is not always in a defined > > > > > state. For example, if you set modes via ethtool (the > > > > > ethtool_ksettings_set API) then state->link will probably contain > > > > > zero irrespective of the true link state. > > > > > > > > > > > > > Experimentally, state->link is zero at the same time as state->speed > > > > is -1, so just ignoring !state->link made sense. This is not in-band > > > > AN. What is your suggestion? Should I proceed to try and configure the > > > > MAC for SPEED_UNKNOWN? > > > > > > What would you have done with a PHY when the link is down, what speed > > > would you have configured in the phylib adjust_link callback? phylib > > > also sets SPEED_UNKNOWN/DUPLEX_UNKNOWN when the link is down. > > > > > > > With phylib, I'd make the driver ignore the speed and do nothing. > > With phylink, I'd make the core not call mac_config. > > But what happened is I saw phylink call mac_config anyway, said > > 'weird' and proceeded to ignore it as I would have for phylib. > > I'm just not understanding your position - it seems like you're > > implying there's a bug in phylink and the function call with > > MLO_AN_FIXED, state->link=0 and state->speed=-1 should not have taken > > I meant MLO_AN_PHY, sorry.
The MAC could go into a low power mode. Andrew