Re: [PATCH net-next] ptp: add vclock timestamp conversion IOCTL

From: Randy Dunlap
Date: Mon Sep 27 2021 - 14:28:40 EST

On 9/27/21 2:32 AM, Sebastien Laveze wrote:
From: Seb Laveze <sebastien.laveze@xxxxxxx>

Add an IOCTL to perform per-timestamp conversion, as an extension of the
ptp virtual framework introduced in commit 5d43f951b1ac ("ptp: add ptp
virtual clock driver framework").

The original implementation allows binding a socket to a given virtual
clock to perform the timestamps conversions. Commit 5d43f951b1ac ("ptp:
add ptp virtual clock driver framework").

This binding works well if the application requires all timestamps in the
same domain but is not convenient when multiple domains need to be
supported using a single socket.

Typically, IEEE 802.1AS-2020 can be implemented using a single socket,
the CMLDS layer using raw PHC timestamps and the domain specific
timestamps converted in the appropriate gPTP domain using this IOCTL.

Signed-off-by: Seb Laveze <sebastien.laveze@xxxxxxx>
drivers/ptp/ptp_chardev.c | 24 ++++++++++++++++++++++++
include/uapi/linux/ptp_clock.h | 1 +
2 files changed, 25 insertions(+)

diff --git a/include/uapi/linux/ptp_clock.h b/include/uapi/linux/ptp_clock.h
index 1d108d597f66..13147d454aa8 100644
--- a/include/uapi/linux/ptp_clock.h
+++ b/include/uapi/linux/ptp_clock.h
@@ -223,6 +223,7 @@ struct ptp_pin_desc {
_IOWR(PTP_CLK_MAGIC, 17, struct ptp_sys_offset_precise)
_IOWR(PTP_CLK_MAGIC, 18, struct ptp_sys_offset_extended)
+#define PTP_VCLOCK_CONV_TS _IOWR(PTP_CLK_MAGIC, 19, struct __kernel_timespec)
struct ptp_extts_event {
struct ptp_clock_time t; /* Time event occured. */

Would someone please update Documentation/userspace-api/ioctl/ioctl-number.rst
to include
#define PTP_CLK_MAGIC '=', the name of this header file, and optional
comment or contact info, please.