• Ivan Bornyakov's avatar
    net: phy: marvell-88x2222: swap 1G/10G modes on autoneg · d7029f55
    Ivan Bornyakov authored
    Setting 10G without autonegotiation is invalid according to
    phy_ethtool_ksettings_set(). Thus, we need to set it during
    autonegotiation.
    
    If 1G autonegotiation can't complete for quite a time, but there is
    signal in line, switch line interface type to 10GBase-R, if supported,
    in hope for link to be established.
    
    And vice versa. If 10GBase-R link can't be established for quite a time,
    and autonegotiation is enabled, and there is signal in line, switch line
    interface type to appropriate 1G mode, i.e. 1000Base-X or SGMII, if
    supported.
    Signed-off-by: default avatarIvan Bornyakov <i.bornyakov@metrotek.ru>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d7029f55
marvell-88x2222.c 15.4 KB