openwrt/target/linux/layerscape/patches-5.4/701-net-0277-net-phylink-call-mac_an_restart-for-SGMII-QSGMII-inb.patch

30 lines
1.1 KiB
Diff
Raw Normal View History

From d526228a8159d136c914c8f71d5944cda2f93d9a Mon Sep 17 00:00:00 2001
From: Vladimir Oltean <vladimir.oltean@nxp.com>
Date: Thu, 28 Nov 2019 03:21:53 +0200
Subject: [PATCH] net: phylink: call mac_an_restart for SGMII/QSGMII inband
interfaces too
It doesn't quite make sense why restarting the AN process should be
unique to 802.3z (1000Base-X) modes. It is valid to put an SGMII PCS in
in-band AN mode, therefore also make PHYLINK re-trigger an
auto-negotiation if needed.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
---
drivers/net/phy/phylink.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -360,7 +360,9 @@ static void phylink_mac_config_up(struct
static void phylink_mac_an_restart(struct phylink *pl)
{
if (pl->link_config.an_enabled &&
- phy_interface_mode_is_8023z(pl->link_config.interface))
+ (phy_interface_mode_is_8023z(pl->link_config.interface) ||
+ pl->link_config.interface == PHY_INTERFACE_MODE_SGMII ||
+ pl->link_config.interface == PHY_INTERFACE_MODE_QSGMII))
pl->ops->mac_an_restart(pl->config);
}