Message ID | 20250505-pcie-ptm-v4-0-02d26d51400b@linaro.org |
---|---|
Headers | show |
Series | PCI: Add PTM debugfs support | expand |
On Mon, 05 May 2025 19:54:38 +0530, Manivannan Sadhasivam wrote: > This series adds debugfs support to expose the PTM context available in the > capable PCIe controllers. Support for enabling PTM in the requester/responder is > already available in drivers/pci/pcie.c and this series expands that file to > add debugfs support for the PTM context info. > > The controller drivers are expected to call pcie_ptm_create_debugfs() with > 'pcie_ptm_ops' callbacks populated to create the debugfs entries and call > pcie_ptm_destroy_debugfs() to destroy them. > > [...] Applied, thanks! [1/4] PCI: Add debugfs support for exposing PTM context commit: 1130deffd29ab25da8091b573e173ef9d889e827 [2/4] PCI: dwc: Pass DWC PCIe mode to dwc_pcie_debugfs_init() commit: d831581b3433909e9ce9fa0b4d4f79d357093830 [3/4] PCI: dwc: Add debugfs support for PTM context commit: 287af93079f5cd8934b10d2e09e23ae4ca7320e6 [4/4] PCI: qcom-ep: Mask PTM_UPDATING interrupt commit: 356fc3e997f3bf54448a8cb39b49c7d73959d166 Best regards,
Hi, This series adds debugfs support to expose the PTM context available in the capable PCIe controllers. Support for enabling PTM in the requester/responder is already available in drivers/pci/pcie.c and this series expands that file to add debugfs support for the PTM context info. The controller drivers are expected to call pcie_ptm_create_debugfs() with 'pcie_ptm_ops' callbacks populated to create the debugfs entries and call pcie_ptm_destroy_debugfs() to destroy them. Patch 1 adds the necessary code in the drivers/pci/pcie.c to expose PTM context over debugfs and patch 2 adds PTM support in the DWC drivers (host and endpoint). Finally, patch 3 masks the PTM_UPDATING interrupt in the pcie-qcom-ep driver to avoid processing the interrupt for each PTM context update. Testing ======= This series is tested on Qcom SA8775p Ride Mx platform where one SA8775p acts as RC and another as EP with following instructions: RC -- $ echo 1 > /sys/kernel/debug/pcie_ptm_1c10000.pcie/context_valid EP -- $ echo auto > /sys/kernel/debug/pcie_ptm_1c10000.pcie-ep/context_update $ cat /sys/kernel/debug/pcie_ptm_1c10000.pcie-ep/local_clock 159612570424 $ cat /sys/kernel/debug/pcie_ptm_1c10000.pcie-ep/master_clock 159609466232 $ cat /sys/kernel/debug/pcie_ptm_1c10000.pcie-ep/t1 159609466112 $ cat /sys/kernel/debug/pcie_ptm_1c10000.pcie-ep/t4 159609466518 NOTE: To make use of the PTM feature, the host PCIe client driver has to call 'pci_enable_ptm()' API during probe. This series was tested with enabling PTM in the MHI host driver with a local change (which will be upstreamed later). Technically, PTM could also be enabled in the pci_endpoint_test driver, but I didn't add the change as I'm not sure we'd want to add random PCIe features in the test driver without corresponding code in pci-epf-test driver. Changes in v4: - Fixed the build warning in patch 1/4 - Moved the dwc_pcie_ptm_vsec_ids defintion to pcie_designware.c to avoid -Wunused-const-variable warning. It also makes sense to keep it in the driver for now since there are no more users. - Link to v3: https://lore.kernel.org/r/20250424-pcie-ptm-v3-0-c929ebd2821c@linaro.org Changes in v3: - Switched to debugfs interface based on comments from Bjorn - Added locking for context read/writes - Rebased on top of v6.15-rc1 - Link to v2: https://lore.kernel.org/r/20250324-pcie-ptm-v2-0-c7d8c3644b4a@linaro.org Changes in v2: * Dropped the VSEC changes that got merged * Moved the PTM sysfs code from drivers/pci/controller/dwc to drivers/pci/pcie/ptm.c to make it generic so that other controller drivers could also benefit from it. * Rebased on top of pci/controller/dwc Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> --- Manivannan Sadhasivam (4): PCI: Add debugfs support for exposing PTM context PCI: dwc: Pass DWC PCIe mode to dwc_pcie_debugfs_init() PCI: dwc: Add debugfs support for PTM context PCI: qcom-ep: Mask PTM_UPDATING interrupt Documentation/ABI/testing/debugfs-pcie-ptm | 70 +++++ MAINTAINERS | 1 + .../pci/controller/dwc/pcie-designware-debugfs.c | 252 ++++++++++++++++- drivers/pci/controller/dwc/pcie-designware-ep.c | 2 +- drivers/pci/controller/dwc/pcie-designware-host.c | 2 +- drivers/pci/controller/dwc/pcie-designware.c | 14 + drivers/pci/controller/dwc/pcie-designware.h | 24 +- drivers/pci/controller/dwc/pcie-qcom-ep.c | 8 + drivers/pci/pcie/ptm.c | 300 +++++++++++++++++++++ include/linux/pci.h | 45 ++++ 10 files changed, 713 insertions(+), 5 deletions(-) --- base-commit: 0af2f6be1b4281385b618cb86ad946eded089ac8 change-id: 20250324-pcie-ptm-e75b9b2ffcfb Best regards,