Commit bba18318 authored by Maxime Chevallier's avatar Maxime Chevallier Committed by David S. Miller
Browse files

net: mvpp2: Don't check for 3 consecutive Idle frames for 10G links



PPv2's XLGMAC can wait for 3 idle frames before triggering a link up
event. This can cause the link to be stuck low when there's traffic on
the interface, so disable this feature.

Fixes: 4bb04326 ("net: mvpp2: phylink support")
Signed-off-by: default avatarMaxime Chevallier <maxime.chevallier@bootlin.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 12185dfe
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -4739,9 +4739,9 @@ static void mvpp2_xlg_config(struct mvpp2_port *port, unsigned int mode,
	else
		ctrl0 &= ~MVPP22_XLG_CTRL0_RX_FLOW_CTRL_EN;

	ctrl4 &= ~MVPP22_XLG_CTRL4_MACMODSELECT_GMAC;
	ctrl4 |= MVPP22_XLG_CTRL4_FWD_FC | MVPP22_XLG_CTRL4_FWD_PFC |
		 MVPP22_XLG_CTRL4_EN_IDLE_CHECK;
	ctrl4 &= ~(MVPP22_XLG_CTRL4_MACMODSELECT_GMAC |
		   MVPP22_XLG_CTRL4_EN_IDLE_CHECK);
	ctrl4 |= MVPP22_XLG_CTRL4_FWD_FC | MVPP22_XLG_CTRL4_FWD_PFC;

	if (old_ctrl0 != ctrl0)
		writel(ctrl0, port->base + MVPP22_XLG_CTRL0_REG);