[PATCH v3 0/2] cxl: Allow passthrough decoders with >16K granularity
Alison Schofield <[email protected]> Fri, 24 Jul 2026 18:08:53 -0700
| Newsgroups | org.kernel.vger.linux-cxl |
|---|---|
| Message-ID | <[email protected]> |
Changes in v3: - Program the real IG encoding for an encodable non-interleaving granularity instead of always writing EIG=0 (RichardC, Sashiko) - Update Patch 1 commit msg text and this cover letter text per above change Link to v2: https://lore.kernel.org/linux-cxl/[email protected]/ Changes in v2: - Rebased on Linux 7.2-rc1 - Only v1 feedback was from Sashiko and that was not an issue Link to v1: https://lore.kernel.org/linux-cxl/[email protected]/ Sashiko reported [1] that region setup rejects valid topologies containing a passthrough decoder beneath a wide parent interleave. In these configurations, a passthrough decoder can compute a granularity above the 16K maximum encodable in the interleave granularity (IG) field even though non-interleaving decoders do not consume that field. The first patch avoids validating the interleave granularity of non-interleaving decoders, encodes the IG field as a don't-care only when the computed granularity is not encodable, and updates the sysfs ABI documentation accordingly. The second patch extends cxl-test with a topology that allows a CXL unit test to cover this case. A unit test update for this case is posted for review [2]. [1] https://lore.kernel.org/all/[email protected]/ [2] https://lore.kernel.org/all/[email protected]/ Alison Schofield (2): cxl/region: Allow passthrough decoders with >16K granularity cxl/test: Add a 2-way 16K root decoder for passthrough testing Documentation/ABI/testing/sysfs-bus-cxl | 5 ++- drivers/cxl/core/hdm.c | 8 ++++- drivers/cxl/core/region.c | 47 ++++++++++++++---------- tools/testing/cxl/test/cxl.c | 48 +++++++++++++++++++++++-- 4 files changed, 85 insertions(+), 23 deletions(-) base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482 -- 2.37.3