drivers/acpi/apei/ghes.c | 103 ++++++++++++++++++++++++++++++++ drivers/cxl/core/pci.c | 62 +++++++++++++++++++ drivers/cxl/cxlpci.h | 9 +++ drivers/cxl/pci.c | 59 +++++++++++++++++- drivers/firmware/efi/cper.c | 6 +- drivers/firmware/efi/cper_cxl.c | 39 +----------- drivers/firmware/efi/cper_cxl.h | 66 -------------------- include/cxl/event.h | 101 +++++++++++++++++++++++++++++++ include/linux/cper.h | 8 +++ 9 files changed, 347 insertions(+), 106 deletions(-) delete mode 100644 drivers/firmware/efi/cper_cxl.h
This patchset adds logging support for CXL CPER endpoint and port protocol
errors.
The first 3 patches update the existing codebase to support CXL CPER
Protocol error reporting.
The last 2 patches introduce recognizing and reporting CXL CPER Protocol
errors.
Should be based on top of:
https://lore.kernel.org/linux-cxl/20250107143852.3692571-1-terry.bowman@amd.com
Link to v4:
https://lore.kernel.org/linux-cxl/20241217022032.87298-1-Smita.KoralahalliChannabasappa@amd.com
Changes in v4 -> v5:
[Dave]: Reviewed-by tags.
[Jonathan]: Remove blank line.
[Jonathan, Ira]: Change CXL -> "CXL".
[Ira]: Fix build error for CONFIG_ACPI_APEI_PCIEAER.
Changes in v3 -> v4:
[Ira]: Use memcpy() for RAS Cap struct.
[Jonathan]: Commit description edits.
[Jonathan]: Use separate work registration functions for protocol and
component errors.
[Jonathan, Ira]: Replace flags with separate functions for port and
device errors.
[Jonathan]: Use goto for register and unregister calls.
Changes in v2 -> v3:
[Dan]: Define a new workqueue for CXL CPER Protocol errors and avoid
reusing existing workqueue which handles CXL CPER events.
[Dan] Update function and struct names.
[Ira] Don't define common function get_cxl_devstate().
[Dan] Use switch cases rather than defining array of structures.
[Dan] Pass the entire cxl_cper_prot_err struct for CXL subsystem.
[Dan] Use pr_err_ratelimited().
[Dan] Use AER_ severities directly. Don't define CXL_ severities.
[Dan] Limit either to Device ID or Agent Info check.
[Dan] Validate size of RAS field matches expectations.
Changes in v2 -> v1:
[Jonathan] Refactor code for trace support. Rename get_cxl_dev()
to get_cxl_devstate().
[Jonathan] Cleanups for get_cxl_devstate().
[Alison, Jonathan]: Define array of structures for Device ID and Serial
number comparison.
[Dave] p_err -> rec/p_rec.
[Jonathan] Remove pr_warn.
Smita Koralahalli (5):
efi/cper, cxl: Prefix protocol error struct and function names with
cxl_
efi/cper, cxl: Make definitions and structures global
efi/cper, cxl: Remove cper_cxl.h
acpi/ghes, cper: Recognize and cache CXL Protocol errors
acpi/ghes, cxl/pci: Process CXL CPER Protocol Errors
drivers/acpi/apei/ghes.c | 103 ++++++++++++++++++++++++++++++++
drivers/cxl/core/pci.c | 62 +++++++++++++++++++
drivers/cxl/cxlpci.h | 9 +++
drivers/cxl/pci.c | 59 +++++++++++++++++-
drivers/firmware/efi/cper.c | 6 +-
drivers/firmware/efi/cper_cxl.c | 39 +-----------
drivers/firmware/efi/cper_cxl.h | 66 --------------------
include/cxl/event.h | 101 +++++++++++++++++++++++++++++++
include/linux/cper.h | 8 +++
9 files changed, 347 insertions(+), 106 deletions(-)
delete mode 100644 drivers/firmware/efi/cper_cxl.h
--
2.17.1
On 1/14/25 5:04 AM, Smita Koralahalli wrote: > This patchset adds logging support for CXL CPER endpoint and port protocol > errors. Ard, Do you mind giving an ACK for the series if it looks ok to you? I can pick up the series through the CXL tree with your ACKs. Thanks! Smita, Can you please respin a v6 based on top of latest upstream instead of Terry's changes? I think we are ready to pick this up before Terry's series. Thank you. > > The first 3 patches update the existing codebase to support CXL CPER > Protocol error reporting. > > The last 2 patches introduce recognizing and reporting CXL CPER Protocol > errors. > > Should be based on top of: > https://lore.kernel.org/linux-cxl/20250107143852.3692571-1-terry.bowman@amd.com > > Link to v4: > https://lore.kernel.org/linux-cxl/20241217022032.87298-1-Smita.KoralahalliChannabasappa@amd.com > > Changes in v4 -> v5: > [Dave]: Reviewed-by tags. > [Jonathan]: Remove blank line. > [Jonathan, Ira]: Change CXL -> "CXL". > [Ira]: Fix build error for CONFIG_ACPI_APEI_PCIEAER. > > Changes in v3 -> v4: > [Ira]: Use memcpy() for RAS Cap struct. > [Jonathan]: Commit description edits. > [Jonathan]: Use separate work registration functions for protocol and > component errors. > [Jonathan, Ira]: Replace flags with separate functions for port and > device errors. > [Jonathan]: Use goto for register and unregister calls. > > Changes in v2 -> v3: > [Dan]: Define a new workqueue for CXL CPER Protocol errors and avoid > reusing existing workqueue which handles CXL CPER events. > [Dan] Update function and struct names. > [Ira] Don't define common function get_cxl_devstate(). > [Dan] Use switch cases rather than defining array of structures. > [Dan] Pass the entire cxl_cper_prot_err struct for CXL subsystem. > [Dan] Use pr_err_ratelimited(). > [Dan] Use AER_ severities directly. Don't define CXL_ severities. > [Dan] Limit either to Device ID or Agent Info check. > [Dan] Validate size of RAS field matches expectations. > > Changes in v2 -> v1: > [Jonathan] Refactor code for trace support. Rename get_cxl_dev() > to get_cxl_devstate(). > [Jonathan] Cleanups for get_cxl_devstate(). > [Alison, Jonathan]: Define array of structures for Device ID and Serial > number comparison. > [Dave] p_err -> rec/p_rec. > [Jonathan] Remove pr_warn. > > Smita Koralahalli (5): > efi/cper, cxl: Prefix protocol error struct and function names with > cxl_ > efi/cper, cxl: Make definitions and structures global > efi/cper, cxl: Remove cper_cxl.h > acpi/ghes, cper: Recognize and cache CXL Protocol errors > acpi/ghes, cxl/pci: Process CXL CPER Protocol Errors > > drivers/acpi/apei/ghes.c | 103 ++++++++++++++++++++++++++++++++ > drivers/cxl/core/pci.c | 62 +++++++++++++++++++ > drivers/cxl/cxlpci.h | 9 +++ > drivers/cxl/pci.c | 59 +++++++++++++++++- > drivers/firmware/efi/cper.c | 6 +- > drivers/firmware/efi/cper_cxl.c | 39 +----------- > drivers/firmware/efi/cper_cxl.h | 66 -------------------- > include/cxl/event.h | 101 +++++++++++++++++++++++++++++++ > include/linux/cper.h | 8 +++ > 9 files changed, 347 insertions(+), 106 deletions(-) > delete mode 100644 drivers/firmware/efi/cper_cxl.h >
Hi Dave, On 1/21/2025 12:32 PM, Dave Jiang wrote: > > > On 1/14/25 5:04 AM, Smita Koralahalli wrote: >> This patchset adds logging support for CXL CPER endpoint and port protocol >> errors. > > Ard, > Do you mind giving an ACK for the series if it looks ok to you? I can pick up the series through the CXL tree with your ACKs. Thanks! > > Smita, > Can you please respin a v6 based on top of latest upstream instead of Terry's changes? I think we are ready to pick this up before Terry's series. Thank you. Sure. These patches depend on trace logging functions written by Terry trace_cxl_port_aer_uncorrectable_error() and trace_cxl_port_aer_correctable_error(). Let me work with him to just merge the trace logging functions and I will post v6 on latest upstream. Thanks Smita > >> >> The first 3 patches update the existing codebase to support CXL CPER >> Protocol error reporting. >> >> The last 2 patches introduce recognizing and reporting CXL CPER Protocol >> errors. >> >> Should be based on top of: >> https://lore.kernel.org/linux-cxl/20250107143852.3692571-1-terry.bowman@amd.com >> >> Link to v4: >> https://lore.kernel.org/linux-cxl/20241217022032.87298-1-Smita.KoralahalliChannabasappa@amd.com >> >> Changes in v4 -> v5: >> [Dave]: Reviewed-by tags. >> [Jonathan]: Remove blank line. >> [Jonathan, Ira]: Change CXL -> "CXL". >> [Ira]: Fix build error for CONFIG_ACPI_APEI_PCIEAER. >> >> Changes in v3 -> v4: >> [Ira]: Use memcpy() for RAS Cap struct. >> [Jonathan]: Commit description edits. >> [Jonathan]: Use separate work registration functions for protocol and >> component errors. >> [Jonathan, Ira]: Replace flags with separate functions for port and >> device errors. >> [Jonathan]: Use goto for register and unregister calls. >> >> Changes in v2 -> v3: >> [Dan]: Define a new workqueue for CXL CPER Protocol errors and avoid >> reusing existing workqueue which handles CXL CPER events. >> [Dan] Update function and struct names. >> [Ira] Don't define common function get_cxl_devstate(). >> [Dan] Use switch cases rather than defining array of structures. >> [Dan] Pass the entire cxl_cper_prot_err struct for CXL subsystem. >> [Dan] Use pr_err_ratelimited(). >> [Dan] Use AER_ severities directly. Don't define CXL_ severities. >> [Dan] Limit either to Device ID or Agent Info check. >> [Dan] Validate size of RAS field matches expectations. >> >> Changes in v2 -> v1: >> [Jonathan] Refactor code for trace support. Rename get_cxl_dev() >> to get_cxl_devstate(). >> [Jonathan] Cleanups for get_cxl_devstate(). >> [Alison, Jonathan]: Define array of structures for Device ID and Serial >> number comparison. >> [Dave] p_err -> rec/p_rec. >> [Jonathan] Remove pr_warn. >> >> Smita Koralahalli (5): >> efi/cper, cxl: Prefix protocol error struct and function names with >> cxl_ >> efi/cper, cxl: Make definitions and structures global >> efi/cper, cxl: Remove cper_cxl.h >> acpi/ghes, cper: Recognize and cache CXL Protocol errors >> acpi/ghes, cxl/pci: Process CXL CPER Protocol Errors >> >> drivers/acpi/apei/ghes.c | 103 ++++++++++++++++++++++++++++++++ >> drivers/cxl/core/pci.c | 62 +++++++++++++++++++ >> drivers/cxl/cxlpci.h | 9 +++ >> drivers/cxl/pci.c | 59 +++++++++++++++++- >> drivers/firmware/efi/cper.c | 6 +- >> drivers/firmware/efi/cper_cxl.c | 39 +----------- >> drivers/firmware/efi/cper_cxl.h | 66 -------------------- >> include/cxl/event.h | 101 +++++++++++++++++++++++++++++++ >> include/linux/cper.h | 8 +++ >> 9 files changed, 347 insertions(+), 106 deletions(-) >> delete mode 100644 drivers/firmware/efi/cper_cxl.h >> >
© 2016 - 2025 Red Hat, Inc.