All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Cheatham <Benjamin.Cheatham@amd.com>
To: <dan.j.williams@intel.com>, <jonathan.cameron@huawei.com>,
	<rafael@kernel.org>, <james.morse@arm.com>, <tony.luck@intel.com>,
	<bp@alien8.de>
Cc: <dave@stogolabs.net>, <dave.jiang@intel.com>,
	<alison.schofield@intel.com>, <vishal.l.verma@intel.com>,
	<ira.weiny@intel.com>, <linux-cxl@vger.kernel.org>,
	<linux-acpi@vger.kernel.org>, <benjamin.cheatham@amd.com>
Subject: [PATCH v15 0/4] cxl, EINJ: Update EINJ for CXL error types
Date: Mon, 11 Mar 2024 09:25:04 -0500	[thread overview]
Message-ID: <20240311142508.31717-1-Benjamin.Cheatham@amd.com> (raw)

v15 Changes:
	- Update commit messages for patches 2/4 & 3/4 (Tony)
	- Add line to cover letter about CXL 2.0+ errors being available
	  under legacy EINJ interface
	- Add einj_cxl_rch_error_inject() for CXL 1.0/1.1 error injections
	  in einj-core.c
	- Remove checks for einj_initialized in einj_cxl_*_inject functions
	  in einj-cxl.c (Dan)
	- Update commit message for patch 1/4 from recommending checking
	  einj_is_initialized() to a more generic "safegaurd against EINJ
	  not being initialized"
	- Use more specific headers in einj-cxl.c and einj-cxl.h (Jonathan)
	- Use ACPI_APEI_EINJ_CXL_* defines in place of BIT() macros in
	  einj_cxl_error_type_string struct (Jonathan)
	- Move error_type_get() above einj_validate_error_type() to cleanup
	  diff (Jonathan)

v14 Changes:
	- Remove einj-cxl module and instead compile as part of EINJ module
	  (Dan)
	- Change CONFIG_ACPI_APEI_EINJ_CXL from tristate to bool (Dan)
	- Fix CONFIG_ACPI_APEI_EINJ_CXL/CONFIG_CXL_BUS dependencies
	- Remove EINJ function exports (Dan)
	- Organizational changes for CXL content in EINJ kernel
	  documentation (Dan)
	- Demote "EINJ table not found." print to pr_debug() from pr_info()
	  (Dan)

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/2.0+ 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. CXL 2.0+
error types will be available through the legacy EINJ interface and
under the new debug/cxl interface since they target the SBDF of the CXL
downstream port instead of a MMIO address.

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         |  34 +++++
 MAINTAINERS                                   |   1 +
 drivers/acpi/apei/Kconfig                     |  12 ++
 drivers/acpi/apei/Makefile                    |   2 +
 drivers/acpi/apei/apei-internal.h             |  18 +++
 drivers/acpi/apei/{einj.c => einj-core.c}     | 123 +++++++++++++++---
 drivers/acpi/apei/einj-cxl.c                  | 116 +++++++++++++++++
 drivers/cxl/core/port.c                       |  42 ++++++
 include/linux/einj-cxl.h                      |  44 +++++++
 10 files changed, 401 insertions(+), 21 deletions(-)
 rename drivers/acpi/apei/{einj.c => einj-core.c} (90%)
 create mode 100644 drivers/acpi/apei/einj-cxl.c
 create mode 100644 include/linux/einj-cxl.h

-- 
2.34.1


             reply	other threads:[~2024-03-11 14:25 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-11 14:25 Ben Cheatham [this message]
2024-03-11 14:25 ` [PATCH v15 1/4] EINJ: Migrate to a platform driver Ben Cheatham
2024-03-11 14:25 ` [PATCH v15 2/4] EINJ: Add CXL error type support Ben Cheatham
2024-03-12 14:16   ` kernel test robot
2024-03-12 15:33   ` Ben Cheatham
2024-03-13  5:47     ` Dan Williams
2024-03-13  5:54   ` Dan Williams
2024-03-13 13:24     ` Ben Cheatham
2024-03-13  5:58   ` Dan Williams
2024-03-13 13:24     ` Ben Cheatham
2024-03-11 14:25 ` [PATCH v15 3/4] cxl/core: Add CXL EINJ debugfs files Ben Cheatham
2024-03-13  6:00   ` Dan Williams
2024-03-13 13:24     ` Ben Cheatham
2024-03-11 14:25 ` [PATCH v15 4/4] EINJ, Documentation: Update EINJ kernel doc Ben Cheatham

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240311142508.31717-1-Benjamin.Cheatham@amd.com \
    --to=benjamin.cheatham@amd.com \
    --cc=alison.schofield@intel.com \
    --cc=bp@alien8.de \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dave@stogolabs.net \
    --cc=ira.weiny@intel.com \
    --cc=james.morse@arm.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-cxl@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=tony.luck@intel.com \
    --cc=vishal.l.verma@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.