Re: [PATCH v3 0/2] cxl: Allow passthrough decoders with >16K granularity

Dave Jiang <[email protected]> Mon, 27 Jul 2026 16:36:59 -0700
Newsgroups org.kernel.vger.linux-cxl
Message-ID <[email protected]>

On 7/24/26 6:08 PM, Alison Schofield wrote:
> 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]/
> 

For the series:
Reviewed-by: Dave Jiang <[email protected]>

DJ

> 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