[PATCH v4 15/27] acpi/gpex: Fix PCI Express Slot Information function 0 returned value

Shameer Kolothum posted 27 patches 1 month, 2 weeks ago
There is a newer version of this series
[PATCH v4 15/27] acpi/gpex: Fix PCI Express Slot Information function 0 returned value
Posted by Shameer Kolothum 1 month, 2 weeks ago
From: Eric Auger <eric.auger@redhat.com>

At the moment we do not support other function than function 0. So according
to ACPI spec "_DSM (Device Specific Method)" description, bit 0 should rather
be 0, meaning no other function is supported than function 0.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Shameer Kolothum <skolothumtho@nvidia.com>
---
 hw/pci-host/gpex-acpi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c
index 952a0ace19..4587baeb78 100644
--- a/hw/pci-host/gpex-acpi.c
+++ b/hw/pci-host/gpex-acpi.c
@@ -64,7 +64,7 @@ static Aml *build_pci_host_bridge_dsm_method(void)
     UUID = aml_touuid("E5C937D0-3553-4D7A-9117-EA4D19C3434D");
     ifctx = aml_if(aml_equal(aml_arg(0), UUID));
     ifctx1 = aml_if(aml_equal(aml_arg(2), aml_int(0)));
-    uint8_t byte_list[1] = {1};
+    uint8_t byte_list[1] = {0};
     buf = aml_buffer(1, byte_list);
     aml_append(ifctx1, aml_return(buf));
     aml_append(ifctx, ifctx1);
-- 
2.43.0
Re: [PATCH v4 15/27] acpi/gpex: Fix PCI Express Slot Information function 0 returned value
Posted by Jonathan Cameron via 1 month, 2 weeks ago
On Mon, 29 Sep 2025 14:36:31 +0100
Shameer Kolothum <skolothumtho@nvidia.com> wrote:

> From: Eric Auger <eric.auger@redhat.com>
> 
> At the moment we do not support other function than function 0. So according
> to ACPI spec "_DSM (Device Specific Method)" description, bit 0 should rather
> be 0, meaning no other function is supported than function 0.
> 
> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> Signed-off-by: Shameer Kolothum <skolothumtho@nvidia.com>
Given description, why not yank this to the front and get it upstreamed quicker.
Also, a fixes tag seems appropriate?

Doesn't this show up in some of the tables tests?

Please include relevant chunk of AML as well as qemu AML generation code isn't
exactly easy to check against the spec.  Probably +CC at least Michael Tsrikin
on next version of this patch.

J

> ---
>  hw/pci-host/gpex-acpi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c
> index 952a0ace19..4587baeb78 100644
> --- a/hw/pci-host/gpex-acpi.c
> +++ b/hw/pci-host/gpex-acpi.c
> @@ -64,7 +64,7 @@ static Aml *build_pci_host_bridge_dsm_method(void)
>      UUID = aml_touuid("E5C937D0-3553-4D7A-9117-EA4D19C3434D");
>      ifctx = aml_if(aml_equal(aml_arg(0), UUID));
>      ifctx1 = aml_if(aml_equal(aml_arg(2), aml_int(0)));
> -    uint8_t byte_list[1] = {1};
> +    uint8_t byte_list[1] = {0};
>      buf = aml_buffer(1, byte_list);
>      aml_append(ifctx1, aml_return(buf));
>      aml_append(ifctx, ifctx1);
RE: [PATCH v4 15/27] acpi/gpex: Fix PCI Express Slot Information function 0 returned value
Posted by Shameer Kolothum 1 month, 1 week ago

> -----Original Message-----
> From: Jonathan Cameron <jonathan.cameron@huawei.com>
> Sent: 01 October 2025 13:59
> To: Shameer Kolothum <skolothumtho@nvidia.com>
> Cc: qemu-arm@nongnu.org; qemu-devel@nongnu.org;
> eric.auger@redhat.com; peter.maydell@linaro.org; Jason Gunthorpe
> <jgg@nvidia.com>; Nicolin Chen <nicolinc@nvidia.com>; ddutile@redhat.com;
> berrange@redhat.com; Nathan Chen <nathanc@nvidia.com>; Matt Ochs
> <mochs@nvidia.com>; smostafa@google.com; wangzhou1@hisilicon.com;
> jiangkunkun@huawei.com; zhangfei.gao@linaro.org;
> zhenzhong.duan@intel.com; yi.l.liu@intel.com;
> shameerkolothum@gmail.com
> Subject: Re: [PATCH v4 15/27] acpi/gpex: Fix PCI Express Slot Information
> function 0 returned value
> 
> External email: Use caution opening links or attachments
> 
> 
> On Mon, 29 Sep 2025 14:36:31 +0100
> Shameer Kolothum <skolothumtho@nvidia.com> wrote:
> 
> > From: Eric Auger <eric.auger@redhat.com>
> >
> > At the moment we do not support other function than function 0. So
> according
> > to ACPI spec "_DSM (Device Specific Method)" description, bit 0 should
> rather
> > be 0, meaning no other function is supported than function 0.
> >
> > Signed-off-by: Eric Auger <eric.auger@redhat.com>
> > Signed-off-by: Shameer Kolothum <skolothumtho@nvidia.com>
> Given description, why not yank this to the front and get it upstreamed
> quicker.
> Also, a fixes tag seems appropriate?
> 
> Doesn't this show up in some of the tables tests?

Possibly. I will double check that.

> 
> Please include relevant chunk of AML as well as qemu AML generation code
> isn't
> exactly easy to check against the spec.  Probably +CC at least Michael Tsrikin
> on next version of this patch.

Ok.

Thanks,
Shameer

 
> J
> 
> > ---
> >  hw/pci-host/gpex-acpi.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c
> > index 952a0ace19..4587baeb78 100644
> > --- a/hw/pci-host/gpex-acpi.c
> > +++ b/hw/pci-host/gpex-acpi.c
> > @@ -64,7 +64,7 @@ static Aml *build_pci_host_bridge_dsm_method(void)
> >      UUID = aml_touuid("E5C937D0-3553-4D7A-9117-EA4D19C3434D");
> >      ifctx = aml_if(aml_equal(aml_arg(0), UUID));
> >      ifctx1 = aml_if(aml_equal(aml_arg(2), aml_int(0)));
> > -    uint8_t byte_list[1] = {1};
> > +    uint8_t byte_list[1] = {0};
> >      buf = aml_buffer(1, byte_list);
> >      aml_append(ifctx1, aml_return(buf));
> >      aml_append(ifctx, ifctx1);
Re: [PATCH v4 15/27] acpi/gpex: Fix PCI Express Slot Information function 0 returned value
Posted by Eric Auger 3 weeks, 3 days ago

On 10/2/25 9:39 AM, Shameer Kolothum wrote:
>
>> -----Original Message-----
>> From: Jonathan Cameron <jonathan.cameron@huawei.com>
>> Sent: 01 October 2025 13:59
>> To: Shameer Kolothum <skolothumtho@nvidia.com>
>> Cc: qemu-arm@nongnu.org; qemu-devel@nongnu.org;
>> eric.auger@redhat.com; peter.maydell@linaro.org; Jason Gunthorpe
>> <jgg@nvidia.com>; Nicolin Chen <nicolinc@nvidia.com>; ddutile@redhat.com;
>> berrange@redhat.com; Nathan Chen <nathanc@nvidia.com>; Matt Ochs
>> <mochs@nvidia.com>; smostafa@google.com; wangzhou1@hisilicon.com;
>> jiangkunkun@huawei.com; zhangfei.gao@linaro.org;
>> zhenzhong.duan@intel.com; yi.l.liu@intel.com;
>> shameerkolothum@gmail.com
>> Subject: Re: [PATCH v4 15/27] acpi/gpex: Fix PCI Express Slot Information
>> function 0 returned value
>>
>> External email: Use caution opening links or attachments
>>
>>
>> On Mon, 29 Sep 2025 14:36:31 +0100
>> Shameer Kolothum <skolothumtho@nvidia.com> wrote:
>>
>>> From: Eric Auger <eric.auger@redhat.com>
>>>
>>> At the moment we do not support other function than function 0. So
>> according
>>> to ACPI spec "_DSM (Device Specific Method)" description, bit 0 should
>> rather
>>> be 0, meaning no other function is supported than function 0.
>>>
>>> Signed-off-by: Eric Auger <eric.auger@redhat.com>
>>> Signed-off-by: Shameer Kolothum <skolothumtho@nvidia.com>
>> Given description, why not yank this to the front and get it upstreamed
>> quicker.
I agree with Jonathan, Can be sent in a prerequisite patch/series with
potential updates in the ACPI table tests.

Thanks

Eric
>> Also, a fixes tag seems appropriate?
>>
>> Doesn't this show up in some of the tables tests?
> Possibly. I will double check that.
>
>> Please include relevant chunk of AML as well as qemu AML generation code
>> isn't
>> exactly easy to check against the spec.  Probably +CC at least Michael Tsrikin
>> on next version of this patch.
> Ok.
>
> Thanks,
> Shameer
>
>  
>> J
>>
>>> ---
>>>  hw/pci-host/gpex-acpi.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c
>>> index 952a0ace19..4587baeb78 100644
>>> --- a/hw/pci-host/gpex-acpi.c
>>> +++ b/hw/pci-host/gpex-acpi.c
>>> @@ -64,7 +64,7 @@ static Aml *build_pci_host_bridge_dsm_method(void)
>>>      UUID = aml_touuid("E5C937D0-3553-4D7A-9117-EA4D19C3434D");
>>>      ifctx = aml_if(aml_equal(aml_arg(0), UUID));
>>>      ifctx1 = aml_if(aml_equal(aml_arg(2), aml_int(0)));
>>> -    uint8_t byte_list[1] = {1};
>>> +    uint8_t byte_list[1] = {0};
>>>      buf = aml_buffer(1, byte_list);
>>>      aml_append(ifctx1, aml_return(buf));
>>>      aml_append(ifctx, ifctx1);