diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2020-01-22 10:18:02 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2020-02-17 16:30:10 +0000 |
commit | f766394ca1b193ae2d7853e5ae2e318fd8d1e68e (patch) | |
tree | 4f5848e7daab7b4999aa189a3cbe740f63ef6782 /usr | |
parent | ebbb426eae2b019fb49c2b7dd7fac5d84f66f8e5 (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>
Diffstat (limited to 'usr')
0 files changed, 0 insertions, 0 deletions