Commit 69df49eb31e14fb01d9404497b751bfda9bfa012

Authored by Henrique de Moraes Holschuh
1 parent 2899902281

thinkpad-acpi: update HKEY and hotkey subdriver documentation (v2)

Update the hotkey driver documentation to match the behaviour
of the fixed NVRAM polling code.

This also documents some HKEY events such as the alarms,
which is very important information.

Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>

Showing 1 changed file with 49 additions and 17 deletions Side-by-side Diff

Documentation/laptops/thinkpad-acpi.txt
... ... @@ -292,13 +292,13 @@
292 292  
293 293 Warning: when in NVRAM mode, the volume up/down/mute
294 294 keys are synthesized according to changes in the mixer,
295   - so you have to use volume up or volume down to unmute,
296   - as per the ThinkPad volume mixer user interface. When
297   - in ACPI event mode, volume up/down/mute are reported as
298   - separate events, but this behaviour may be corrected in
299   - future releases of this driver, in which case the
300   - ThinkPad volume mixer user interface semantics will be
301   - enforced.
  295 + which uses a single volume up or volume down hotkey
  296 + press to unmute, as per the ThinkPad volume mixer user
  297 + interface. When in ACPI event mode, volume up/down/mute
  298 + events are reported by the firmware and can behave
  299 + differently (and that behaviour changes with firmware
  300 + version -- not just with firmware models -- as well as
  301 + OSI(Linux) state).
302 302  
303 303 hotkey_poll_freq:
304 304 frequency in Hz for hot key polling. It must be between
... ... @@ -309,7 +309,7 @@
309 309 will cause hot key presses that require NVRAM polling
310 310 to never be reported.
311 311  
312   - Setting hotkey_poll_freq too low will cause repeated
  312 + Setting hotkey_poll_freq too low may cause repeated
313 313 pressings of the same hot key to be misreported as a
314 314 single key press, or to not even be detected at all.
315 315 The recommended polling frequency is 10Hz.
... ... @@ -397,6 +397,7 @@
397 397 event code Key Notes
398 398  
399 399 0x1001 0x00 FN+F1 -
  400 +
400 401 0x1002 0x01 FN+F2 IBM: battery (rare)
401 402 Lenovo: Screen lock
402 403  
... ... @@ -404,7 +405,8 @@
404 405 this hot key, even with hot keys
405 406 disabled or with Fn+F3 masked
406 407 off
407   - IBM: screen lock
  408 + IBM: screen lock, often turns
  409 + off the ThinkLight as side-effect
408 410 Lenovo: battery
409 411  
410 412 0x1004 0x03 FN+F4 Sleep button (ACPI sleep button
... ... @@ -433,7 +435,8 @@
433 435 Do you feel lucky today?
434 436  
435 437 0x1008 0x07 FN+F8 IBM: toggle screen expand
436   - Lenovo: configure UltraNav
  438 + Lenovo: configure UltraNav,
  439 + or toggle screen expand
437 440  
438 441 0x1009 0x08 FN+F9 -
439 442 .. .. ..
... ... @@ -444,7 +447,7 @@
444 447 either through the ACPI event,
445 448 or through a hotkey event.
446 449 The firmware may refuse to
447   - generate further FN+F4 key
  450 + generate further FN+F12 key
448 451 press events until a S3 or S4
449 452 ACPI sleep cycle is performed,
450 453 or some time passes.
451 454  
... ... @@ -512,15 +515,19 @@
512 515 SW_RFKILL_ALL T60 and later hardware rfkill rocker switch
513 516 SW_TABLET_MODE Tablet ThinkPads HKEY events 0x5009 and 0x500A
514 517  
515   -Non hot-key ACPI HKEY event map:
  518 +Non hotkey ACPI HKEY event map:
  519 +-------------------------------
  520 +
  521 +Events that are not propagated by the driver, except for legacy
  522 +compatibility purposes when hotkey_report_mode is set to 1:
  523 +
516 524 0x5001 Lid closed
517 525 0x5002 Lid opened
518 526 0x5009 Tablet swivel: switched to tablet mode
519 527 0x500A Tablet swivel: switched to normal mode
520 528 0x7000 Radio Switch may have changed state
521 529  
522   -The above events are not propagated by the driver, except for legacy
523   -compatibility purposes when hotkey_report_mode is set to 1.
  530 +Events that are never propagated by the driver:
524 531  
525 532 0x2304 System is waking up from suspend to undock
526 533 0x2305 System is waking up from suspend to eject bay
527 534  
528 535  
529 536  
530 537  
... ... @@ -528,14 +535,39 @@
528 535 0x2405 System is waking up from hibernation to eject bay
529 536 0x5010 Brightness level changed/control event
530 537  
531   -The above events are never propagated by the driver.
  538 +Events that are propagated by the driver to userspace:
532 539  
  540 +0x2313 ALARM: System is waking up from suspend because
  541 + the battery is nearly empty
  542 +0x2413 ALARM: System is waking up from hibernation because
  543 + the battery is nearly empty
533 544 0x3003 Bay ejection (see 0x2x05) complete, can sleep again
  545 +0x3006 Bay hotplug request (hint to power up SATA link when
  546 + the optical drive tray is ejected)
534 547 0x4003 Undocked (see 0x2x04), can sleep again
535 548 0x500B Tablet pen inserted into its storage bay
536 549 0x500C Tablet pen removed from its storage bay
  550 +0x6011 ALARM: battery is too hot
  551 +0x6012 ALARM: battery is extremely hot
  552 +0x6021 ALARM: a sensor is too hot
  553 +0x6022 ALARM: a sensor is extremely hot
  554 +0x6030 System thermal table changed
537 555  
538   -The above events are propagated by the driver.
  556 +Battery nearly empty alarms are a last resort attempt to get the
  557 +operating system to hibernate or shutdown cleanly (0x2313), or shutdown
  558 +cleanly (0x2413) before power is lost. They must be acted upon, as the
  559 +wake up caused by the firmware will have negated most safety nets...
  560 +
  561 +When any of the "too hot" alarms happen, according to Lenovo the user
  562 +should suspend or hibernate the laptop (and in the case of battery
  563 +alarms, unplug the AC adapter) to let it cool down. These alarms do
  564 +signal that something is wrong, they should never happen on normal
  565 +operating conditions.
  566 +
  567 +The "extremely hot" alarms are emergencies. According to Lenovo, the
  568 +operating system is to force either an immediate suspend or hibernate
  569 +cycle, or a system shutdown. Obviously, something is very wrong if this
  570 +happens.
539 571  
540 572 Compatibility notes:
541 573