Message ID | 20240220221146.399209-1-Benjamin.Cheatham@amd.com |
---|---|
Headers | show |
Series | cxl, EINJ: Update EINJ for CXL error types | expand |
Ben Cheatham wrote: > v13 Changes: > - Create new einj-cxl module for EINJ CXL error type functionality > - Rename CONFIG_CXL_EINJ to CONFIG_ACPI_APEI_EINJ_CXL > - Move CONFIG_ACPI_APEI_CXL to be under CONFIG_ACPI_APEI_EINJ (due to > new CONFIG_CXL_BUS dependency) > - Add an optional dependency to CONFIG_CXL_BUS on > CONFIG_ACPI_APEI_EINJ_CXL > - Change pr_warn("EINJ table not found.") to a pr_info() for when/if > EINJ probe fails (Tony) pr_info() is too chatty once CXL starts triggering this module to autoload. I will take a look for anything else that might trigger another spin, but if that s/pr_info/pr_debug/ change is all that's needed I can handle that on applying. > - Add a clarification that a CXL port needs to be present for CXL > EINJ error types to einj.rst (Davidlohr) > > v12 Changes: > - Rebase onto v6.8-rc4 > - Squash Kconfig patch into patch 2/3 (Jonathan) > - Change CONFIG_CXL_EINJ from "depends on ACPI_APEI_EINJ >= CXL_BUS" > to "depends on ACPI_APEI_EINJ = CXL_BUS" > - Drop "ACPI, APEI" part of commit message title and use just EINJ > instead (Dan) > - Add protocol error types to "einj_types" documentation (Jonathan) > - Change 0xffff... constants to use GENMASK() > - Drop param* variables and use constants instead in cxl error > inject functions (Jonathan) > - Add is_cxl_error_type() helper function in einj.c (Jonathan) > - Remove a stray function declaration in einj-cxl.h (Jonathan) > - Comment #else/#endifs with corresponding #if/#ifdef in > einj-cxl.h (Jonathan) > > The new CXL error types will use the Memory Address field in the > SET_ERROR_TYPE_WITH_ADDRESS structure in order to target a CXL 1.1 > compliant memory-mapped downstream port. The value of the memory address > will be in the port's MMIO range, and it will not represent physical > (normal or persistent) memory. > > Add the functionality for injecting CXL 1.1 errors to the EINJ module, > but not through the EINJ legacy interface under /sys/kernel/debug/apei/einj. > Instead, make the error types available under /sys/kernel/debug/cxl. > This allows for validating the MMIO address for a CXL 1.1 error type > while also not making the user responsible for finding it. > > Ben Cheatham (4): > EINJ: Migrate to a platform driver > EINJ: Add CXL error type support > cxl/core: Add CXL EINJ debugfs files > EINJ, Documentation: Update EINJ kernel doc > > Documentation/ABI/testing/debugfs-cxl | 30 +++++ > .../firmware-guide/acpi/apei/einj.rst | 21 +++ > MAINTAINERS | 1 + > drivers/acpi/apei/Kconfig | 12 ++ > drivers/acpi/apei/Makefile | 1 + > drivers/acpi/apei/apei-internal.h | 17 +++ > drivers/acpi/apei/einj-cxl.c | 121 +++++++++++++++++ > drivers/acpi/apei/einj.c | 127 ++++++++++++++---- > drivers/cxl/Kconfig | 1 + > drivers/cxl/core/port.c | 41 ++++++ > include/linux/einj-cxl.h | 40 ++++++ > 11 files changed, 385 insertions(+), 27 deletions(-) > create mode 100644 drivers/acpi/apei/einj-cxl.c > create mode 100644 include/linux/einj-cxl.h > > -- > 2.34.1 >