Skip to content

Commit

Permalink
net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered
Browse files Browse the repository at this point in the history
[ Upstream commit 4614792 ]

The CPTS driver registers PTP PHC clock when first netif is going up and
unregister it when all netif are down. Now ethtool will show:
 - PTP PHC clock index 0 after boot until first netif is up;
 - the last assigned PTP PHC clock index even if PTP PHC clock is not
registered any more after all netifs are down.

This patch ensures that -1 is returned by ethtool when PTP PHC clock is not
registered any more.

Fixes: 8a2c9a5 ("net: ethernet: ti: cpts: rework initialization/deinitialization")
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Link: https://lore.kernel.org/r/20201224162405.28032-1-grygorii.strashko@ti.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
grygoriyS authored and gregkh committed Jan 12, 2021
1 parent e4535db commit 44dc29d
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/net/ethernet/ti/cpts.c
Expand Up @@ -599,6 +599,7 @@ void cpts_unregister(struct cpts *cpts)

ptp_clock_unregister(cpts->clock);
cpts->clock = NULL;
cpts->phc_index = -1;

cpts_write32(cpts, 0, int_enable);
cpts_write32(cpts, 0, control);
Expand Down Expand Up @@ -784,6 +785,7 @@ struct cpts *cpts_create(struct device *dev, void __iomem *regs,
cpts->cc.read = cpts_systim_read;
cpts->cc.mask = CLOCKSOURCE_MASK(32);
cpts->info = cpts_info;
cpts->phc_index = -1;

if (n_ext_ts)
cpts->info.n_ext_ts = n_ext_ts;
Expand Down

0 comments on commit 44dc29d

Please sign in to comment.