summaryrefslogtreecommitdiff
path: root/drivers/net/phy/cicada.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2020-02-15 15:50:03 +0000
committerDavid S. Miller <davem@davemloft.net>2020-02-16 19:39:45 -0800
commit97fec51fe79b1332c604473674febbf7b0ab7f51 (patch)
tree94f63c2e2ac3ee4ba1581a4afd12865efac1fb0a /drivers/net/phy/cicada.c
parentf904f15ea9b5c379d58e3c7d85862baf1adf7370 (diff)
net: phylink: improve initial mac configuration
Improve the initial MAC configuration so we get a configuration which more represents the final operating mode, in particular with respect to the flow control settings. We do this by: 1) more fully initialising our phy state, so we can use this as the initial state for PHY based connections. 2) reading the fixed link state. 3) ensuring that in-band mode has sane pause settings for SGMII vs 802.3z negotiation modes. In all three cases, we ensure that state->link is false, just in case any MAC drivers have other ideas by mis-using this member, and we also take account of manual pause mode configuration at this point. This avoids MLO_PAUSE_AN being seen in mac_config() when operating in PHY, fixed mode or inband SGMII mode, thereby giving cleaner semantics to the pause flags. As a result of this, the pause flags now indicate in a mode-independent way what is required from a mac_config() implementation. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/cicada.c')
0 files changed, 0 insertions, 0 deletions