net: stmmac: move timestamping/ptp init to stmmac_hw_setup() caller

Move the call to stmmac_init_timestamping() or stmmac_setup_ptp() out
of stmmac_hw_setup() to its caller after stmmac_hw_setup() has
successfully completed. This slightly changes the ordering during
setup, but should be safe to do.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
pull/1354/merge
Russell King (Oracle) 2025-09-11 12:10:28 +01:00 committed by Jakub Kicinski
parent 9d5059228c
commit 98d8ea566b
1 changed files with 7 additions and 8 deletions

View File

@ -3436,7 +3436,7 @@ static void stmmac_safety_feat_configuration(struct stmmac_priv *priv)
* 0 on success and an appropriate (-)ve integer as defined in errno.h
* file on failure.
*/
static int stmmac_hw_setup(struct net_device *dev, bool ptp_register)
static int stmmac_hw_setup(struct net_device *dev)
{
struct stmmac_priv *priv = netdev_priv(dev);
u32 rx_cnt = priv->plat->rx_queues_to_use;
@ -3507,11 +3507,6 @@ static int stmmac_hw_setup(struct net_device *dev, bool ptp_register)
stmmac_mmc_setup(priv);
if (ptp_register)
stmmac_setup_ptp(priv);
else
stmmac_init_timestamping(priv);
if (priv->use_riwt) {
u32 queue;
@ -4000,12 +3995,14 @@ static int __stmmac_open(struct net_device *dev,
}
}
ret = stmmac_hw_setup(dev, true);
ret = stmmac_hw_setup(dev);
if (ret < 0) {
netdev_err(priv->dev, "%s: Hw setup failed\n", __func__);
goto init_error;
}
stmmac_setup_ptp(priv);
stmmac_init_coalesce(priv);
phylink_start(priv->phylink);
@ -7917,7 +7914,7 @@ int stmmac_resume(struct device *dev)
stmmac_free_tx_skbufs(priv);
stmmac_clear_descriptors(priv, &priv->dma_conf);
ret = stmmac_hw_setup(ndev, false);
ret = stmmac_hw_setup(ndev);
if (ret < 0) {
netdev_err(priv->dev, "%s: Hw setup failed\n", __func__);
mutex_unlock(&priv->lock);
@ -7925,6 +7922,8 @@ int stmmac_resume(struct device *dev)
return ret;
}
stmmac_init_timestamping(priv);
stmmac_init_coalesce(priv);
phylink_rx_clk_stop_block(priv->phylink);
stmmac_set_rx_mode(ndev);