RE: Regression between rc2 and rc6: ACPI EC problems

From: Zheng, Lv
Date: Wed Jul 06 2016 - 20:27:40 EST


Hi, Rafael

> From: Rafael J. Wysocki [mailto:rjw@xxxxxxxxxxxxx]
> Sent: Thursday, July 7, 2016 5:29 AM
> Subject: Re: Regression between rc2 and rc6: ACPI EC problems
>
> On Wednesday, July 06, 2016 11:14:11 PM Wolfram Sang wrote:
> > Hi,
> >
> > when upgrading from v4.7-rc2 to rc6 on my Dell Mini 9, battery and
> > temperature status info got bogus. Here is the major change between
> the
> > boot logs:
> >
> > ACPI : EC: EC stopped
> > ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for
> [EmbeddedControl] (20160422/evregion-300)
> > ACPI Error: Method parse/execution failed [\_SB.PCI0.LPCB.EC0._REG]
> (Node f5d09870), AE_BAD_PARAMETER (20160422/psparse-542)
> > ACPI Exception: AE_BAD_PARAMETER, from region _REG,
> [EmbeddedControl] (20160422/evregion-397)
> > ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for
> [EmbeddedControl] (20160422/evregion-300)
> > ACPI Error: Method parse/execution failed [\_SB.PCI0.LPCB.EC0._REG]
> (Node f5d09870), AE_BAD_PARAMETER (20160422/psparse-542)
> > ACPI Exception: AE_BAD_PARAMETER, from region _REG,
> [EmbeddedControl] (20160422/evregion-397)
> > ACPI : EC: GPE = 0x19, I/O: command/status = 0x66, data = 0x62
> > ACPI : EC: EC started
[Lv Zheng]
This is a known order issue that ACPICA executes _REG(DISCONENCT) after removing the opregion handler.
But this issue is not a function failure, it only generates error garbage in the kernel log.
So we didn't fix it in a hurry.

There is another order issue detected in the same Bugzilla entry that:
_REG(CONNECT/DISCONNECT) shouldn't be invoked for SystemMemory/SystemIo and PCI_Config that under a PCI root bus containing _BBN method.
Which is also proven by the Windows behavior and spec definitions.

I was planning to fix the both issues in the ACPICA upstream.
The bug is here for your reference:
https://bugzilla.kernel.org/show_bug.cgi?id=102421

For now, since this is just a non-function-failure error report, we can ignore it.
Because sometimes, when there are several problems related, we have to make a choice to fix one of them first.

Thanks and best regards
-Lv


> >
> > The only config changes between the kernels were enabling MMC block
> > devices and DM_CRYPT. Not likely to cause the above, I'd think.
> >
> > Does that ring a bell for someone? This little machine has only an SSD
> > without TRIM, so bisecting is not really an option. I can provide more
> > info and test patches, though.
>
> There is one commit related directly to EC between -rc2 and -rc6:
>
> dcf15cbded65 ACPI / EC: Fix a boot EC regresion by restoring boot EC
> support for the DSDT EC
>
> There also are two ACPICA commits in that frame that may be related to it
>
> 2f38b1b16d92 ACPICA: Namespace: Fix deadlock triggered by MLC
> support in dynamic table loading
> da4e792550a8 Revert "ACPICA: ACPI 2.0, Hardware: Add
> access_width/bit_offset support for acpi_hw_write()"
>
> but one of them is a revert, so can you please check dcf15cbded65 and
> 2f38b1b16d92?
>
> Thanks,
> Rafael