|
|
Log in / Subscribe / Register

acpi/ghes, cper, cxl: Process CXL CPER Protocol errors

From:  Smita Koralahalli <Smita.KoralahalliChannabasappa-AT-amd.com>
To:  <linux-efi-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>, <linux-cxl-AT-vger.kernel.org>
Subject:  [PATCH v3 0/7] acpi/ghes, cper, cxl: Process CXL CPER Protocol errors
Date:  Tue, 19 Nov 2024 00:39:08 +0000
Message-ID:  <20241119003915.174386-1-Smita.KoralahalliChannabasappa@amd.com>
Cc:  Ard Biesheuvel <ardb-AT-kernel.org>, Alison Schofield <alison.schofield-AT-intel.com>, Vishal Verma <vishal.l.verma-AT-intel.com>, "Ira Weiny" <ira.weiny-AT-intel.com>, Dan Williams <dan.j.williams-AT-intel.com>, Jonathan Cameron <Jonathan.Cameron-AT-huawei.com>, Yazen Ghannam <yazen.ghannam-AT-amd.com>, Terry Bowman <terry.bowman-AT-amd.com>, "Smita Koralahalli" <Smita.KoralahalliChannabasappa-AT-amd.com>
Archive-link:  Article

This patchset adds logging support for CXL CPER endpoint and port protocol
errors.

The first 5 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/20241113215429.3177981-...

Link to v2:
https://lore.kernel.org/linux-cxl/20241001005234.61409-1-...

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 (7):
  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, cxl: Rename cxl_cper_register_work to
    cxl_cper_register_event_work
  acpi/ghes, cxl: Refactor work registration functions to support
    multiple workqueues
  acpi/ghes, cper: Recognize and cache CXL Protocol errors
  acpi/ghes, cxl/pci: Process CXL CPER Protocol Errors

 drivers/acpi/apei/ghes.c        | 129 +++++++++++++++++++++++++++++---
 drivers/cxl/core/pci.c          |  50 +++++++++++++
 drivers/cxl/cxlpci.h            |   6 ++
 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             | 109 ++++++++++++++++++++++++++-
 include/linux/cper.h            |   8 ++
 9 files changed, 351 insertions(+), 121 deletions(-)
 delete mode 100644 drivers/firmware/efi/cper_cxl.h

-- 
2.17.1




Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds