linux/include/acpi
Alex Chiang 78f1699659 ACPI: processor: call _PDC early
We discovered that at least one machine (HP Envy), methods in the DSDT
attempt to call external methods defined in a dynamically loaded SSDT.

Unfortunately, the DSDT methods we are trying to call are part of the
EC initialization, which happens very early, and the the dynamic SSDT
is only loaded when a processor _PDC method runs much later.

This results in namespace lookup errors for the (as of yet) undefined
methods.

Since Windows doesn't have any issues with this machine, we take it
as a hint that they must be evaluating _PDC much earlier than we are.

Thus, the proper thing for Linux to do should be to match the Windows
implementation more closely.

Provide a mechanism to call _PDC before we enable the EC. Doing so loads
the dynamic tables, and allows the EC to be enabled correctly.

The ACPI processor driver will still evaluate _PDC in its .add() method
to cover the hotplug case.

Resolves: http://bugzilla.kernel.org/show_bug.cgi?id=14824

Cc: ming.m.lin@intel.com
Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2009-12-22 03:24:08 -05:00
..
platform Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2009-09-23 09:32:11 -07:00
acexcep.h ACPICA: Fix parameter validation for acpi_read/write 2009-03-26 16:38:25 -04:00
acnames.h ACPICA: update Intel copyright 2008-04-23 23:00:13 -04:00
acoutput.h ACPICA: Remove messages if predefined repair(s) are successful 2009-12-15 17:29:36 -05:00
acpi_bus.h ACPI: remove acpi_device_uid() and related stuff 2009-09-25 15:09:49 -04:00
acpi_drivers.h Merge branches 'acerhdf', 'acpi-pci-bind', 'bjorn-pci-root', 'bugzilla-12904', 'bugzilla-13121', 'bugzilla-13396', 'bugzilla-13533', 'bugzilla-13612', 'c3_lock', 'hid-cleanups', 'misc-2.6.31', 'pdc-leak-fix', 'pnpacpi', 'power_nocheck', 'thinkpad_acpi', 'video' and 'wmi' into release 2009-06-24 01:19:50 -04:00
acpi_hest.h PCI: PCIe AER: honor ACPI HEST FIRMWARE FIRST mode 2009-11-04 13:06:25 -08:00
acpi_numa.h ACPI: misc cleanups 2008-02-07 03:33:23 -05:00
acpi.h ACPICA: Restructure includes into public/private 2008-12-31 01:15:40 -05:00
acpiosxf.h ACPICA: fix leak of acpi_os_validate_address 2009-08-27 13:10:35 -04:00
acpixf.h ACPICA: Update version to 20091214 2009-12-15 17:29:37 -05:00
acrestyp.h ACPICA: Restructure includes into public/private 2008-12-31 01:15:40 -05:00
actbl1.h ACPICA: Fix typo for HEST ACPI table 2009-08-28 19:40:39 -04:00
actbl2.h ACPICA: ACPI 4: Update headers for new and changed ACPI tables. 2009-08-28 19:40:38 -04:00
actbl.h ACPICA: ACPI 4: Update headers for new and changed ACPI tables. 2009-08-28 19:40:38 -04:00
actypes.h Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2009-09-23 09:32:11 -07:00
button.h ACPI: make ACPI button funcs no-ops if not built in 2009-09-17 14:48:23 -07:00
container.h [ACPI] Lindent all ACPI files 2005-08-05 00:45:14 -04:00
pdc_intel.h ACPI: Enable bit 11 in _PDC to advertise hw coord 2009-02-07 00:41:14 -05:00
processor.h ACPI: processor: call _PDC early 2009-12-22 03:24:08 -05:00
reboot.h Add the ability to reset the machine using the RESET_REG in ACPI's FADT table. 2008-07-16 23:27:08 +02:00
video.h ACPI: Add the reference count to avoid unloading ACPI video bus twice 2009-06-23 23:38:41 -04:00