Re: [PATCH v2 1/3] PCI: Add sysfs support for exposing PTM context

From: Bjorn Helgaas
Date: Mon Mar 24 2025 - 12:29:18 EST


On Mon, Mar 24, 2025 at 03:34:35PM +0530, Manivannan Sadhasivam via B4 Relay wrote:
> From: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
>
> Precision Time Management (PTM) mechanism defined in PCIe spec r6.0,
> sec 6.22 allows precise coordination of timing information across multiple
> components in a PCIe hierarchy with independent local time clocks.
>
> PCI core already supports enabling PTM in the root port and endpoint
> devices through PTM Extended Capability registers. But the PTM context
> supported by the PTM capable components such as Root Complex (RC) and
> Endpoint (EP) controllers were not exposed as of now.
>
> Hence, add the sysfs support to expose the PTM context to userspace from
> both PCIe RC and EP controllers. Controller drivers are expected to call
> pcie_ptm_create_sysfs() to create the sysfs attributes for the PTM context
> and call pcie_ptm_destroy_sysfs() to destroy them. The drivers should also
> populate the relevant callbacks in the 'struct pcie_ptm_ops' structure
> based on the controller implementation.

Can we include some motivation here, e.g., what is the value of
exposing this information? Is this for debugging or bringup purposes?
Can users or administrators use this for something? Obviously they
can read and update some internal PTM state, but it would be nice to
know what that's good for.

It looks like this requires device-specific support, i.e., the context
itself, context update modes, access to the clock values, etc., is not
specified by the generic PCIe spec. Consequently this probably can't
be done by generic drivers like ACPI, and maybe this is a candidate
for debugfs instead of sysfs.

The merge window is open now, so this will be v6.16 material, so no
hurry about updating before v6.15-rc1.

Bjorn