mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [GIT PULL] Compute Express Link (CXL) for 7.4
@ 2026-10-22 15:35 Dave Jiang
  0 siblings, 0 replies; only message in thread
From: Dave Jiang @ 2026-10-22 15:35 UTC (permalink / raw)
  To: Linus Torvalds, linux-cxl
  Cc: linux-kernel, Jonathan Cameron, Davidlohr Bueso, Vishal Verma,
	Alison Schofield, Ira Weiny, Richard Cheng, Li Ming

Hi Linus, please pull from:

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

...to receive a series of changes for CXL. The headline item is the first
part support for Dynamic Capacity Devices (DCD). It covers flagging DCD
support in the mailbox, reading the dynamic capacity configuration from
the device, gathering DSMAS data for the DCD partitions, and configuring
the dynamic capacity interrupts. It also adds a documentation update and
a cleanup that enforces partition ordering. DCD is not enabled yet with
these code changes. Patches are applied to reduce the whole set in order
to relief the burden of very large patch set review.

Zero sized HDM decoders are now allowed, along with cxl_test support for
them. There is also a set of decoder hardening patches for switch decoder
enumeration. Latency calculations now account for link width and use
consistent units. The GPF timeout programming has been reworked. The pull
also has a number of misc patches.

A large number of bug fixes against pre-existing issues make up the rest of
the pull. Many of these were flagged by review of patches posted to the
mailing list by sashiko.

Also adding Richard Cheng as a reviewer (R) to the CXL sub-system.

These have all appeared in -next for 5 days or more with no reported
issues.

---

The following changes since commit fd73f4a6659897191fa0d40695fe370925dd3780:

  Linux 7.3-rc3 (2026-09-13 14:38:02 -0700)

are available in the Git repository at:

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

for you to fetch changes up to cf15f9f2361dd4002203716b7b878393c0eee4bf:

  Merge branch 'for-7.4/cxl-fixes' into cxl-for-next (2026-10-15 08:13:53 -0700)

----------------------------------------------------------------
CXL for v7.4

CXL Dynamic Capacity Device (DCD) support (part 1):
cxl/mbox: Flag support for Dynamic Capacity Devices (DCD)
cxl/mem: Read dynamic capacity configuration from the device
cxl/cdat: Gather DSMAS data for DCD partitions
cxl/events: Split event msgnum configuration from irq setup
cxl/pci: Factor out interrupt policy check
cxl/mem: Configure dynamic capacity interrupts
cxl/core: Enforce partition order/simplify partition calls
Documentation/cxl: Document DPA partition layout and ordering rules

CXL zero sized decoder support:
cxl/hdm: Allow zero sized HDM decoders
tools/testing/cxl: Enable zero sized decoders under hb0
cxl/region: Simplify poison_by_decoder() error handling

CXL decoder hardening:
cxl/hdm: Reject switch decoder interleave ways that overflow targets
cxl/hdm: Make switch decoder target parsing endian-safe
cxl/hdm: Restore commit_end when decoder enumeration fails
cxl/port: Bound switch decoder target array access by nr_targets
cxl/pci: Skip reset detection for DVSEC emulated decoders

CXL latency and GPF handling:
cxl/port: Convert PCIe link latency to nanoseconds
cxl: Account for link width in latency calculation
cxl/acpi: Convert QTG _DSM latencies to picoseconds
cxl/pci: Use the Device GPF DVSEC for restricted endpoints
cxl/pci: Program the Port GPF timeouts before caching the DVSEC
cxl/pci: Update only the Port GPF timeout fields

CXL misc patches:
MAINTAINERS: Add Richard Cheng to CXL subsystem as a Reviewer
cxl: docs/platform/acpi: Fix brackets
cxl/ras: Pass the PCI device's struct device to match_memdev_by_parent()
cxl/test: Map mock device nodes to an online node
tools/testing/cxl: Don't wrap cxl_core's own exported symbols
cxl/region: Fix the return value in devm_cxl_add_region() kernel-doc
cxl/region: Warn on user region position mismatch
cxl/region: Create node access attributes for CFMWS-only NUMA nodes

CXL fixes:
cxl/events: Test CME counter expiry with equality, not bitwise AND
cxl/events: Return IRQ_NONE when no event is pending
cxl/port: Attach endpoints to a dport under the lock that pins it
cxl/core: Hold the dport host lock across dport lookup and use
cxl/port: Clear cached dport pointers when a dport is removed
cxl/acpi: Check ACPI companion before use
driver core: Add conditional guard support for device_trylock()
cxl/memdev: Fix deadlock between poison debugfs and cxl_mem unbind
cxl/core: Skip einj_inject creation when devm_add_action_or_reset() fails
cxl/region: Unregister the pmem region when the bridge is unbound
cxl/core: Fix dport use-after-free via the einj_inject debugfs file
cxl/port: Fix uninitialized coordinates reported for RCDs
cxl/cdat: Fix uninitialized stack use in bandwidth gathering
cxl/features: Ensure that count is set before access to ent[] __counted_by()
cxl/features: Reject feature offset that overflows 16-bit field
cxl/fwctl: Propagate feature RPC delivery errors
cxl/regs: Reject register blocks in an unassigned BAR
cxl/region: Guard against a missing peer mapping
cxl/mce: Avoid alias page retirement for corrected errors

----------------------------------------------------------------
Alison Schofield (6):
      cxl/region: Guard against a missing peer mapping
      cxl/hdm: Reject switch decoder interleave ways that overflow targets
      cxl/hdm: Make switch decoder target parsing endian-safe
      cxl/hdm: Restore commit_end when decoder enumeration fails
      cxl/port: Bound switch decoder target array access by nr_targets
      cxl/region: Warn on user region position mismatch

Anisa Su (1):
      Documentation/cxl: Document DPA partition layout and ordering rules

Ashok Raj (1):
      cxl/features: Ensure that count is set before access to ent[] __counted_by()

Dave Jiang (16):
      cxl/ras: Pass the PCI device's struct device to match_memdev_by_parent()
      MAINTAINERS: Add Richard Cheng to CXL subsystem as a Reviewer
      Merge branch 'for-7.4/cxl-fixes' into cxl-for-next
      Merge branch 'for-7.4/cxl-misc' into cxl-for-next
      Merge branch 'for-7.4/cxl-zero-size-decoder' into cxl-for-next
      Merge branch 'for-7.4/decoder_hardening' into cxl-for-next
      Merge branch 'for-7.4/cxl-fixes' into cxl-for-next
      Merge branch 'for-7.4/cxl-fixes' into cxl-for-next
      Merge branch 'for-7.4/cxl-fixes' into cxl-for-next
      Merge branch 'for-7.4/cxl-misc' into cxl-for-next
      cxl/port: Clear cached dport pointers when a dport is removed
      cxl/core: Hold the dport host lock across dport lookup and use
      cxl/port: Attach endpoints to a dport under the lock that pins it
      Merge branch 'for-7.4/cxl-fixes' into cxl-for-next
      Merge branch 'for-7.4/cxl-dcd' into cxl-for-next
      Merge branch 'for-7.4/cxl-fixes' into cxl-for-next

Davidlohr Bueso (1):
      cxl/test: Map mock device nodes to an online node

Guixin Liu (13):
      cxl/pci: Skip reset detection for DVSEC emulated decoders
      cxl/cdat: Fix uninitialized stack use in bandwidth gathering
      cxl/port: Fix uninitialized coordinates reported for RCDs
      cxl/core: Fix dport use-after-free via the einj_inject debugfs file
      cxl/region: Unregister the pmem region when the bridge is unbound
      cxl/region: Create node access attributes for CFMWS-only NUMA nodes
      cxl/core: Skip einj_inject creation when devm_add_action_or_reset() fails
      driver core: Add conditional guard support for device_trylock()
      cxl/memdev: Fix deadlock between poison debugfs and cxl_mem unbind
      cxl/pci: Use the Device GPF DVSEC for restricted endpoints
      cxl/pci: Program the Port GPF timeouts before caching the DVSEC
      cxl/pci: Update only the Port GPF timeout fields
      cxl/events: Test CME counter expiry with equality, not bitwise AND

Ira Weiny (7):
      cxl/mbox: Flag support for Dynamic Capacity Devices (DCD)
      cxl/mem: Read dynamic capacity configuration from the device
      cxl/cdat: Gather DSMAS data for DCD partitions
      cxl/events: Split event msgnum configuration from irq setup
      cxl/pci: Factor out interrupt policy check
      cxl/mem: Configure dynamic capacity interrupts
      cxl/core: Enforce partition order/simplify partition calls

Jiale Yao (1):
      cxl/acpi: Check ACPI companion before use

Junjie Cao (1):
      cxl/regs: Reject register blocks in an unassigned BAR

Karl Mehltretter (1):
      cxl/region: Fix the return value in devm_cxl_add_region() kernel-doc

Koichiro Den (3):
      cxl/port: Convert PCIe link latency to nanoseconds
      cxl: Account for link width in latency calculation
      cxl/acpi: Convert QTG _DSM latencies to picoseconds

Manuel Ebner (1):
      cxl: docs/platform/acpi: Fix brackets

Richard Cheng (6):
      tools/testing/cxl: Don't wrap cxl_core's own exported symbols
      cxl/features: Reject feature offset that overflows 16-bit field
      cxl/fwctl: Propagate feature RPC delivery errors
      cxl/region: Simplify poison_by_decoder() error handling
      cxl/hdm: Allow zero sized HDM decoders
      tools/testing/cxl: Enable zero sized decoders under hb0

Shaikh Kamaluddin (2):
      cxl/mce: Avoid alias page retirement for corrected errors
      cxl/events: Return IRQ_NONE when no event is pending

 Documentation/driver-api/cxl/linux/cxl-driver.rst  |  35 +++
 Documentation/driver-api/cxl/maturity-map.rst      |   4 +
 .../driver-api/cxl/platform/acpi/dsdt.rst          |   3 +-
 MAINTAINERS                                        |   1 +
 drivers/cxl/acpi.c                                 |  20 +-
 drivers/cxl/core/cdat.c                            | 107 ++++++--
 drivers/cxl/core/core.h                            |  14 +-
 drivers/cxl/core/edac.c                            |  30 ++-
 drivers/cxl/core/features.c                        |  58 ++--
 drivers/cxl/core/hdm.c                             | 144 +++++++---
 drivers/cxl/core/mbox.c                            | 294 ++++++++++++++++++++-
 drivers/cxl/core/mce.c                             |   8 +-
 drivers/cxl/core/memdev.c                          | 100 +++++--
 drivers/cxl/core/pci.c                             |  74 ++++--
 drivers/cxl/core/port.c                            | 250 ++++++++++++------
 drivers/cxl/core/ras.c                             |   6 +-
 drivers/cxl/core/ras_rch.c                         |  12 +-
 drivers/cxl/core/region.c                          | 100 ++++---
 drivers/cxl/core/region_pmem.c                     |   6 +-
 drivers/cxl/core/regs.c                            |  14 +
 drivers/cxl/cxl.h                                  |  48 +++-
 drivers/cxl/cxlmem.h                               |  88 +++++-
 drivers/cxl/mem.c                                  |  30 ++-
 drivers/cxl/pci.c                                  | 223 ++++++++++++----
 drivers/cxl/port.c                                 |   3 +
 drivers/pci/pci.c                                  |  23 +-
 include/cxl/cxl.h                                  |  29 +-
 include/linux/device.h                             |   1 +
 include/linux/pci.h                                |   2 +-
 tools/testing/cxl/Kbuild                           |  16 +-
 tools/testing/cxl/test/cxl.c                       | 117 ++++++--
 tools/testing/cxl/test/mem.c                       |   2 +-
 32 files changed, 1487 insertions(+), 375 deletions(-)

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-22 15:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-22 15:35 [GIT PULL] Compute Express Link (CXL) for 7.4 Dave Jiang

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

all inboxes | Powered by JetHome®