From: Alex Marginean Date: Thu, 14 Nov 2019 16:58:46 +0000 (+0200) Subject: drivers: net: fsl_enetc: move PCS and PHY config to probe X-Git-Tag: v2020.01-rc5~8^2~10 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a931f78307300070e3a6cb95958f7dcc5fce3bb6;p=oweals%2Fu-boot.git drivers: net: fsl_enetc: move PCS and PHY config to probe This reduces the time needed to establish a link as we don't reset the link each time the interface is used. Our Link capabilities do not change at run-time so there is no need to re-apply PHY configuration each time. Signed-off-by: Alex Marginean Acked-by: Joe Hershberger --- diff --git a/drivers/net/fsl_enetc.c b/drivers/net/fsl_enetc.c index 64dc244da2..e86f3dddb5 100644 --- a/drivers/net/fsl_enetc.c +++ b/drivers/net/fsl_enetc.c @@ -190,12 +190,6 @@ static void enetc_start_pcs(struct udevice *dev) case PHY_INTERFACE_MODE_SGMII_2500: enetc_init_sgmii(dev); break; - case PHY_INTERFACE_MODE_RGMII: - case PHY_INTERFACE_MODE_RGMII_ID: - case PHY_INTERFACE_MODE_RGMII_RXID: - case PHY_INTERFACE_MODE_RGMII_TXID: - enetc_init_rgmii(dev); - break; case PHY_INTERFACE_MODE_XGMII: case PHY_INTERFACE_MODE_USXGMII: case PHY_INTERFACE_MODE_XFI: @@ -258,6 +252,9 @@ static int enetc_probe(struct udevice *dev) dm_pci_clrset_config16(dev, PCI_COMMAND, 0, PCI_COMMAND_MEMORY); + enetc_start_pcs(dev); + enetc_config_phy(dev); + return 0; } @@ -433,8 +430,12 @@ static int enetc_start(struct udevice *dev) enetc_setup_tx_bdr(dev); enetc_setup_rx_bdr(dev); - enetc_start_pcs(dev); - enetc_config_phy(dev); + if (priv->if_type == PHY_INTERFACE_MODE_RGMII || + priv->if_type == PHY_INTERFACE_MODE_RGMII_ID || + priv->if_type == PHY_INTERFACE_MODE_RGMII_RXID || + priv->if_type == PHY_INTERFACE_MODE_RGMII_TXID) + enetc_init_rgmii(dev); + if (priv->phy) phy_startup(priv->phy);