[PATCH v7 0/8] PCI: Consolidate TLP Log reading and printing

From: Ilpo Järvinen
Date: Tue Dec 17 2024 - 08:54:24 EST


This series has the remaining patches of the AER & DPC TLP Log handling
consolidation and now includes a few minor improvements to the earlier
accepted TLP Logging code.

I only now realized the last patch will conflict with my pci_printk()
cleanups series. I'm sorry for the extra hassle.

v7:
- Explain in commit message reasoning why eetlp_prefix_max stores Max
End-End TLP Prefixes value instead of limiting it by the bridge/RP
imposed limits
- Take account TLP Prefix Log Present flag.
- Align PCI_ERR_CAP_* flags in pci_regs.h
- Add EE_PREFIX_STR define to be able to take its sizeof() for output
char[] sizing.

v6:
- Preserve "AER:"/"DPC:" prefix on the printed TLP line
- New patch to add "AER:" also on other lines of the AER error dump

v5:
- Fix build with AER=y and DPC=n
- Match kerneldoc and function parameter name

v4:
- Added patches:
- Remove EXPORT of pcie_read_tlp_log()
- Moved code to pcie/tlp.c and build only with AER enabled
- Match variables in prototype and function
- int -> unsigned int conversion
- eetlp_prefix_max into own patch
- struct pcie_tlp_log param consistently called "log" within tlp.c
- Moved function prototypes into drivers/pci/pci.h
- Describe AER/DPC differences more clearly in one commit message

v3:
- Small rewording in a commit message

v2:
- Don't add EXPORT()s
- Don't include igxbe changes
- Don't use pr_cont() as it's incompatible with pci_err() and according
to Andy Shevchenko should not be used in the first place

Ilpo Järvinen (8):
PCI: Don't expose pcie_read_tlp_log() outside of PCI subsystem
PCI: Move TLP Log handling to own file
PCI: Make pcie_read_tlp_log() signature same
PCI: Use unsigned int i in pcie_read_tlp_log()
PCI: Store # of supported End-End TLP Prefixes
PCI: Add TLP Prefix reading into pcie_read_tlp_log()
PCI: Create helper to print TLP Header and Prefix Log
PCI/AER: Add prefixes to printouts

drivers/pci/ats.c | 2 +-
drivers/pci/pci.c | 28 ---------
drivers/pci/pci.h | 9 +++
drivers/pci/pcie/Makefile | 2 +-
drivers/pci/pcie/aer.c | 27 ++++----
drivers/pci/pcie/dpc.c | 14 ++---
drivers/pci/pcie/tlp.c | 112 ++++++++++++++++++++++++++++++++++
drivers/pci/probe.c | 14 +++--
include/linux/aer.h | 3 +-
include/linux/pci.h | 2 +-
include/uapi/linux/pci_regs.h | 11 ++--
11 files changed, 158 insertions(+), 66 deletions(-)
create mode 100644 drivers/pci/pcie/tlp.c

--
2.39.5