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
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>
  • Loading branch information
grygoriyS authored and kuba-moo committed Dec 28, 2020
1 parent 5ff3fda commit 4614792
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/net/ethernet/ti/cpts.c
Original file line number Diff line number Diff line change
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 4614792

Please sign in to comment.