linux/drivers/cxl/core
Smita Koralahalli 36f257e3b0 acpi/ghes, cxl/pci: Process CXL CPER Protocol Errors
When PCIe AER is in FW-First, OS should process CXL Protocol errors from
CPER records. Introduce support for handling and logging CXL Protocol
errors.

The defined trace events cxl_aer_uncorrectable_error and
cxl_aer_correctable_error trace native CXL AER endpoint errors. Reuse them
to trace FW-First Protocol errors.

Since the CXL code is required to be called from process context and
GHES is in interrupt context, use workqueues for processing.

Similar to CXL CPER event handling, use kfifo to handle errors as it
simplifies queue processing by providing lock free fifo operations.

Add the ability for the CXL sub-system to register a workqueue to
process CXL CPER protocol errors.

[DJ: return cxl_cper_register_prot_err_work() directly in cxl_ras_init()]

Signed-off-by: Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
Reviewed-by: Li Ming <ming.li@zohomail.com>
Reviewed-by: Alison Schofield <alison.schofield@intel.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Link: https://patch.msgid.link/20250310223839.31342-2-Smita.KoralahalliChannabasappa@amd.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
2025-03-14 14:21:45 -07:00
..
cdat.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
core.h acpi/ghes, cxl/pci: Process CXL CPER Protocol Errors 2025-03-14 14:21:45 -07:00
hdm.c driver core: Correct API device_for_each_child_reverse_from() prototype 2025-01-10 15:26:12 +01:00
Makefile acpi/ghes, cxl/pci: Process CXL CPER Protocol Errors 2025-03-14 14:21:45 -07:00
mbox.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
memdev.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
pci.c cxl changes for v6.14 2025-01-29 11:23:22 -08:00
pmem.c cxl/pmem: Remove is_cxl_nvdimm_bridge() 2025-01-03 11:20:06 +01:00
pmu.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
port.c acpi/ghes, cxl/pci: Process CXL CPER Protocol Errors 2025-03-14 14:21:45 -07:00
ras.c acpi/ghes, cxl/pci: Process CXL CPER Protocol Errors 2025-03-14 14:21:45 -07:00
region.c Merge 6.13-rc7 into driver-core-next 2025-01-13 06:40:34 +01:00
regs.c cxl/core/regs: Refactor out functions to count regblocks of given type 2025-01-22 08:55:21 -07:00
suspend.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
trace.c cxl/region: Move cxl_trace_hpa() work to the region driver 2024-04-30 12:24:42 -07:00
trace.h cxl/events: Update Memory Module Event Record to CXL spec rev 3.1 2025-01-13 09:33:21 -07:00