public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [Proposal,Question - refresh] ACPI representation of DPLL/Ethernet dependencies (SyncE)
@ 2026-01-21 14:42 Ivan Vecera
  2026-01-22  0:09 ` Andrew Lunn
  2026-01-22 18:04 ` Rafael J. Wysocki
  0 siblings, 2 replies; 9+ messages in thread
From: Ivan Vecera @ 2026-01-21 14:42 UTC (permalink / raw)
  To: Andy Shevchenko, Rafael J. Wysocki
  Cc: Linus Walleij, Andrew Lunn, Mika Westerberg, Rob Herring,
	Krzysztof Kozlowski, Arkadiusz Kubalewski, Jiri Pirko,
	Vadim Fedorenko, Jakub Kicinski, Paolo Abeni, David S. Miller,
	Mark Brown, Jan Aleszczyk, Michal Schmidt, Petr Oros, linux-acpi,
	netdev@vger.kernel.org

Hi Andy, Rafael and others,

(based on the previous thread [1] - now involving more people from
  networking and DPLL)

Thank you for the insights on _CRS and ClockInput.

I think we have circled the issue enough to identify the core disconnect:
* While the physical signals on these wires are indeed clocks (10MHz,
   etc.), from the OS driver perspective, this is not a "Clock Resource"
   issue. The NIC driver does not need to gate, rate-set, or power-manage
   these clocks (which is what _CRS/ClockInput implies).
* Instead, the NIC driver simply needs a Topology Map. It needs to know:
   "My Port 0 (Consumer) is physically wired to DPLL Pin 3 (Provider)."

The NIC driver needs this Pin Index (3) specifically to report it via
the RtNetlink. This allows the userspace daemon (e.g., synce4l or
linux-ptp) to see the relationship and decide to configure the DPLL via 
the DPLL Netlink API to lock onto that specific input.

A generic ClockInput resource in _CRS is anonymous and unordered. The OS
abstracts it into a handle, but it fails to convey the specific pin
index required for this userspace reporting.

Since ACPI lacks a native "Graph/Topology" object for inter-device
dependencies of this nature, and _CRS obscures the index information
required by userspace, I propose we treat _DSD properties as the
de-facto standard [2] for modeling SyncE topology in ACPI.

To avoid the confusion Andy mentioned regarding "Clock Bindings" in
ACPI, I suggest we explicitly define a schema using 'dpll-' prefixed
properties. This effectively decouples it from the Clock subsystem
expectations and treats it purely as a wiring map.

Proposed ACPI Representation with proposed documentation [3]

If the ACPI maintainers and Netdev maintainers agree that this
_DSD-based topology map is the acceptable "Pragmatic Standard" for this
feature, I will document this schema in the kernel documentation and
proceed with the implementation.

This solves the immediate need for an upcoming Intel SyncE enabled
platform and provides a consistent blueprint for other vendors
implementing SyncE on ACPI.

Regards,
Ivan

[1] 
https://lore.kernel.org/linux-acpi/3bf214b9-8691-44f7-aa13-8169276a6c2b@redhat.com/
[2] 
https://docs.kernel.org/firmware-guide/acpi/dsd/data-node-references.html
[3] https://gist.github.com/ivecera/964c25f47f688f44ec70984742cf7fbd


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-01-23  9:42 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-21 14:42 [Proposal,Question - refresh] ACPI representation of DPLL/Ethernet dependencies (SyncE) Ivan Vecera
2026-01-22  0:09 ` Andrew Lunn
2026-01-22 11:50   ` Ivan Vecera
2026-01-22 15:46     ` Andrew Lunn
2026-01-22 17:16       ` Ivan Vecera
2026-01-22 19:57         ` Andrew Lunn
2026-01-23  9:18           ` Ivan Vecera
2026-01-22 18:04 ` Rafael J. Wysocki
2026-01-23  9:42   ` Kubalewski, Arkadiusz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox