]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
dpll: expose fractional frequency offset in ppt
authorIvan Vecera <ivecera@redhat.com>
Mon, 26 Jan 2026 16:22:51 +0000 (17:22 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 30 Jan 2026 02:21:16 +0000 (18:21 -0800)
commitbc443c253fcdd2636e2a29fde3f749d39d479cf0
treea0c777d02f0000b43a9cccdc5de662a5412d6018
parentb3827c91cc9979fe04d99e016fb9c5f6260f29a0
dpll: expose fractional frequency offset in ppt

Currently, the dpll subsystem exports the fractional frequency offset
(FFO) in parts per million (ppm). This granularity is insufficient for
high-precision synchronization scenarios which often require parts per
trillion (ppt) resolution.

Add a new netlink attribute DPLL_A_PIN_FRACTIONAL_FREQUENCY_OFFSET_PPT
to expose the FFO in ppt.

Update the dpll netlink core to expect the driver-provided FFO value
to be in ppt. To maintain backward compatibility with existing userspace
tools, populate the legacy DPLL_A_PIN_FRACTIONAL_FREQUENCY_OFFSET
attribute by dividing the new ppt value by 1,000,000.

Update the zl3073x and mlx5 drivers to provide the FFO value in ppt:
- zl3073x: adjust the fixed-point calculation to produce ppt (10^12)
  instead of ppm (10^6).
- mlx5: scale the existing ppm value by 1,000,000.

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Reviewed-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Link: https://patch.msgid.link/20260126162253.27890-1-ivecera@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/netlink/specs/dpll.yaml
drivers/dpll/dpll_netlink.c
drivers/dpll/zl3073x/core.c
drivers/net/ethernet/mellanox/mlx5/core/dpll.c
include/uapi/linux/dpll.h