net: stmmac: qcom-ethqos: move SerDes speed configuration
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@oss.qualcomm.com> Tested-by: Mohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Link: https://patch.msgid.link/E1vuSLA-0000000AScc-3RFf@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski <kuba@kernel.org>master
parent
b8ab32315e
commit
fb42f19e67
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue