Re: [PATCH] cxl/hdm: allow zero sized committed decoders
From: Vishal Aslot
Date: Thu Oct 02 2025 - 21:03:32 EST
> ________________________________________
> From: Dave Jiang <dave.jiang@xxxxxxxxx>
> Sent: Thursday, October 2, 2025 10:32 AM
> To: Gregory Price; Vishal Aslot
> Cc: Davidlohr Bueso; Jonathan Cameron; Alison Schofield; Vishal Verma; Ira Weiny; Dan Williams; Li Ming; Peter Zijlstra; Dan Carpenter; Zijun Hu; linux-cxl@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] cxl/hdm: allow zero sized committed decoders
>
> External email: Use caution opening links or attachments
>
>
> On 10/1/25 10:48 PM, Gregory Price wrote:
>> On Wed, Oct 01, 2025 at 08:37:26PM +0000, Vishal Aslot wrote:
>>> @@ -1210,6 +1210,11 @@ int devm_cxl_enumerate_decoders(struct cxl_hdm *cxlhdm,
>>> rc = init_hdm_decoder(port, cxld, target_map, hdm, i,
>>> &dpa_base, info);
>>> if (rc) {
>>> + if (rc == -ENOSPC) {
>>> + put_device(&cxld->dev);
>>> + rc = 0;
>>> + continue;
>>> + }
>>
>> How do you suggest actually testing this? I briefly poked at this in
>> QEMU trying to commit decoders, but i found myself incapable of
>> exercising this path.
I tested it locally with our BIOS (UEFI) where we commit and lock all decoders and
all except decoder 0 are zero-sized.
>
> It may be worthwhile adding a cxl_test test case for this.
Yeah, sure. Would cxl mock tests be the right place to explore this?
>>
>>> dev_warn(&port->dev,
>>> "Failed to initialize decoder%d.%d\n",
>>> port->id, i);
>>> --
>>> 2.34.1