Re: [PATCH] cxl/hdm: allow zero sized committed decoders

From: Dave Jiang
Date: Fri Oct 03 2025 - 12:14:43 EST




On 10/2/25 6:03 PM, Vishal Aslot wrote:
>> ________________________________________
>> 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?

Yes. Under tools/testing/cxl. Let me know if you need help with that.

DJ

>
>>>
>>>> dev_warn(&port->dev,
>>>> "Failed to initialize decoder%d.%d\n",
>>>> port->id, i);
>>>> --
>>>> 2.34.1
>