Re: Bug 11884 - _REG and _INI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Zhao Yakui wrote:
On Mon, 2008-12-15 at 18:47 +0800, Alexey Starikovskiy wrote:
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
--------------------------------------------------------------------------
There exists too much difference on different vendors.
In theory there exists the EC flag in AML code, which indicates whether
the EC operation region can be accessed.  After the EC _REG object is
evaluated, the EC flag will be set and it means that EC operation region
can be accessed. Before the EC _REG object is evaluated, it had better
be zero.
>From the above dmesg it seems that the above warning is related with one
of the two following factors:
   a. EC flag is initialized as one. In such case it means that EC
operation region can be accessed before EC initialization.
b. EC flag is not used correctly in some methods.
I've added a patch to #11884, which will limit _INI check to ASUS machines.
Thus, registration of handlers on HP will happen only after all _INI methods are run.
I think, it is a simpler way out of this mess.
At the same time from the above message we know that there exists the
ECDT table. So when there exists the ECDT table, we can continue to use
the current flowchart of EC initialization.

Can Lin ming's proposal be applied to the situation that there is no
ECDT table?
If ECDT exists, we must register EC driver before calls to _INI methods.
in absence of ECDT, we check for EC._INI method as a clue, with the new patch, we check EC._INI only on ASUS, so we will register EC driver early only if it is ASUS and has EC._INI.

Regards,
Alex.
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux