linux/drivers/acpi
Rafael J. Wysocki 65df78473f ACPI suspend: Blacklist boxes that require us to set SCI_EN directly on resume
Some Apple boxes evidently require us to set SCI_EN on resume
directly, because if we don't do that, they hung somewhere in the
resume code path.  Moreover, on these boxes it is not sufficient to
use acpi_enable() to turn ACPI on during resume.  All of this is
against the ACPI specification which states that (1) the BIOS is
supposed to return from the S3 sleep state with ACPI enabled
(SCI_EN set) and (2) the SCI_EN bit is owned by the hardware and we
are not supposed to change it.

For this reason, blacklist the affected systems so that the SCI_EN
bit is set during resume on them.

[NOTE: Unconditional setting SCI_EN for all system on resume doesn't
 work, because it makes some other systems crash (that's to be
 expected).  Also, it is not entirely clear right now if all of the
 Apple boxes require this workaround.]

This patch fixes the recent regression tracked as
http://bugzilla.kernel.org/show_bug.cgi?id=12038

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Tested-by: Tino Keitel <tino.keitel@gmx.de>
Tested-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-11-26 17:53:13 -05:00
..
dispatcher ACPICA: Fix for implicit return compatibility 2008-10-22 23:14:49 -04:00
events Merge branch 'ec' into release 2008-11-11 21:17:26 -05:00
executer ACPICA: Add support for zero-length buffer-to-string conversions 2008-10-22 23:14:50 -04:00
hardware ACPI suspend: Always use the 32-bit waking vector 2008-10-16 20:45:35 -04:00
namespace ACPICA: New: Validation for predefined ACPI methods/objects 2008-10-22 23:14:49 -04:00
parser ACPICA: Fixed a couple memory leaks associated with "implicit return" 2008-10-22 23:14:48 -04:00
resources ACPICA: Cleanup for internal Reference Object 2008-10-22 23:14:45 -04:00
sleep ACPI suspend: Blacklist boxes that require us to set SCI_EN directly on resume 2008-11-26 17:53:13 -05:00
tables ACPI: use macro to replace hard number 2008-11-06 21:51:02 -05:00
utilities ACPICA: Optimize buffer allocation procedure 2008-10-22 23:14:48 -04:00
ac.c Merge branch 'sysfs' into release 2008-11-11 21:14:49 -05:00
acpi_memhotplug.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
asus_acpi.c Merge branch 'ull' into test 2008-10-22 23:33:29 -04:00
battery.c ACPI: battery: Convert discharge energy rate to current properly 2008-11-26 17:23:10 -05:00
blacklist.c
bus.c ACPI: turn off all debug output by default 2008-11-07 21:45:16 -05:00
button.c Merge branch 'ec' into release 2008-11-11 21:17:26 -05:00
cm_sbs.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
container.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
debug.c ACPI: add driver component definitions to sysfs debug_layers 2008-11-07 21:45:04 -05:00
dock.c Merge branch 'ull' into test 2008-10-22 23:33:29 -04:00
ec.c ACPI: EC: count interrupts only if called from interrupt handler. 2008-11-26 17:16:45 -05:00
event.c acpi: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
fan.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
glue.c ACPI: video: Ignore devices that aren't present in hardware 2008-11-07 23:49:23 -05:00
Kconfig ACPI: update debug parameter documentation 2008-11-07 21:45:29 -05:00
Makefile Merge branch 'video' into release 2008-11-11 21:15:50 -05:00
numa.c ACPI: Change acpi_evaluate_integer to support 64-bit on 32-bit kernels 2008-10-11 02:47:33 -04:00
osl.c Merge branch 'ull' into test 2008-10-22 23:33:29 -04:00
pci_bind.c
pci_irq.c ACPI: use dev_printk when possible 2008-07-16 23:27:07 +02:00
pci_link.c ACPI: pci_link: remove acpi_irq_balance_set() interface 2008-11-11 21:12:05 -05:00
pci_root.c ACPI: remove comments about debug layer/level to use 2008-11-06 15:30:19 -05:00
pci_slot.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-10-23 10:20:36 -07:00
power.c Merge branch 'power' into release 2008-11-11 21:14:15 -05:00
processor_core.c Merge branch 'processor-256' into release 2008-11-11 21:17:03 -05:00
processor_idle.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
processor_perflib.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
processor_thermal.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
processor_throttling.c ACPI: consolidate ACPI_*_COMPONENT definitions in acpi_drivers.h 2008-11-07 21:44:37 -05:00
reboot.c Revert "ACPI: Ingore the RESET_REG_SUP bit when using ACPI reset mechanism" 2008-11-06 20:51:59 -05:00
sbs.c Merge branch 'linus' into test 2008-10-23 00:11:07 -04:00
sbshc.c Merge branch 'ull' into test 2008-10-22 23:33:29 -04:00
sbshc.h
scan.c Merge branch 'processor-256' into release 2008-11-11 21:17:03 -05:00
system.c Merge branch 'ec' into release 2008-11-11 21:17:26 -05:00
tables.c acpi: add checking for NULL early param 2008-08-21 08:45:39 +02:00
thermal.c Merge branch 'sysfs' into release 2008-11-11 21:14:49 -05:00
toshiba_acpi.c toshiba_acpi: always call input_sync() after input_report_switch() 2008-10-25 04:07:13 -04:00
utils.c ACPI: scheduling in atomic via acpi_evaluate_integer () 2008-11-26 17:39:06 -05:00
video_detect.c Merge branch 'video' into release 2008-11-11 21:15:50 -05:00
video.c Merge branch 'video' into release 2008-11-11 21:15:50 -05:00
wmi.c ACPI: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-06 21:37:19 -05:00