aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/laptops
diff options
context:
space:
mode:
authorHenrique de Moraes Holschuh <hmh@hmh.eng.br>2009-12-15 18:51:08 -0500
committerLen Brown <len.brown@intel.com>2009-12-15 23:57:17 -0500
commit329e4e18dfdc552f36b0642a3de5ebfa96063666 (patch)
treec210f8f60c84bc5487242f75a59ec5b350d738c7 /Documentation/laptops
parent5451a923bbdcff6ae665947e120af7238b21a9d2 (diff)
thinkpad-acpi: volume subdriver rewrite
I don't trust the coupled EC writes and SMI calls the current volume control code does very much, although it is exactly what the IBM DSDTs seem to do (they never do more than a single step though). Change the driver to stop issuing SMIs, and just drive the EC directly to the desired level (DSDTs seem to confirm this will work even on very old models like the 570 and 600e/x). We checkpoint directly to NVRAM (this can be turned off) at suspend/shutdown/driver unload, which from what I can see in tbp, should also work on every ThinkPad. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Cc: Lorne Applebaum <lorne.applebaum@gmail.com> Cc: Matthew Garrett <mjg@redhat.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'Documentation/laptops')
-rw-r--r--Documentation/laptops/thinkpad-acpi.txt22
1 files changed, 17 insertions, 5 deletions
diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt
index f5056c7fb5be..96687d0106a9 100644
--- a/Documentation/laptops/thinkpad-acpi.txt
+++ b/Documentation/laptops/thinkpad-acpi.txt
@@ -1092,22 +1092,33 @@ WARNING:
1092 its level up and down at every change. 1092 its level up and down at every change.
1093 1093
1094 1094
1095Volume control -- /proc/acpi/ibm/volume 1095Volume control
1096--------------------------------------- 1096--------------
1097
1098procfs: /proc/acpi/ibm/volume
1097 1099
1098This feature allows volume control on ThinkPad models which don't have 1100This feature allows volume control on ThinkPad models with a digital
1099a hardware volume knob. The available commands are: 1101volume knob, as well as mute/unmute control. The available commands are:
1100 1102
1101 echo up >/proc/acpi/ibm/volume 1103 echo up >/proc/acpi/ibm/volume
1102 echo down >/proc/acpi/ibm/volume 1104 echo down >/proc/acpi/ibm/volume
1103 echo mute >/proc/acpi/ibm/volume 1105 echo mute >/proc/acpi/ibm/volume
1104 echo 'level <level>' >/proc/acpi/ibm/volume 1106 echo 'level <level>' >/proc/acpi/ibm/volume
1105 1107
1106The <level> number range is 0 to 15 although not all of them may be 1108The <level> number range is 0 to 14 although not all of them may be
1107distinct. The unmute the volume after the mute command, use either the 1109distinct. The unmute the volume after the mute command, use either the
1108up or down command (the level command will not unmute the volume). 1110up or down command (the level command will not unmute the volume).
1109The current volume level and mute state is shown in the file. 1111The current volume level and mute state is shown in the file.
1110 1112
1113There are two strategies for volume control. To select which one
1114should be used, use the volume_mode module parameter: volume_mode=1
1115selects EC mode, and volume_mode=3 selects EC mode with NVRAM backing
1116(so that volume/mute changes are remembered across shutdown/reboot).
1117
1118The driver will operate in volume_mode=3 by default. If that does not
1119work well on your ThinkPad model, please report this to
1120ibm-acpi-devel@lists.sourceforge.net.
1121
1111The ALSA mixer interface to this feature is still missing, but patches 1122The ALSA mixer interface to this feature is still missing, but patches
1112to add it exist. That problem should be addressed in the not so 1123to add it exist. That problem should be addressed in the not so
1113distant future. 1124distant future.
@@ -1376,6 +1387,7 @@ to enable more than one output class, just add their values.
1376 0x0008 HKEY event interface, hotkeys 1387 0x0008 HKEY event interface, hotkeys
1377 0x0010 Fan control 1388 0x0010 Fan control
1378 0x0020 Backlight brightness 1389 0x0020 Backlight brightness
1390 0x0040 Audio mixer/volume control
1379 1391
1380There is also a kernel build option to enable more debugging 1392There is also a kernel build option to enable more debugging
1381information, which may be necessary to debug driver problems. 1393information, which may be necessary to debug driver problems.