linux/drivers/dpll
Ivan Vecera bc443c253f 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>
2026-01-29 18:21:16 -08:00
..
zl3073x dpll: expose fractional frequency offset in ppt 2026-01-29 18:21:16 -08:00
dpll_core.c dpll: Prevent duplicate registrations 2026-01-22 08:08:42 -08:00
dpll_core.h dpll: add reference sync get/set 2025-06-27 16:38:02 -07:00
dpll_netlink.c dpll: expose fractional frequency offset in ppt 2026-01-29 18:21:16 -08:00
dpll_netlink.h dpll: add reference sync get/set 2025-06-27 16:38:02 -07:00
dpll_nl.c dpll: add dpll_device op to set working mode 2026-01-19 12:04:53 -08:00
dpll_nl.h tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00
Kconfig dpll: Add basic Microchip ZL3073x support 2025-07-09 19:08:52 -07:00
Makefile dpll: Add basic Microchip ZL3073x support 2025-07-09 19:08:52 -07:00