diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0277-net-phylink-call-mac_an_restart-for-SGMII-QSGMII-inb.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0277-net-phylink-call-mac_an_restart-for-SGMII-QSGMII-inb.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0277-net-phylink-call-mac_an_restart-for-SGMII-QSGMII-inb.patch b/target/linux/layerscape/patches-5.4/701-net-0277-net-phylink-call-mac_an_restart-for-SGMII-QSGMII-inb.patch new file mode 100644 index 0000000000..487a520f32 --- /dev/null +++ b/target/linux/layerscape/patches-5.4/701-net-0277-net-phylink-call-mac_an_restart-for-SGMII-QSGMII-inb.patch @@ -0,0 +1,29 @@ +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); + } + |