[PATCH net-next 09/10] net: stmmac: qcom-ethqos: move SerDes speed configuration
Russell King (Oracle)
rmk+kernel at armlinux.org.uk
Mon Feb 23 01:34:56 PST 2026
Move the SerDes speed configuration to phylink's .mac_finish() stage
so that the SerDes is appropriately configured for the interface mode
prior to the link coming up.
Reviewed-by: Mohd Ayaan Anwar <mohd.anwar at oss.qualcomm.com>
Tested-by: Mohd Ayaan Anwar <mohd.anwar at oss.qualcomm.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel at armlinux.org.uk>
---
.../net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
index cd6d1660bdb2..153f6abc77cd 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
@@ -629,11 +629,6 @@ static void ethqos_configure_sgmii(struct qcom_ethqos *ethqos,
break;
}
- if (interface == PHY_INTERFACE_MODE_SGMII)
- ethqos_set_serdes_speed(ethqos, SPEED_1000);
- else
- ethqos_set_serdes_speed(ethqos, SPEED_2500);
-
ethqos_pcs_set_inband(priv, interface == PHY_INTERFACE_MODE_SGMII);
}
@@ -692,6 +687,11 @@ static int ethqos_mac_finish_serdes(struct net_device *ndev, void *priv,
qcom_ethqos_set_sgmii_loopback(ethqos, false);
+ if (interface == PHY_INTERFACE_MODE_SGMII)
+ ethqos_set_serdes_speed(ethqos, SPEED_1000);
+ else if (interface == PHY_INTERFACE_MODE_2500BASEX)
+ ethqos_set_serdes_speed(ethqos, SPEED_2500);
+
return 0;
}
--
2.47.3
More information about the linux-arm-kernel
mailing list