Re: Bug 11884 - _REG and _INI

Alexey Starikovskiy
2008-12-15T10:47:22Z

It's not that simple... Here is relevant part of dmesg from my thinkpad:

------------------------------------------------------------------------
ACPI Error (evregion-0315): No handler for Region [ECOR]
(ffff8800bf814558) [EmbeddedControl] [20080926]
ACPI Error (exfldio-0291): Region EmbeddedControl(3) has no handler
[20080926]
ACPI Error (psparse-0524): Method parse/execution failed
[\_SB_.PCI0.LPC_.EC__._INI] (Node ffff8800bf817300), AE_NOT_EXIST
ACPI: EC: EC description table is found, configuring boot EC
ACPI: Interpreter enabled
ACPI: (supports S0 S3 S5)
ACPI: Using IOAPIC for interrupt routing
ACPI: EC: non-query interrupt received, switching to interrupt mode
ACPI: EC: GPE = 0x1c, I/O: command/status = 0x66, data = 0x62
ACPI: EC: driver started in interrupt mode
--------------------------------------------------------------------------

Any other suggestions?

Regards,
Alex.

Alexey Starikovskiy wrote:
> Zhao Yakui wrote:
>> On Mon, 2008-12-15 at 11:51 +0800, Lin Ming wrote:
>>> http://bugzilla.kernel.org/show_bug.cgi?id=11884
>>> Method(\_SB._INI)
>>> {
>>> //initialize package CUZO
>>> }
>>>
>>> Method(\_SB_.PCI0.LPCB.EC0_._REG)
>>> {
>>> //access package CUZO
>>> }
>>>
>>> For this machine, ﻿\_SB._INI must be run before
>>> ﻿\_SB_.PCI0.LPCB.EC0_._REG
>>>
>>> But currently early EC _REG method is run before _INI as below
>>> acpi_bus_init shows.
>>>
>>> void __init acpi_bus_init(void)
>>> .....
>>> status = acpi_ec_ecdt_probe();
>>> /* Ignore result. Not having an ECDT is not fatal. */
>>>
>>> status = acpi_initialize_objects(ACPI_FULL_INITIALIZATION);
>>> .....
>>> }
>>>
>>> ﻿acpi_ec_ecdt_probe will install ec handler although no ECDT found
>>> in this machine.
>>>
>>> Alexey, How about that if there's no ECDT found, we do not install
>>> ec handler before ﻿acpi_initialize_objects?
>>
>> I do some test with the help of KVM. In my test the ECDT table is
>> defined. And there also exists the EC device in DSDT table.Of course
>> there exists the _INI/_REG object under the scope of EC device. Under
>> the scope of \_SB.PCI0 there exists the _INI/_REG object.
>>
>>> From the test result it seems that all the _INI objects are evaluated
>> before _REG object even when there exists the ECDT table.
>>
>> Hi, Alexey
>> Can the Lin Ming's proposal be considered based on the above test?
> Hi Yakui,
> His proposal needs to be considered even without your test (but the
> test itself is quite helpful), just because HP does not violate the
> ACPI spec, but ASUS notebooks without ECDT do violate it (and fake
> ECDT workaround is there for them).
>
> Thanks,
> Alex.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html