diff options
author | Henrique de Moraes Holschuh <hmh@hmh.eng.br> | 2008-04-26 00:02:17 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-04-29 09:46:59 -0400 |
commit | b59727965d7f286489206c292e2788d4835a8a23 (patch) | |
tree | 644211bb3c0cd4e3e2451df97ea11b0b80c08315 /Documentation/laptops | |
parent | a01e035ebb552223c03f2d9138ffc73f2d4d3965 (diff) |
ACPI: thinkpad-acpi: BIOS backlight mode helper (v2.1)
Lenovo ThinkPads with generic ACPI backlight level control can be easily
set to react to keyboard brightness key presses in a more predictable way
than what they do when in "DOS / bootloader" mode after Linux brings
up the ACPI interface.
The switch to the ACPI backlight mode in the firmware is designed to be
safe to use only as an one way trapdoor. One is not to force the firmware
to switch back to "DOS/bootloader" mode except by rebooting. The mode
switch itself is performed by calling any of the ACPI _BCL methods at least
once.
When in ACPI mode, the backlight firmware just issues (standard) events for
the brightness up/down hot key presses along with the non-standard HKEY
events which thinkpad-acpi traps, and doesn't touch the hardware.
thinkpad-acpi will:
1. Place the ThinkPad firmware in ACPI backlight control mode
if one is available
2. Suppress HKEY backlight change notifications by default
to avoid double-reporting when ACPI video is loaded when
the ThinkPad is in ACPI backlight control mode
3. Urge the user to load the ACPI video driver
The user is free to use either the ACPI video driver to get the brightness
key events, or to override the thinkpad-acpi default hotkey mask to get
them from thinkpad-acpi as well (this will result in duplicate events if
ACPI video is loaded, so let's hope distros won't screw this up).
Provided userspace is sane, all should work (and *keep* working), which is
more that can be said about the non-ACPI mode of the new Lenovo ThinkPad
BIOSes when coupled to current userspace and X.org drivers.
Full guidelines for backlight hot key reporting and use of the
thinkpad-acpi backlight interface have been added to the documentation.
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'Documentation/laptops')
-rw-r--r-- | Documentation/laptops/thinkpad-acpi.txt | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt index 76cb428435da..a77da28a6f8e 100644 --- a/Documentation/laptops/thinkpad-acpi.txt +++ b/Documentation/laptops/thinkpad-acpi.txt | |||
@@ -571,6 +571,47 @@ netlink interface and the input layer interface, and don't bother at all | |||
571 | with hotkey_report_mode. | 571 | with hotkey_report_mode. |
572 | 572 | ||
573 | 573 | ||
574 | Brightness hotkey notes: | ||
575 | |||
576 | These are the current sane choices for brightness key mapping in | ||
577 | thinkpad-acpi: | ||
578 | |||
579 | For IBM and Lenovo models *without* ACPI backlight control (the ones on | ||
580 | which thinkpad-acpi will autoload its backlight interface by default, | ||
581 | and on which ACPI video does not export a backlight interface): | ||
582 | |||
583 | 1. Don't enable or map the brightness hotkeys in thinkpad-acpi, as | ||
584 | these older firmware versions unfortunately won't respect the hotkey | ||
585 | mask for brightness keys anyway, and always reacts to them. This | ||
586 | usually work fine, unless X.org drivers are doing something to block | ||
587 | the BIOS. In that case, use (3) below. This is the default mode of | ||
588 | operation. | ||
589 | |||
590 | 2. Enable the hotkeys, but map them to something else that is NOT | ||
591 | KEY_BRIGHTNESS_UP/DOWN or any other keycode that would cause | ||
592 | userspace to try to change the backlight level, and use that as an | ||
593 | on-screen-display hint. | ||
594 | |||
595 | 3. IF AND ONLY IF X.org drivers find a way to block the firmware from | ||
596 | automatically changing the brightness, enable the hotkeys and map | ||
597 | them to KEY_BRIGHTNESS_UP and KEY_BRIGHTNESS_DOWN, and feed that to | ||
598 | something that calls xbacklight. thinkpad-acpi will not be able to | ||
599 | change brightness in that case either, so you should disable its | ||
600 | backlight interface. | ||
601 | |||
602 | For Lenovo models *with* ACPI backlight control: | ||
603 | |||
604 | 1. Load up ACPI video and use that. ACPI video will report ACPI | ||
605 | events for brightness change keys. Do not mess with thinkpad-acpi | ||
606 | defaults in this case. thinkpad-acpi should not have anything to do | ||
607 | with backlight events in a scenario where ACPI video is loaded: | ||
608 | brightness hotkeys must be disabled, and the backlight interface is | ||
609 | to be kept disabled as well. This is the default mode of operation. | ||
610 | |||
611 | 2. Do *NOT* load up ACPI video, enable the hotkeys in thinkpad-acpi, | ||
612 | and map them to KEY_BRIGHTNESS_UP and KEY_BRIGHTNESS_DOWN. Process | ||
613 | these keys on userspace somehow (e.g. by calling xbacklight). | ||
614 | |||
574 | Bluetooth | 615 | Bluetooth |
575 | --------- | 616 | --------- |
576 | 617 | ||
@@ -1090,6 +1131,15 @@ it there will be the following attributes: | |||
1090 | dim the display. | 1131 | dim the display. |
1091 | 1132 | ||
1092 | 1133 | ||
1134 | WARNING: | ||
1135 | |||
1136 | Whatever you do, do NOT ever call thinkpad-acpi backlight-level change | ||
1137 | interface and the ACPI-based backlight level change interface | ||
1138 | (available on newer BIOSes, and driven by the Linux ACPI video driver) | ||
1139 | at the same time. The two will interact in bad ways, do funny things, | ||
1140 | and maybe reduce the life of the backlight lamps by needlessly kicking | ||
1141 | its level up and down at every change. | ||
1142 | |||
1093 | Volume control -- /proc/acpi/ibm/volume | 1143 | Volume control -- /proc/acpi/ibm/volume |
1094 | --------------------------------------- | 1144 | --------------------------------------- |
1095 | 1145 | ||