mirror of
https://github.com/torvalds/linux.git
synced 2026-05-05 23:05:25 -04:00
net: stmmac: add stmmac_setup_ptp()
Add a function to setup PTP, which will enable the clock, initialise the timestamping, and register with the PTP clock subsystem. Call this when we want to register the PTP clock in stmmac_hw_setup(), otherwise just call the Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
b09f58ddc6
commit
84b994ac4e
@@ -820,6 +820,20 @@ static int stmmac_init_timestamping(struct stmmac_priv *priv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void stmmac_setup_ptp(struct stmmac_priv *priv)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = clk_prepare_enable(priv->plat->clk_ptp_ref);
|
||||
if (ret < 0)
|
||||
netdev_warn(priv->dev,
|
||||
"failed to enable PTP reference clock: %pe\n",
|
||||
ERR_PTR(ret));
|
||||
|
||||
if (stmmac_init_timestamping(priv) == 0)
|
||||
stmmac_ptp_register(priv);
|
||||
}
|
||||
|
||||
static void stmmac_release_ptp(struct stmmac_priv *priv)
|
||||
{
|
||||
stmmac_ptp_unregister(priv);
|
||||
@@ -3494,16 +3508,10 @@ static int stmmac_hw_setup(struct net_device *dev, bool ptp_register)
|
||||
|
||||
stmmac_mmc_setup(priv);
|
||||
|
||||
if (ptp_register) {
|
||||
ret = clk_prepare_enable(priv->plat->clk_ptp_ref);
|
||||
if (ret < 0)
|
||||
netdev_warn(priv->dev,
|
||||
"failed to enable PTP reference clock: %pe\n",
|
||||
ERR_PTR(ret));
|
||||
}
|
||||
|
||||
if (stmmac_init_timestamping(priv) == 0 && ptp_register)
|
||||
stmmac_ptp_register(priv);
|
||||
if (ptp_register)
|
||||
stmmac_setup_ptp(priv);
|
||||
else
|
||||
stmmac_init_timestamping(priv);
|
||||
|
||||
if (priv->use_riwt) {
|
||||
u32 queue;
|
||||
|
||||
Reference in New Issue
Block a user