[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b5a60753-85ed-4d61-a652-568393e0dff3@linux.alibaba.com>
Date: Wed, 14 Jan 2026 17:13:04 +0800
From: Wen Gu <guwen@...ux.alibaba.com>
To: Vadim Fedorenko <vadim.fedorenko@...ux.dev>, Andrew Lunn
<andrew@...n.ch>, Sven Schnelle <svens@...ux.ibm.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Richard Cochran <richardcochran@...il.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>, Jakub Kicinski <kuba@...nel.org>,
Dust Li <dust.li@...ux.alibaba.com>, Xuan Zhuo <xuanzhuo@...ux.alibaba.com>,
Andrew Lunn <andrew+netdev@...n.ch>, David Woodhouse <dwmw2@...radead.org>,
virtualization@...ts.linux.dev, Nick Shi <nick.shi@...adcom.com>,
Paolo Abeni <pabeni@...hat.com>, linux-clk@...r.kernel.org
Subject: Re: [RFC] Defining a home/maintenance model for non-NIC PHC devices
using the /dev/ptpX API
On 2026/1/12 22:52, Vadim Fedorenko wrote:
> On 12/01/2026 13:24, Andrew Lunn wrote:
>>>> drivers/ptp/core - API as written above
>>>> drivers/ptp/virtual - all PtP drivers somehow emulating a PtP clock
>>>> (like the ptp_s390 driver)
>>>> drivers/ptp/net - all NIC related drivers.
>>>>
>>>
>>>
>>> Well, drivers/ptp/virtual is not really good, because some drivers are
>>> for physical devices exporting PTP interface, but without NIC.
>>
>> If the lack of a NIC is the differentiating property:
>>
>>>> drivers/ptp/net - all NIC related drivers.
>>>> drivers/ptp/netless - all related drivers which are not associated to a NIC.
>>
>> Or
>>
>>>> drivers/ptp/emulating - all drivers emulating a PtP clock
>
> I would go with "emulating" then.
>
>>
>> Andrew
Thank you all for your suggestions.
The drivers under drivers/ptp can be divided into (to my knowledge):
1. Network/1588-oriented clocks, which allow the use of tools like
ptp4l to synchronize the local PHC with an external reference clock
(based on the network or other methods) via the 1588 protocol to
maintain accuracy. Examples include:
- ptp_dte
- ptp_qoriq
- ptp_ines
- ptp_pch
- ptp_idt82p33
- ptp_clockmatrix
- ptp_fc3
- ptp_mock (mock/testing)
- ptp_dfl_tod
- ptp_netc
- ptp_ocp (a special case which provides a grandmaster
clock for a PTP enabled network, generally
serves as the reference clock)
2. Platform/infrastructure/hypervisor-provided clocks. They don't
require calibration by ptp4l based on 1588 and reference clocks,
instead the underlay handle this. Users generally read the time.
They include:
- ptp_kvm
- ptp_vmclock
- ptp_vmw
- ptp_s390
- ptp_cipu (upstreaming)
From this perspective, I agree that "emulating" could be an appropriate
name for the second ones.
And I would like to further group the first ones to "1588", thus
divide drivers/ptp to:
- drivers/ptp/core
- drivers/ptp/1588
- drivers/ptp/emulating
Regards.
Powered by blists - more mailing lists