On Thu, Nov 28, 2024 at 04:42:10PM +0100, Hans de Goede wrote: > It seems that Windows is only using the ACPI GPIO resources and never > looks at the part of the _DSM return value which encodes the pin number. > > For example on a Terra Pad 1262 v2 the following messages are printend: > > int3472-discrete INT3472:01: reset \_SB.GPI0 pin number mismatch _DSM 103 resource 359 > int3472-discrete INT3472:01: powerdown \_SB.GPI0 pin number mismatch _DSM 207 resource 335 > int3472-discrete INT3472:02: reset \_SB.GPI0 pin number mismatch _DSM 101 resource 357 > > Notice for the 2 reset pins that the _DSM value is off by 256, this is > caused by there only being 8 bits reserved in the _DSM return value for > the pin-number. > > As for the powerdown pin, testing has shown that the pin-number 335 from > the ACPI GPIO resource is correct and the _DSM value is bogus. > > Drop the warning about these mismatches since Windows clearly is just > ignoring the _DSM pin-number so invalid values are too be expected there. ... > - pin = FIELD_GET(INT3472_GPIO_DSM_PIN, obj->integer.value); > - if (pin != agpio->pin_table[0]) > - dev_warn(int3472->dev, "%s %s pin number mismatch _DSM %d resource %d\n", > - func, agpio->resource_source.string_ptr, pin, > - agpio->pin_table[0]); > - Hmm... Perhaps move it to dev_dbg(FW_BUG) ? -- With Best Regards, Andy Shevchenko