mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 22:23:27 +00:00
30 lines
1.1 KiB
Diff
30 lines
1.1 KiB
Diff
|
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);
|
||
|
}
|
||
|
|