Re: [Kernel 5.1] ACPI_DEBUG messages without CONFIG_ACPI_DEBUG being set

From: Gabriel C
Date: Tue May 07 2019 - 05:32:36 EST


Am Di., 7. Mai 2019 um 10:35 Uhr schrieb Rafael J. Wysocki <rafael@xxxxxxxxxx>:
>
> On Tue, May 7, 2019 at 9:31 AM Gabriel C <nix.or.die@xxxxxxxxx> wrote:
> >
> > Am Di., 7. Mai 2019 um 09:01 Uhr schrieb Rafael J. Wysocki <rafael@xxxxxxxxxx>:
> > >
> > Hello Rafael , Erik
> >
> > > +Erik
> > >
> > > On Tue, May 7, 2019 at 1:33 AM Gabriel C <nix.or.die@xxxxxxxxx> wrote:
> > > >
> > > > Hello,
> > > >
> > > > while testing kernel-5.1 I get on one of my Lenovo Laptops very
> > > > strange 'ACPI Debug:' messages.
> > > >
> > > > After some grepping I realized these are Debug messages from DSDT ,
> > > > however my kernel does
> > > > not have ACPI_DEBUG enabled.
> > > >
> > > > I found out the module triggering this, on this Laptop is
> > > > ideapad_laptop , but looking at the code
> > > > I cannot see what would causes that.
> > > >
> > > > Also on the same Laptop with any 5.0.X kernels I cannot see these.
> > > >
> > > >
> > > > ~$ grep -i ACPI_DEBUG /boot/config-5.1-fw1
> > > > # CONFIG_ACPI_DEBUGGER is not set
> > > > # CONFIG_ACPI_DEBUG is not set
> > > > # CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
> > > > # CONFIG_THINKPAD_ACPI_DEBUG is not set
> > > >
> > > > .. dmesg ..
> > > > ...
> > > > [ 68.020812] calling ideapad_acpi_driver_init+0x0/0x1000
> > > > [ideapad_laptop] @ 1322
> > > > [ 68.026708] input: Ideapad extra buttons as
> > > > /devices/pci0000:00/0000:00:1f.0/PNP0C09:00/VPC2004:00/input/input16
> > > > [ 68.038236] ACPI Debug: "=====QUERY_64====="
> > > > [ 68.050232] ACPI Debug: "=====QUERY_65====="
> > > > [ 68.060218] ACPI Debug: "=====QUERY_64====="
> > > > [ 68.092216] probe of VPC2004:00 returned 1 after 71386 usecs
> > > > [ 68.092245] initcall ideapad_acpi_driver_init+0x0/0x1000
> > > > [ideapad_laptop] returned 0 after 69751 usecssg
> > > >
> > > > ...
> > > >
> > > > These =====QUERY_XX===== messages are from DSDT:
> > > >
> > > > ~/acpi$ grep QUERY dsdt.dsl
> > > > Debug = "=====QUERY_11====="
> > > > Debug = "=====QUERY_12====="
> > > > Debug = "=====QUERY_24====="
> > > > Debug = "=====QUERY_25====="
> > > > Debug = "=====QUERY_37====="
> > > > Debug = "=====QUERY_38====="
> > > > Debug = "=====QUERY_64====="
> > > > Debug = "=====QUERY_65====="
> > > >
> > > > Also this is the code from DSDT for QUERY 64 and 65:
> > > >
> > > > ...
> > > > Method (_Q64, 0, NotSerialized) // _Qxx: EC Query
> > > > {
> > > > Debug = "=====QUERY_64====="
> > > > If ((OSYS == 0x07D9))
> > > > {
> > > > If (((WLEX == One) & (WLAT == One)))
> > > > {
> > > > SGOV (0x02040005, One)
> > > > }
> > > > Else
> > > > {
> > > > SGOV (0x02040005, Zero)
> > > > }
> > > > }
> > > > }
> > > >
> > > > Method (_Q65, 0, NotSerialized) // _Qxx: EC Query
> > > > {
> > > > Debug = "=====QUERY_65====="
> > > > If ((OSYS == 0x07D9))
> > > > {
> > > > If (((BTEX == One) & (BTAT == One)))
> > > > {
> > > > SGOV (0x0202000B, One)
> > > > }
> > > > Else
> > > > {
> > > > SGOV (0x0202000B, Zero)
> > > > }
> > > > }
> > > > }
> > > >
> > > > ...
> > > >
> > > >
> > > > Any idea what would cause this ?
> >
> > I think I found what is causing that.
> >
> > Commit aa9aaa4d61c0048d3faad056893cd7860bbc084c is moving
> > definition of Linux's ACPI_DEBUG_DEFAULT to incude/acpi/platform/aclinux.h ,
> > however include/acpi/acpi.h didn't got updated and ACPI_DEBUG_DEFAULT now
> > being always defined as (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT |
> > ACPI_LV_EVALUATION | ACPI_LV_REPAIR)
>
> I'm not sure what you mean by this.
>
> include/acpi/acpi.h should get the right definitions through
> include/acpi/platform/acenv.h and include/acpi/acoutput.h that are
> included by it.
>

Hmm yes should , I missed that include. However it does not work.

I've just put back old code back into drivers/acpi/bus.c to test
and all working now fine without any other changes.

> It looks like incude/acpi/platform/aclinux.h has not been included by
> include/acpi/platform/acenv.h for some reason when building this
> module.

If this one getting it wrong all will do so , they all just include
<linux/acpi.h>.

Probably not so much users will notice that , I just did because my
BIOS vendor forgot DEBUG around.