Linux CXL
 help / color / mirror / Atom feed
* [PATCH v4 0/2] cxl: Allow passthrough decoders with >16K granularity
@ 2026-09-04  3:21 Alison Schofield
  2026-09-04  3:21 ` [PATCH v4 1/2] cxl/region: Allow regions with an unencodable passthrough granularity Alison Schofield
  2026-09-04  3:21 ` [PATCH v4 2/2] cxl/test: Add a 2-way 16K root decoder for passthrough testing Alison Schofield
  0 siblings, 2 replies; 5+ messages in thread
From: Alison Schofield @ 2026-09-04  3:21 UTC (permalink / raw)
  To: Davidlohr Bueso, Jonathan Cameron, Dave Jiang, Alison Schofield,
	Vishal Verma, Ira Weiny, Li Ming
  Cc: linux-cxl


I kept RichardC and DaveJ tags as the helper is a mechanical refactor,
not a behavior change. More/re-review is welcome.

Changes in v4:
- Rebase on Linux 7.3-rc1
- Rename Patch 1 to focus on the region config failure that user sees
- Use Reported-by and Closes tags instead of Suggested-by in Patch 1
- Add and use a new granularity_is_valid() helper (RichardC)
- Update the Patch2 commit log to say computes 8K, not 16K (RichardC)
Link to v3:
https://lore.kernel.org/linux-cxl/cover.1784940306.git.alison.schofield@intel.com/

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/cover.1783795720.git.alison.schofield@intel.com/

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/cover.1781136281.git.alison.schofield@intel.com/

Begin Cover Letter:
Sashiko reported [1] that region creation fails when the interleave
granularity accumulated below the root decoder exceeds the 16K maximum
encodable in the interleave granularity (IG) field. The decoder that
computes that granularity is a passthrough decoder, which does not consume
the IG field, so no decoder in the path interleaves at the granularity
being rejected.

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/20260530002613.682E71F00893@smtp.kernel.org/
[2] https://lore.kernel.org/nvdimm/cover.1788489571.git.alison.schofield@intel.com/


Alison Schofield (2):
  cxl/region: Allow regions with an unencodable passthrough 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               | 34 ++++++++++--------
 tools/testing/cxl/test/cxl.c            | 48 +++++++++++++++++++++++--
 4 files changed, 76 insertions(+), 19 deletions(-)


base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
-- 
2.37.3


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

end of thread, other threads:[~2026-09-04  3:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-04  3:21 [PATCH v4 0/2] cxl: Allow passthrough decoders with >16K granularity Alison Schofield
2026-09-04  3:21 ` [PATCH v4 1/2] cxl/region: Allow regions with an unencodable passthrough granularity Alison Schofield
2026-09-04  3:36   ` sashiko-bot
2026-09-04  3:53     ` Alison Schofield
2026-09-04  3:21 ` [PATCH v4 2/2] cxl/test: Add a 2-way 16K root decoder for passthrough testing Alison Schofield

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