[PATCH v2 0/8] Enhance TLP packet decoder with field-level parsing and versioning

From: Sizhe Liu

Date: Thu Aug 27 2026 - 10:08:21 EST


The original hisi-ptt-decoder only prints raw hex values with generic field
names for DW2/DW3, without classifying TLP types or decoding
DW2/DW3 fields according to the hardware-defined packet format.

This series enhances the HiSilicon PTT (PCIe Trace and Tuning) packet
decoder in perf tool to provide detailed field-level parsing of TLP headers
based on message type, and adds a versioning mechanism for backward
compatibility both in hisi_ptt driver and perf tool.

---
Changes in v2:
- Split patch 01/10 and patch 02/10 from series v1 into independent patch
series for backporting.
- Use bitwise operations instead of C bitfields for cross-platform cases.
- Add `pattern` parameter in hisi_ptt driver for layout compatibility.
- Link to v1: https://lore.kernel.org/linux-pci/20260604075005.2219785-1-liusizhe5@xxxxxxxxxx/

---
Sizhe Liu (8):
perf hisi-ptt: Abstract trace data buf and offset
perf hisi-ptt: Complete the field names for 4DW and 8DW packets
perf hisi-ptt: Extract the raw data printing part
perf hisi-ptt: Merge 4DW and 8DW HEAD0 printing
perf hisi-ptt: Add parsing of supported message types
perf hisi-ptt: Add field-level parsing for header DW2/DW3
hwtracing: hisi_ptt: Add pattern PMU config for trace format selection
perf hisi-ptt: Pass pattern version to decoder for compatibility

Documentation/trace/hisi-ptt.rst | 25 +-
drivers/hwtracing/ptt/hisi_ptt.c | 25 +-
drivers/hwtracing/ptt/hisi_ptt.h | 4 +
tools/perf/arch/arm64/util/hisi-ptt.c | 18 ++
.../hisi-ptt-decoder/hisi-ptt-pkt-decoder.c | 291 ++++++++++++++----
.../hisi-ptt-decoder/hisi-ptt-pkt-decoder.h | 68 +++-
tools/perf/util/hisi-ptt.c | 51 +--
tools/perf/util/hisi-ptt.h | 9 +-
8 files changed, 404 insertions(+), 87 deletions(-)


base-commit: bec06676f4b2a4276b6277783eb91cd3cffd4b33
--
2.33.0