Linux CXL
 help / color / mirror / Atom feed
* [GIT PULL] Compute Express Link (CXL) changes for 6.15
@ 2025-03-31 18:02 Dave Jiang
  2025-04-03  5:46 ` pr-tracker-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Dave Jiang @ 2025-03-31 18:02 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-cxl@vger.kernel.org, Dan Williams, Jonathan Cameron,
	Davidlohr Bueso, Ira Weiny, Alison Schofield

Hi Linus, please pull from:

git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git tags/cxl-for-6.15

...to receive a set of changes for CXL for the 6.15 merge window.

Major additions include
- A series to support Global Persistent Flush (GPF) in order to do dirty
  shutdown accounting for CXL type3 memory devices.

- A series to add firmware first error logging support for CXL protocol errors.
  This includes changes to the ACPI GHES code to process CXL CPER protocol
  errors and trace logging for CXL PCIe port RAS errors. Raphael Wysocki has
  deferred the reviewing of ACPI and RAS changes to Tony Luck. His review tags
  are included with the relevant patches.

- A series to add support for CXL mailbox Features commands that allow
  retrieving info on the device supported Features, retrieving of the Feature
  data and setting of the Feature data. This addition is in preparation for both
  kernel side usage by EDAC to perform tasks such is PPR and memory sparing, and
  supporting of user Feature usages via Firmware Control (fwctl) subsystem. The
  Features info retrieved from a device provide write effects by the device
  which are gated by the fwctl restriction levels based on those effects. Jason
  Gunthorpe has already submitted the accepted PR [1] for fwctl and includes the
  branch that has the CXL fwctl patches included in the CXL PR. Jason mentioned
  a trivial conflict to resolve in his PR.

- A series to support extended linear cache support described by the ACPI HMAT
  table via approved ACPI ECN [2]. The series adds support for enumeration of
  the cache via ACPI and adds support to the CXL driver to retrieve that
  information. An MCE notifier is also added to the CXL driver in order to
  report the aliased address when the cache is present. The current
  implementation involves a 1:1 layout of DRAM and far memory based on CXL
  memory.

A number of significant cleanups and refactoring:
- Cleanup of DPA partition metadata handling in preparation for CXL type2
  device enabling.
- A series that uses guard() to clean up open coded mutex lockings and remove
  gotos for error

And a number of minor cleanups and fixes such as removing unused code, fixing
existing documentation issues, and others...

[1]: https://lore.kernel.org/linux-cxl/Z+F2tcBM1LJpTDF9@nvidia.com/
[2]: https://lore.kernel.org/linux-cxl/668333b17e4b2_5639294fd@dwillia2-xfh.jf.intel.com.notmuch/

---
The following changes since commit 2014c95afecee3e76ca4a56956a936e23283f05b:

  Linux 6.14-rc1 (2025-02-02 15:39:26 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git tags/cxl-for-6.15

for you to fetch changes up to aae0594a7053c60b82621136257c8b648c67b512:

  cxl/region: Fix the first aliased address miscalculation (2025-03-20 11:28:45 -0700)

----------------------------------------------------------------
cxl for v6.15

- Add support for Global Persistent Flush (GPF)
- Cleanup of DPA partition metadata handling
	- Remove the CXL_DECODER_MIXED enum that's not needed anymore
	- Introduce helpers to access resource and perf meta data
	- Introduce 'struct cxl_dpa_partition' and 'struct cxl_range_info'
	- Make cxl_dpa_alloc() DPA partition number agnostic
	- Remove cxl_decoder_mode
	- Cleanup partition size and perf helpers
- Remove unused CXL partition values
- Add logging support for CXL CPER endpoint and port protocol errors
	- Prefix protocol error struct and function names with cxl_
	- Move protocol error definitions and structures to a common location
	- Remove drivers/firmware/efi/cper_cxl.h to include/linux/cper.h
	- Add support in GHES to process CXL CPER protocol errors
	- Process CXL CPER protocol errors
	- Add trace logging for CXL PCIe port RAS errors
- Remove redundant gp_port init
- Add validation of cxl device serial number
- CXL ABI documentation updates/fixups
- A series that uses guard() to clean up open coded mutex lockings and remove gotos for error
  handling.
- Some followup patches to support dirty shutdown accounting
	- Add helper to retrieve DVSEC offset for dirty shutdown registers
	- Rename cxl_get_dirty_shutdown() to cxl_arm_dirty_shutdown()
	- Add support for dirty shutdown count via sysfs
	- cxl_test support for dirty shutdown
- A series to support CXL mailbox Features commands. Mostly in preparation for CXL EDAC
  code to utilize the Features commands. It's also in preparation for CXL fwctl support
  to utilize the CXL Features. The commands include "Get Supported Features", "Get Feature",
  and "Set Feature".
- A series to support extended linear cache support described by the ACPI HMAT table. The
  addition helps enumerate the cache and also provides additional RAS reporting support for
  configuration with extended linear cache. (and related fixes for the
  series).
- An update to cxl_test to support a 3-way capable CFMWS.
- A documentation fix to remove unused "mixed mode".

----------------------------------------------------------------
Alison Schofield (2):
      cxl/test: Define a CFMWS capable of a 3 way HB interleave
      cxl/region: Quiet some dev_warn()s in extended linear cache setup

Dan Williams (6):
      cxl: Remove the CXL_DECODER_MIXED mistake
      cxl: Introduce to_{ram,pmem}_{res,perf}() helpers
      cxl: Introduce 'struct cxl_dpa_partition' and 'struct cxl_range_info'
      cxl: Make cxl_dpa_alloc() DPA partition number agnostic
      cxl: Kill enum cxl_decoder_mode
      cxl: Cleanup partition size and perf helpers

Dave Jiang (15):
      cxl: Refactor user ioctl command path from mds to mailbox
      cxl: Enumerate feature commands
      cxl: Add Get Supported Features command for kernel usage
      cxl/test: Add Get Supported Features mailbox command support
      cxl: Setup exclusive CXL features that are reserved for the kernel
      acpi: numa: Add support to enumerate and store extended linear address mode
      acpi/hmat / cxl: Add extended linear cache support for CXL
      cxl: Add extended linear cache address alias emission for cxl events
      cxl: Add mce notifier to emit aliased address for extended linear cache
      Merge branch 'for-6.15/fw-first-error-logging' into cxl-for-next2
      Merge branch 'for-6.15/guard_cleanups' into cxl-for-next2
      Merge branch 'for-6.15/dirty-shutdown' into cxl-for-next2
      Merge branch 'for-6.15/extended-linear-cache' into cxl-for-next2
      cxl: Fix warning from emitting resource_size_t as long long int on 32bit systems
      Merge branch 'for-6.15/features' into cxl-for-next

Davidlohr Bueso (7):
      cxl: Plug typos in ABI doc
      cxl: Document missing sysfs files
      cxl/pci: Support Global Persistent Flush (GPF)
      cxl/pci: Introduce cxl_gpf_get_dvsec()
      cxl/pmem: Rename cxl_dirty_shutdown_state()
      cxl/pmem: Export dirty shutdown count via sysfs
      tools/testing/cxl: Set Shutdown State support

Ira Weiny (2):
      cxl/memdev: Remove unused partition values
      cxl/Documentation: Remove 'mixed' from sysfs mode doc

Li Ming (10):
      cxl/core: Use guard() to replace open-coded down_read/write()
      cxl/core: cxl_mem_sanitize() cleanup
      cxl/memdev: cxl_memdev_ioctl() cleanup
      cxl/core: Use guard() to drop the goto pattern of cxl_dpa_free()
      cxl/core: Use guard() to drop goto pattern of cxl_dpa_alloc()
      cxl/region: Drop goto pattern in cxl_dax_region_alloc()
      cxl/region: Drop goto pattern of construct_region()
      cxl/cdat: Remove redundant gp_port initialization
      cxl/mem: Do not return error if CONFIG_CXL_MCE unset
      cxl/region: Fix the first aliased address miscalculation

Shiju Jose (2):
      cxl/mbox: Add GET_FEATURE mailbox command
      cxl/mbox: Add SET_FEATURE mailbox command

Smita Koralahalli (6):
      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
      cxl/pci: Add trace logging for CXL PCIe Port RAS errors

Yuquan Wang (1):
      cxl/pmem: debug invalid serial number data

 Documentation/ABI/stable/sysfs-devices-node   |   6 +
 Documentation/ABI/testing/sysfs-bus-cxl       |  53 +++-
 Documentation/driver-api/cxl/maturity-map.rst |   2 +-
 arch/x86/mm/pat/set_memory.c                  |   1 +
 drivers/acpi/apei/ghes.c                      | 103 +++++++
 drivers/acpi/numa/hmat.c                      |  44 +++
 drivers/base/node.c                           |   2 +
 drivers/cxl/Kconfig                           |  15 +
 drivers/cxl/core/Makefile                     |   4 +
 drivers/cxl/core/acpi.c                       |  11 +
 drivers/cxl/core/cdat.c                       | 100 +++----
 drivers/cxl/core/core.h                       |  27 +-
 drivers/cxl/core/features.c                   | 333 ++++++++++++++++++++++
 drivers/cxl/core/hdm.c                        | 382 ++++++++++++++++++--------
 drivers/cxl/core/mbox.c                       | 265 +++++++++++-------
 drivers/cxl/core/mce.c                        |  65 +++++
 drivers/cxl/core/mce.h                        |  20 ++
 drivers/cxl/core/memdev.c                     | 105 ++++---
 drivers/cxl/core/pci.c                        |  97 +++++++
 drivers/cxl/core/port.c                       |  38 ++-
 drivers/cxl/core/ras.c                        | 119 ++++++++
 drivers/cxl/core/region.c                     | 338 +++++++++++++++--------
 drivers/cxl/core/trace.h                      |  81 +++++-
 drivers/cxl/cxl.h                             |  52 ++--
 drivers/cxl/cxlmem.h                          | 124 +++++----
 drivers/cxl/cxlpci.h                          |   6 +
 drivers/cxl/mem.c                             |   2 +-
 drivers/cxl/pci.c                             |  11 +-
 drivers/cxl/pmem.c                            |  81 +++++-
 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/cxl/features.h                        | 191 +++++++++++++
 include/cxl/mailbox.h                         |  44 ++-
 include/linux/acpi.h                          |  11 +
 include/linux/cper.h                          |   8 +
 include/linux/node.h                          |   7 +
 tools/testing/cxl/Kbuild                      |   4 +
 tools/testing/cxl/test/cxl.c                  |  32 +--
 tools/testing/cxl/test/mem.c                  | 106 ++++++-
 41 files changed, 2417 insertions(+), 685 deletions(-)
 create mode 100644 drivers/cxl/core/acpi.c
 create mode 100644 drivers/cxl/core/features.c
 create mode 100644 drivers/cxl/core/mce.c
 create mode 100644 drivers/cxl/core/mce.h
 create mode 100644 drivers/cxl/core/ras.c
 delete mode 100644 drivers/firmware/efi/cper_cxl.h
 create mode 100644 include/cxl/features.h

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-04-03  5:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-31 18:02 [GIT PULL] Compute Express Link (CXL) changes for 6.15 Dave Jiang
2025-04-03  5:46 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox