• R
    net: marvell: mvpp2: fix stuck in-band SGMII negotiation · a78aae93
    Russell King 提交于
    [ Upstream commit 316734fdcf70900a83065360cff11a5826919067 ]
    
    It appears that the mvpp22 can get stuck with SGMII negotiation.  The
    symptoms are that in-band negotiation never completes and the partner
    (eg, PHY) never reports SGMII link up, or if it supports negotiation
    bypass, goes into negotiation bypass mode (which will happen when the
    PHY sees that the MAC is alive but gets no response.)
    
    Triggering the PHY end of the link to re-negotiate results in the
    bypass bit clearing on the PHY, and then re-setting - indicating that
    the problem is at the mvpp22 GMAC end.
    
    Asserting the GMAC reset and de-asserting it resolves the issue.
    Arrange to assert the GMAC reset at probe time, and deassert it only
    after we have configured the GMAC for the appropriate mode.  This
    resolves the issue.
    Tested-by: NSven Auhagen <sven.auhagen@voleatech.de>
    Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    a78aae93
mvpp2_main.c 144.0 KB