[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <04492fd4-4808-421a-b082-a05503b1d714@linux.dev>
Date: Thu, 6 Nov 2025 11:27:19 +0000
From: Vadim Fedorenko <vadim.fedorenko@...ux.dev>
To: Jiawen Wu <jiawenwu@...stnetic.com>, netdev@...r.kernel.org,
'Andrew Lunn' <andrew+netdev@...n.ch>,
"'David S. Miller'" <davem@...emloft.net>,
'Eric Dumazet' <edumazet@...gle.com>, 'Jakub Kicinski' <kuba@...nel.org>,
'Paolo Abeni' <pabeni@...hat.com>,
'Richard Cochran' <richardcochran@...il.com>,
'Simon Horman' <horms@...nel.org>, 'Jacob Keller' <jacob.e.keller@...el.com>
Cc: 'Mengyuan Lou' <mengyuanlou@...-swift.com>, stable@...r.kernel.org
Subject: Re: [PATCH net] net: txgbe: remove wx_ptp_init() in device reset flow
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: stable@...r.kernel.org
>>> Signed-off-by: Jiawen Wu <jiawenwu@...stnetic.com>
>>> ---
>>> 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);
>>> }
>>>
>
>
Powered by blists - more mailing lists