• Marcin Wojtas's avatar
    net: mvpp2: Enable proper PHY polling and fix port functionality · 08a23755
    Marcin Wojtas authored
    Currently, the network interfaces that are not configured by the bootloader
    (using e.g. tftp or ping) can detect the link status but are unable to
    transmit data.
    
    The network controller has a functionality that allows the hardware to
    continuously poll the PHY and directly update the MAC configuration accordingly
    (speed, duplex, etc.). However, this doesn't work well with phylib's
    software-based polling and updating MAC configuration in the driver's callback.
    
    This commit fixes this issue by:
    
      1. Setting MVPP2_PHY_AN_STOP_SMI0_MASK in MVPP2_PHY_AN_CFG0_REG in
         mvpp2_init(), which disables the harware polling feature.
    
      2. Disabling MVPP2_GMAC_PCS_ENABLE_MASK bit in MVPP2_GMAC_CTRL_2_REG in
         mvpp2_port_mii_set() for port types other than SGMII.
    Signed-off-by: default avatarMarcin Wojtas <mw@semihalf.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    08a23755
mvpp2.c 177 KB