Subject: Re: [PATCH net] net: txgbe: remove wx_ptp_init() in device reset flow

From: Vadim Fedorenko <[email-masked]>
Date: Thu, 6 Nov 2025 11:27:19 +0000

On 06/11/2025 02:05, Jiawen Wu wrote:
> On Thu, Nov 6, 2025 4:03 AM, Vadim Fedorenko wrote:
>> On 05/11/2025 02:07, Jiawen Wu wrote:
>>> The functions txgbe_up() and txgbe_down() are called in pairs to reset
>>> hardware configurations. PTP stop function is not called in
>>> txgbe_down(), so there is no need to call PTP init function in
>>> txgbe_up().
>>>
>>
>> txgbe_reset() is called during txgbe_down(), and it calls
>> wx_ptp_reset(), which I believe is the reason for wx_ptp_init() call
> 
> wx_ptp_reset() just reset the hardware bits, but does not destroy the PTP clock.
> wx_ptp_init() should be called after wx_ptp_stop() has been called.

wx_ptp_init()/wx_ptp_reset() recalculate shift/mul configuration based
on link speed. link down/link up sequence may bring new link speed,
where these values have to reconfigured, right? I kinda agree
that full procedure of wx_ptp_init() might not be needed, but we have to
be sure not to reuse old ptp configuration.

> 
>>
>>> Fixes: 06e75161b9d4 ("net: wangxun: Add support for PTP clock")
>>> Cc: [email-masked]
>>> Signed-off-by: Jiawen Wu <[email-masked]>
>>> ---
>>>    drivers/net/ethernet/wangxun/txgbe/txgbe_main.c | 1 -
>>>    1 file changed, 1 deletion(-)
>>>
>>> diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c b/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
>>> index daa761e48f9d..114d6f46139b 100644
>>> --- a/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
>>> +++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
>>> @@ -297,7 +297,6 @@ void txgbe_down(struct wx *wx)
>>>    void txgbe_up(struct wx *wx)
>>>    {
>>>    	wx_configure(wx);
>>> -	wx_ptp_init(wx);
>>>    	txgbe_up_complete(wx);
>>>    }
>>>
>   
>