Thread (7 messages) 7 messages, 4 authors, 2026-01-14

Re: [RFC] Defining a home/maintenance model for non-NIC PHC devices using the /dev/ptpX API

From: Wen Gu <guwen@linux.alibaba.com>
Date: 2026-01-14 09:13:09
Also in: linux-clk, lkml, virtualization


On 2026/1/12 22:52, Vadim Fedorenko wrote:
On 12/01/2026 13:24, Andrew Lunn wrote:
quoted
quoted
quoted
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:
quoted
quoted
drivers/ptp/net     - all NIC related drivers.
drivers/ptp/netless - all related drivers which are not associated to a NIC.
Or
quoted
quoted
drivers/ptp/emulating - all drivers emulating a PtP clock
I would go with "emulating" then.
quoted
    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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help