On Wed, Feb 11, 2026 at 09:13:50PM +0800, Shawn Lin wrote: > 在 2026/01/22 星期四 10:02, Shawn Lin 写道: > > This patch-set adds new pci controller event and LTSSM tracepoint used by > > host drivers > > which provide LTSSM trace functionality. The first user is pcie-dw-rockchip > > with a 256 > > Bytes FIFO for recording LTSSM transition. > > > > Gentle ping... >
Merge window is open now, so we can't accept any patches until -rc1. And I'm also waiting for an Ack from Steven for the tracing part. - Mani > > Testing > > ========= > > > > This series was tested on RK3588/RK3588s EVB1 with NVMe SSD connected to > > PCIe3 and PCIe2 > > root ports. > > > > echo 1 > > > /sys/kernel/debug/tracing/events/pci_controller/pcie_ltssm_state_transition/enable > > cat /sys/kernel/debug/tracing/trace_pipe > > > > # tracer: nop > > # > > # entries-in-buffer/entries-written: 64/64 #P:8 > > # > > # _-----=> irqs-off/BH-disabled > > # / _----=> need-resched > > # | / _---=> hardirq/softirq > > # || / _--=> preempt-depth > > # ||| / _-=> migrate-disable > > # |||| / delay > > # TASK-PID CPU# ||||| TIMESTAMP FUNCTION > > # | | | ||||| | | > > kworker/0:0-9 [000] ..... 5.600194: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: DETECT_ACT rate: > > Unknown > > kworker/0:0-9 [000] ..... 5.600198: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: DETECT_WAIT rate: > > Unknown > > kworker/0:0-9 [000] ..... 5.600199: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: DETECT_ACT rate: > > Unknown > > kworker/0:0-9 [000] ..... 5.600201: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: POLL_ACTIVE rate: > > Unknown > > kworker/0:0-9 [000] ..... 5.600202: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: POLL_CONFIG rate: > > Unknown > > kworker/0:0-9 [000] ..... 5.600204: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: CFG_LINKWD_START > > rate: Unknown > > kworker/0:0-9 [000] ..... 5.600206: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: CFG_LINKWD_ACEPT > > rate: Unknown > > kworker/0:0-9 [000] ..... 5.600207: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: CFG_LANENUM_WAI > > rate: Unknown > > kworker/0:0-9 [000] ..... 5.600208: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: CFG_LANENUM_ACEPT > > rate: Unknown > > kworker/0:0-9 [000] ..... 5.600210: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: CFG_COMPLETE rate: > > Unknown > > kworker/0:0-9 [000] ..... 5.600212: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: CFG_IDLE rate: > > Unknown > > kworker/0:0-9 [000] ..... 5.600213: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: L0 rate: 2.5 GT/s > > kworker/0:0-9 [000] ..... 5.600214: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_LOCK rate: > > Unknown > > kworker/0:0-9 [000] ..... 5.600216: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_RCVRCFG rate: > > Unknown > > kworker/0:0-9 [000] ..... 5.600217: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_SPEED rate: > > Unknown > > kworker/0:0-9 [000] ..... 5.600218: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_LOCK rate: > > Unknown > > kworker/0:0-9 [000] ..... 5.600220: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_EQ1 rate: > > Unknown > > kworker/0:0-9 [000] ..... 5.600221: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_EQ2 rate: 8.0 > > GT/s > > kworker/0:0-9 [000] ..... 5.600222: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_EQ3 rate: 8.0 > > GT/s > > kworker/0:0-9 [000] ..... 5.600224: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_LOCK rate: > > 8.0 GT/s > > kworker/0:0-9 [000] ..... 5.600225: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_RCVRCFG rate: > > 8.0 GT/s > > kworker/0:0-9 [000] ..... 5.600226: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_IDLE rate: > > 8.0 GT/s > > kworker/0:0-9 [000] ..... 5.600227: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: L0 rate: 8.0 GT/s > > kworker/0:0-9 [000] ..... 5.600228: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_LOCK rate: > > 8.0 GT/s > > kworker/0:0-9 [000] ..... 5.600229: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_RCVRCFG rate: > > 8.0 GT/s > > kworker/0:0-9 [000] ..... 5.600231: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_IDLE rate: > > 8.0 GT/s > > kworker/0:0-9 [000] ..... 5.600232: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: L0 rate: 8.0 GT/s > > kworker/0:0-9 [000] ..... 5.600233: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: L123_SEND_EIDLE > > rate: 8.0 GT/s > > kworker/0:0-9 [000] ..... 5.600234: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: L1_IDLE rate: 8.0 > > GT/s > > kworker/0:0-9 [000] ..... 5.600236: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_LOCK rate: > > 8.0 GT/s > > kworker/0:0-9 [000] ..... 5.600237: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_RCVRCFG rate: > > 8.0 GT/s > > kworker/0:0-9 [000] ..... 5.600238: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: RCVRY_IDLE rate: > > 8.0 GT/s > > kworker/0:0-9 [000] ..... 5.600239: > > pcie_ltssm_state_transition: dev: a40000000.pcie state: L0 rate: 8.0 GT/s > > > > > > Changes in v4: > > - use TRACE_EVENT_FN to notify when to start and stop the tracepoint, > > and export pci_ltssm_tp_enabled() for host drivers to use > > - skip trace if pci_ltssm_tp_enabled() is false.(Steven) > > - wrap into 80 columns(Bjorn) > > > > Changes in v3: > > - add TRACE_DEFINE_ENUM for all enums(Steven Rostedt) > > - Add toctree entry in Documentation/trace/index.rst(Bagas Sanjaya) > > - fix mismatch section underline length(Bagas Sanjaya) > > - Make example snippets in code block(Bagas Sanjaya) > > - warp context into 80 columns and fix the file name(Bjorn) > > - reorder variables(Mani) > > - rename loop to i; rename en to enable(Mani) > > - use FIELD_GET(Mani) > > - add comment about how the FIFO works(Mani) > > > > Changes in v2: > > - use tracepoint > > > > Shawn Lin (3): > > PCI: trace: Add PCI controller LTSSM transition tracepoint > > Documentation: tracing: Add PCI controller event documentation > > PCI: dw-rockchip: Add pcie_ltssm_state_transition trace support > > > > Documentation/trace/events-pci-controller.rst | 42 ++++++++++ > > Documentation/trace/index.rst | 1 + > > drivers/pci/controller/dwc/pcie-dw-rockchip.c | 111 > > ++++++++++++++++++++++++++ > > drivers/pci/trace.c | 20 +++++ > > include/linux/pci.h | 4 + > > include/trace/events/pci_controller.h | 57 +++++++++++++ > > 6 files changed, 235 insertions(+) > > create mode 100644 Documentation/trace/events-pci-controller.rst > > create mode 100644 include/trace/events/pci_controller.h > > -- மணிவண்ணன் சதாசிவம்
