This series enhances the HiSilicon PTT (PCIe Trace and Tuning) packet
decoder in perf to provide detailed field-level parsing of TLP headers
based on message type, and adds a versioning mechanism for backward
compatibility.
The original decoder only prints raw hex values with generic field
names for each DW, without classifying TLP types or decoding
DW2/DW3 fields according to the hardware-defined packet format.
Patch overview:
Patches 1-2: Bug fixes
- Fix spelling/abbreviation errors (FIELD_LENTH, kpt_desc)
- Fix DW0 bit field ordering and DW hex value printing
Patches 3-7: Refactoring for field-level parsing
- Rename union and add named struct member for multi-DW reuse
- Abstract trace buffer/offset into struct hisi_ptt_pkt_buf
- Complete missing field name entries in 4DW/8DW tables
- Extract raw data printing into function
- Unify 4DW/8DW HEAD0 printing into hisi_ptt_print_head0()
Patch 8: TLP message type classification
- Parse Format/Type from DW0 to classify packets as
MWr/Msg/Atomic/IO/Cfg/Cpl
Patch 9: Field-level DW2/DW3 parsing
- Decode DW2 fields for MWr/Msg/Atomic/IO TLPs
- Decode DW3 fields for Completion and Configuration TLPs
Patch 10: Version compatibility
- Add V1/V2 version in auxtrace info to distinguish old
(generic field names) from new (detailed field parsing)
trace data, with backward compatibility for V1 files
Sizhe Liu (10):
perf hisi-ptt: Fix spelling and abbreviation errors
perf hisi-ptt: Fix PTT trace TLP Header parsing
perf hisi-ptt: Rename hisi_ptt_4dw union for reuse
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
perf hisi-ptt: Add decoder version compatibility
Documentation/trace/hisi-ptt.rst | 28 +-
tools/perf/arch/arm64/util/hisi-ptt.c | 2 +
.../hisi-ptt-decoder/hisi-ptt-pkt-decoder.c | 352 +++++++++++++++---
.../hisi-ptt-decoder/hisi-ptt-pkt-decoder.h | 27 +-
tools/perf/util/hisi-ptt.c | 46 ++-
tools/perf/util/hisi-ptt.h | 4 +-
6 files changed, 365 insertions(+), 94 deletions(-)
--
2.33.0