Hi Linus, please pull from: git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl tags/cxl-for-6.4 ...to receive the CXL update for this cycle. This has appeared in -next for the past week or so with only a minor conflict report with the PCI tree for changes to '.clang-format'. DOE support is promoted from drivers/cxl/ to drivers/pci/ with Bjorn's blessing, and the CXL core continues to mature its media management capabilities with support for listing and injecting media errors. Some late fixes that missed v6.3-final are also included. --- The following changes since commit 09a9639e56c01c7a00d6c0ca63f4c7c41abe075d: Linux 6.3-rc6 (2023-04-09 11:15:57 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl tags/cxl-for-6.4 for you to fetch changes up to fd35fdcbf75b5f31dba6c284886b676bb2145fe6: cxl/test: Add mock test for set_timestamp (2023-04-24 11:31:02 -0700) ---------------------------------------------------------------- cxl for v6.4 - Refactor the DOE infrastructure (Data Object Exchange PCI-config-cycle mailbox) to be a facility of the PCI core rather than the CXL core. This is foundational for upcoming support for PCI device-attestation and PCIe / CXL link encryption. - Add support for retrieving and injecting poison for CXL memory expanders. This enabling uses trace-events to convey CXL media error records to user tooling. It includes translation of device-local addresses (DPA) to system physical addresses (SPA) and their corresponding CXL region. - Fixes for decoder enumeration that missed v6.3-final - Miscellaneous fixups ---------------------------------------------------------------- Alison Schofield (18): cxl/mbox: Restrict poison cmds to debugfs cxl_raw_allow_all cxl/mbox: Initialize the poison state cxl/mbox: Add GET_POISON_LIST mailbox command cxl/trace: Add TRACE support for CXL media-error records cxl/memdev: Add trigger_poison_list sysfs attribute cxl/region: Provide region info to the cxl_poison trace event cxl/trace: Add an HPA to cxl_poison trace events tools/testing/cxl: Mock support for Get Poison List cxl/memdev: Add support for the Inject Poison mailbox command cxl/memdev: Add support for the Clear Poison mailbox command cxl/memdev: Warn of poison inject or clear to a mapped region cxl/memdev: Trace inject and clear poison as cxl_poison events cxl/mem: Add debugfs attributes for poison inject and clear tools/testing/cxl: Mock the Inject Poison mailbox command tools/testing/cxl: Mock the Clear Poison mailbox command tools/testing/cxl: Use injected poison for get poison list tools/testing/cxl: Add a sysfs attr to test poison inject limits tools/testing/cxl: Require CONFIG_DEBUG_FS Dan Williams (9): cxl/hdm: Fail upon detecting 0-sized decoders cxl/hdm: Use 4-byte reads to retrieve HDM decoder base+limit cxl/core: Drop unused io-64-nonatomic-lo-hi.h cxl/port: Scan single-target ports for decoders cxl/hdm: Add more HDM decoder debug messages at startup cxl/port: Fix port to pci device assumptions in read_cdat_data() cxl/mbox: Deprecate poison commands Merge branch 'for-6.4/cxl-poison' into for-6.4/cxl Merge branch 'for-6.3/cxl-autodetect-fixes' into for-6.4/cxl Dave Jiang (1): cxl/pci: Simplify CDAT retrieval error path Davidlohr Bueso (2): cxl/mbox: Update CMD_RC_TABLE cxl/test: Add mock test for set_timestamp Lukas Wunner (10): PCI/DOE: Provide synchronous API and use it internally cxl/pci: Use synchronous API for DOE PCI/DOE: Make asynchronous API private PCI/DOE: Deduplicate mailbox flushing PCI/DOE: Allow mailbox creation without devres management PCI/DOE: Create mailboxes on device enumeration cxl/pci: Use CDAT DOE mailbox created by PCI core PCI/DOE: Make mailbox creation API private PCI/DOE: Relax restrictions on request and response size cxl/pci: Rightsize CDAT response allocation .clang-format | 1 - Documentation/ABI/testing/debugfs-cxl | 35 ++++ Documentation/ABI/testing/sysfs-bus-cxl | 14 ++ drivers/cxl/core/core.h | 11 ++ drivers/cxl/core/hdm.c | 52 +++-- drivers/cxl/core/mbox.c | 151 ++++++++++++++- drivers/cxl/core/memdev.c | 227 ++++++++++++++++++++++ drivers/cxl/core/pci.c | 137 +++++-------- drivers/cxl/core/port.c | 1 - drivers/cxl/core/region.c | 124 ++++++++++++ drivers/cxl/core/trace.c | 94 +++++++++ drivers/cxl/core/trace.h | 103 ++++++++++ drivers/cxl/cxlmem.h | 111 ++++++++++- drivers/cxl/mem.c | 71 +++++++ drivers/cxl/pci.c | 53 +----- drivers/cxl/port.c | 18 +- drivers/pci/doe.c | 328 ++++++++++++++++++++++++-------- drivers/pci/pci.h | 11 ++ drivers/pci/probe.c | 1 + drivers/pci/remove.c | 1 + include/linux/pci-doe.h | 66 +------ include/linux/pci.h | 3 + include/uapi/linux/cxl_mem.h | 35 +++- tools/testing/cxl/config_check.c | 1 + tools/testing/cxl/test/mem.c | 247 ++++++++++++++++++++++++ 25 files changed, 1583 insertions(+), 313 deletions(-) create mode 100644 Documentation/ABI/testing/debugfs-cxl