• Vladimir Oltean's avatar
    net: dsa: felix: clarify the intention of writes to MII_BMCR · 3f2628d6
    Vladimir Oltean authored
    The driver appears to write to BMCR_SPEED and BMCR_DUPLEX, fields which
    are read-only, since they are actually configured through the
    vendor-specific IF_MODE (0x14) register.
    
    But the reason we're writing back the read-only values of MII_BMCR is to
    alter these writable fields:
    
    BMCR_RESET
    BMCR_LOOPBACK
    BMCR_ANENABLE
    BMCR_PDOWN
    BMCR_ISOLATE
    BMCR_ANRESTART
    
    In particular, the only field which is really relevant to this driver is
    BMCR_ANENABLE. Clarify that intention by spelling it out, using
    phy_set_bits and phy_clear_bits.
    
    The driver also made a few writes to BMCR_RESET and BMCR_ANRESTART which
    are unnecessary and may temporarily disrupt the link to the PHY. Remove
    them.
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    3f2628d6
felix_vsc9959.c 43.8 KB