Hi Linus, please pull from: git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git release Mostly regression fixes, plus a few isolated bug fixes that seemed appropriate to send upstream now instead of waiting for 2.6.31. This will update the files shown below. thanks! -- Len Brown Intel Open Source Technology Center ps. individual patches are available on linux-acpi@xxxxxxxxxxxxxxx and a consolidated plain patch is available here: ftp://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/2.6.30/acpi-release-20090422-2.6.30-rc5.diff.gz drivers/acpi/acpica/Makefile | 27 +++++++++++--------- drivers/acpi/acpica/aclocal.h | 7 ++++- drivers/acpi/bus.c | 2 +- drivers/acpi/processor_idle.c | 42 ++++++++++++++++++++++++------ drivers/acpi/processor_throttling.c | 25 ++++++++++++++++++ drivers/acpi/video.c | 38 ++++++++++++++++++++++++++++ drivers/gpu/drm/Kconfig | 6 ++++ drivers/platform/x86/asus-laptop.c | 6 ++-- drivers/platform/x86/eeepc-laptop.c | 47 +++++++++++++++++++++++++++++----- drivers/pnp/pnpacpi/core.c | 8 ++--- drivers/thermal/thermal_sys.c | 8 +++--- 11 files changed, 174 insertions(+), 42 deletions(-) through these commits: Alan Jenkins (2): eeepc-laptop: fix wlan rfkill state change during init eeepc-laptop: Work around rfkill firmware bug Corentin Chary (2): asus-laptop: fix input keycode eeepc-laptop: unregister_rfkill_notifier on failure Darren Salt (1): eeepc-laptop: report brightness control events via the input layer Grigori Goronzy (1): eeepc-laptop: support for super hybrid engine (SHE) Len Brown (8): ACPICA: use acpi.* modparam namespace ACPI: video: DMI workaround another broken Acer BIOS enabling display brightness ACPI: power: update error message ACPI: suspend: don't let device _PS3 failure prevent suspend ACPI: suspend: restore BM_RLD on resume ACPI, i915: build fix ACPI: idle: fix init-time TSC check regression ACPI: Idle C-states disabled by max_cstate should not disable the TSC Lin Ming (1): ACPI: resume: re-enable SCI-enable workaround Vladimir Zajac (1): thermal: fix off-by-1 error in trip point trigger condition Zhang Rui (3): ACPI video: dmi check for broken _BQC on Acer Aspire 5720 ACPI processor: introduce module parameter processor.ignore_tpc ACPI processor: reset the throttling state once it's invalid with this log: commit 4e3507f7189111b0cb66c30def3423c6aba8f85a Merge: 7c7327d 815ab0f 5199176 5afc4ab ecb4aed 19bde77 4973b22 975b3c4 2932135 a0bf284 bd32005 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sat May 16 01:55:59 2009 -0400 Merge branches 'release', 'bugzilla-13032', 'bugzilla-13041+', 'bugzilla-13121', 'bugzilla-13165', 'bugzilla-13243', 'bugzilla-13259', 'resume-sci-en-regression', 'thermal-regression', 'tsc-regression' and 'asus-2.6.30' into release commit a0bf284bfedd6dc95bbee7ebf5ccf3b5f753a008 Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri May 15 01:29:31 2009 -0400 ACPI: Idle C-states disabled by max_cstate should not disable the TSC Processor idle power states C2 and C3 stop the TSC on many machines. Linux recognizes this situation and marks the TSC as unstable: Marking TSC unstable due to TSC halts in idle But if those same machines are booted with "processor.max_cstate=1", then there is no need to validate C2 and C3, and no need to disable the TSC, which can be reliably used as a clocksource. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 520daf7217bc1806c02eb4cfa7805447a3da2f66 Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu May 14 17:27:38 2009 -0400 ACPI: idle: fix init-time TSC check regression A previous 2.6.30 patch, a71e4917dc0ebbcb5a0ecb7ca3486643c1c9a6e2, (ACPI: idle: mark_tsc_unstable() at init-time, not run-time) erroneously disabled the TSC on systems that did not actually have valid deep C-states. Move the check after the deep-C-states are validated, via new helper, tsc_check_state(), hich replaces tsc_halts_in_c(). Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Acked-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Frans Pop <elendil@xxxxxxxxx> commit 4973b22aa8c70fe036e3e0039f104cf5bb7fe2b1 Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Mon May 11 09:36:01 2009 +0800 ACPI processor: reset the throttling state once it's invalid If the BIOS hands us an invalid throttling state, write a valid state. http://bugzilla.kernel.org/show_bug.cgi?id=13259 Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Tested-by: James Ettle <theholyettlz@xxxxxxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 56c213fa012f2bad9eff908292ff2500f840b020 Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Mon May 11 09:35:57 2009 +0800 ACPI processor: introduce module parameter processor.ignore_tpc Introduce module parameter processor.ignore_tpc. Some laptops are shipped with buggy _TPC, this module parameter is used to to disable the buggy support. http://bugzilla.kernel.org/show_bug.cgi?id=13259 Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Tested-by: James Ettle <theholyettlz@xxxxxxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit ecb4aed78dcf09e48c8c34c8c2fa7f5c69344be6 Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Apr 24 11:33:47 2009 -0400 ACPI, i915: build fix drivers/built-in.o: In function `intel_opregion_init': (.text+0x9d540): undefined reference to `acpi_video_register' http://bugzilla.kernel.org/show_bug.cgi?id=13165 Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 815ab0fd40579ad2aa42058298073503648762b9 Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu May 7 22:19:45 2009 -0400 ACPI: suspend: restore BM_RLD on resume In 2.6.29, 31878dd86b7df9a147f5e6cc6e07092b4308782b "ACPI: remove BM_RLD access from idle entry path" moved BM_RLD initialization to init-time from run time. But we discovered that some BIOS do not restore BM_RLD after suspend, causing device errors on C3 and C4 after resume. So now the kernel restores BM_RLD. http://bugzilla.kernel.org/show_bug.cgi?id=13032 Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 975b3c474c13d29337eaf7da8f5f5c0299e4943f Author: Lin Ming <ming.m.lin@xxxxxxxxx> Date: Fri May 15 22:27:49 2009 -0400 ACPI: resume: re-enable SCI-enable workaround The BIOS bug workaround mistakenly got disabled when we followed the ACPI specification more closely by ignoring OS updates to that bit. (The BIOS is supposed to update SCI_EN, not the OS) http://bugzilla.kernel.org/show_bug.cgi?id=13289 Signed-off-by: Lin Ming <ming.m.lin@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 29321357ac6db54eeb8574da1f6c3e0ce8cfbb60 Author: Vladimir Zajac <eightgraph@xxxxxxxxx> Date: Wed May 6 19:34:21 2009 +0200 thermal: fix off-by-1 error in trip point trigger condition This patch fixes a regression caused by commit b1569e99c795bf83b4ddf41c4f1c42761ab7f75e "ACPI: move thermal trip handling to generic thermal layer" which accidentally changed trip point trigger condition to temp > trip_temp This patch changes the trigger condition back to temp >= trip_temp Signed-off-by: Vladimir Zajac <eightgraph@xxxxxxxxx> Acked-by: Zhang Rui <rui.zhang@xxxxxxxxx> Acked-by: Matthew Garrett <mjg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit bd32005e126a465deda5d046a62f6bb842f4d9cf Author: Corentin Chary <corentincj@xxxxxxxxxx> Date: Mon Apr 27 09:23:43 2009 +0200 eeepc-laptop: unregister_rfkill_notifier on failure If there is a failure during eeepc_hotk_add() we need to remove the acpi_notify_handler. Signed-off-by: Corentin Chary <corentincj@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 309f5fbda37d5e8f1233e8b80b8e9de77262e864 Author: Corentin Chary <corentincj@xxxxxxxxxx> Date: Mon Apr 27 09:23:42 2009 +0200 asus-laptop: fix input keycode KEY_STOP is now KEY_STOPCD It's the correct key to stop a media BTN_EXTRA is now KEY_SCREENLOCK: The laptop manual tells us that this key is for screenlock KEY_TV is now KEY_PROG1 So it can be reported to X server Ref: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/361505 Signed-off-by: Corentin Chary <corentincj@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 158ca1d75dd0d6223f3b1dd741d30777da62ab80 Author: Grigori Goronzy <greg@xxxxxxxxxxxx> Date: Mon Apr 27 09:23:40 2009 +0200 eeepc-laptop: support for super hybrid engine (SHE) The older eeepc-acpi driver allowed to control the SHE performance preset through a ACPI function for just this purpose. SHE underclocks and undervolts the FSB and undervolts the CPU (at preset 2, "powersave"), or slightly overclocks the CPU (at preset 0, "performance"). Preset 1 is the default setting with default clocks and voltage. The new eeepc-laptop driver doesn't support it anymore. The attached patch adds support for it to eeepc-laptop. It's very straight-forward and almost trivial. Signed-off-by: Grigori Goronzy <greg@xxxxxxxxxxxx> Signed-off-by: Corentin Chary <corentincj@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 978605c4fd8e7470f225eec7b5aab69d8796afcc Author: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Date: Mon Apr 27 09:23:39 2009 +0200 eeepc-laptop: Work around rfkill firmware bug 1) Buggy firmware can change the RFKILL state by itself. This is easily detected. The RFKILL API states that in such cases, we should call rfkill_force_state() to notify the core. I have reported the bug to Asus. I believe this is the right thing to do for robustness, even if this particular firmware bug is fixed. 2) The same bug causes the wireless toggle key to be reported as 0x11 instead of 0x10. 0x11 is otherwise unused, so it should be safe to add this as a new keycode. The bug is triggered by removing the laptop battery while hibernated. On resume, the wireless toggle key causes the firmware to toggle the wireless state itself. (Also, the key is reported as 0x11 when the current wireless state is OFF). This is very poor behaviour because the OS can't predict whether the firmware is controlling the RFKILL state. Without this workaround, the bug means users have to press the wireless toggle key twice to enable, due to the OS/firmware conflict. (Assuming rfkill-input or equivalent is being used). The workaround avoids this. I believe that acpid scripts which toggle the value of the sysfs state file when the toggle key is pressed will be rendered ineffective by the bug, regardless of this workaround. If they simply toggle the state, when the firmware has already toggled it, then you will never see a state change. Tested on "EEEPC 4G" only. Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Signed-off-by: Corentin Chary <corentincj@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 64b86b6583db832b28bb54575e32b9e2a1a7d84f Author: Darren Salt <linux@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Apr 27 09:23:38 2009 +0200 eeepc-laptop: report brightness control events via the input layer This maps the brightness control events to one of two keys, either KEY_BRIGHTNESSDOWN or KEY_BRIGHTNESSUP, as needed. Some mapping has to be done due to the fact that the BIOS reports them as <base value> + <current brightness index>; the selection is done according to the sign of the change in brightness (if this is 0, no keypress is reported). (Ref. http://lists.alioth.debian.org/pipermail/debian-eeepc-devel/2009-April/002001.html) Signed-off-by: Darren Salt <linux@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Corentin Chary <corentincj@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit fbc97e4c5c31ea198f912196b1379d7493362800 Author: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Date: Mon Apr 27 09:23:37 2009 +0200 eeepc-laptop: fix wlan rfkill state change during init When an rfkill device is registered, the rfkill core will change its state to the system default. So we need to prepare for state changes *before* we register it. That means installing the eeepc-specific ACPI callback which handles the hotplug of the wireless network adaptor. This problem doesn't occur during normal operation. You have to 1) Boot with wireless enabled. eeepc-laptop should load automatically. 2) modprobe -r eeepc-laptop 3) modprobe eeepc-laptop On boot, the default rfkill state will be set to enabled. With the current core code, step 2) will disable the wireless. Therefore in step 3), the wireless will change state during registration, from disabled to enabled. But without this fix, the PCI device for the wireless adaptor will not appear. Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Acked-by: Matthew Garrett <mjg@xxxxxxxxxx> Signed-off-by: Corentin Chary <corentincj@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 19bde778c1fd2574cc020a618d7d576f260271ca Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri May 8 00:22:29 2009 -0400 ACPI: suspend: don't let device _PS3 failure prevent suspend 6328a57401dc5f5cf9931738eb7268fcd8058c49 "Enable PNPACPI _PSx Support, v3" added a call to acpi_bus_set_power(handle, ACPI_STATE_D3) to pnpacpi_disable_resource() before the existing call to evaluate _DIS on the device. This caused suspend to fail on the system in http://bugzilla.kernel.org/show_bug.cgi?id=13243 because the sanity check to verify we entered _PS3 failed on the serial port. As a work-around, that sanity check can be disabled system-wide with "acpi.power_nocheck=1" Or perhaps we should just shrug off the _PS3 failure and carry on with _DIS like we used to -- which is what this patch does. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit ddc50b6ad634d9ce2526a777d4b7da80effdfb60 Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri May 8 00:07:30 2009 -0400 ACPI: power: update error message "Transitioning device [%s] to D%d" is not correct. We print this line when we attempted to transition the device, and it failed. So instead, print "Device [%s] failed to transition to D%d\n" This can happen under two conditions: 1. acpi_power_transition() fails when trying to handle the _ON/_OFF for associated power resource. 2. acpi_evaluate_object() on the explicit _PS0/_PS3 for that actual device could fail. this change clarifies, but doesn't fix http://bugzilla.kernel.org/show_bug.cgi?id=13243 Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 5afc4abe7902b8453c248321daa9b13b12d9c838 Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu May 7 21:11:56 2009 -0400 ACPI: video: DMI workaround another broken Acer BIOS enabling display brightness http://bugzilla.kernel.org/show_bug.cgi?id=13121 Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 51991763416251f259efbfe459c16f331f31d01f Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu May 7 15:24:31 2009 -0400 ACPICA: use acpi.* modparam namespace Add acpi/acpica/*.c to the acpi.* modparam namespace so that any modparams we stick into ACPICA do not expose ACPICA filenames to users. There are currently only two modparams in ACPICA, just recently added for http://bugzilla.kernel.org/show_bug.cgi?id=13041 With this change, they become acpi.gts=1 acpi.bfs=1 rather than hwsleep.gts=1 hwsleep.bfs=1 Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 45cb50e646d1560eff01c5ad0f0df3c7fd6148dd Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Fri Apr 24 12:13:18 2009 -0400 ACPI video: dmi check for broken _BQC on Acer Aspire 5720 On Acer Aspire 5720, _BQC always returns a value 9 smaller than the actual brightness level. Add dmi quirk for this laptop. http://bugzilla.kernel.org/show_bug.cgi?id=13121 Tested-by: Maxim Levitsky <maximlevitsky@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> -- 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