2020-12-24 16:27:42

by Grygorii Strashko

[permalink] [raw]
Subject: [PATCH net] net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered

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: 8a2c9a5ab4b9 ("net: ethernet: ti: cpts: rework initialization/deinitialization")
Signed-off-by: Grygorii Strashko <[email protected]>
---
drivers/net/ethernet/ti/cpts.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/ti/cpts.c b/drivers/net/ethernet/ti/cpts.c
index d1fc7955d422..43222a34cba0 100644
--- a/drivers/net/ethernet/ti/cpts.c
+++ b/drivers/net/ethernet/ti/cpts.c
@@ -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);
@@ -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;
--
2.17.1


2020-12-24 21:29:47

by Richard Cochran

[permalink] [raw]
Subject: Re: [PATCH net] net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered

On Thu, Dec 24, 2020 at 06:24:05PM +0200, Grygorii Strashko wrote:
> 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: 8a2c9a5ab4b9 ("net: ethernet: ti: cpts: rework initialization/deinitialization")
> Signed-off-by: Grygorii Strashko <[email protected]>

Acked-by: Richard Cochran <[email protected]>

2020-12-29 01:29:05

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH net] net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered

On Thu, 24 Dec 2020 13:21:36 -0800 Richard Cochran wrote:
> On Thu, Dec 24, 2020 at 06:24:05PM +0200, Grygorii Strashko wrote:
> > 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: 8a2c9a5ab4b9 ("net: ethernet: ti: cpts: rework initialization/deinitialization")
> > Signed-off-by: Grygorii Strashko <[email protected]>
>
> Acked-by: Richard Cochran <[email protected]>

Applied, thank you!