aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/ibm-acpi.txt
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.osdl.org>2006-12-22 21:46:56 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-22 21:46:56 -0500
commit18ed1c051317ac3a685120cead2adb192b802347 (patch)
treec08a9147119a6cb69114166c7107f6b0bba6e2ab /Documentation/ibm-acpi.txt
parentdab6df63086762629936e8b89a5984bae39724f6 (diff)
parent36bcbec7ce21e2e8b3143b11a05747330abeca70 (diff)
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (68 commits) ACPI: replace kmalloc+memset with kzalloc ACPI: Add support for acpi_load_table/acpi_unload_table_id fbdev: update after backlight argument change ACPI: video: Add dev argument for backlight_device_register ACPI: Implement acpi_video_get_next_level() ACPI: Kconfig - depend on PM rather than selecting it ACPI: fix NULL check in drivers/acpi/osl.c ACPI: make drivers/acpi/ec.c:ec_ecdt static ACPI: prevent processor module from loading on failures ACPI: fix single linked list manipulation ACPI: ibm_acpi: allow clean removal ACPI: fix git automerge failure ACPI: ibm_acpi: respond to workqueue update ACPI: dock: add uevent to indicate change in device status ACPI: ec: Lindent once again ACPI: ec: Change #define to enums there possible. ACPI: ec: Style changes. ACPI: ec: Acquire Global Lock under EC mutex. ACPI: ec: Drop udelay() from poll mode. Loop by reading status field instead. ACPI: ec: Rename gpe_bit to gpe ...
Diffstat (limited to 'Documentation/ibm-acpi.txt')
-rw-r--r--Documentation/ibm-acpi.txt151
1 files changed, 120 insertions, 31 deletions
diff --git a/Documentation/ibm-acpi.txt b/Documentation/ibm-acpi.txt
index e50595bfd8ea..0132d363feb5 100644
--- a/Documentation/ibm-acpi.txt
+++ b/Documentation/ibm-acpi.txt
@@ -398,25 +398,67 @@ Temperature sensors -- /proc/acpi/ibm/thermal
398 398
399Most ThinkPads include six or more separate temperature sensors but 399Most ThinkPads include six or more separate temperature sensors but
400only expose the CPU temperature through the standard ACPI methods. 400only expose the CPU temperature through the standard ACPI methods.
401This feature shows readings from up to eight different sensors. Some 401This feature shows readings from up to eight different sensors on older
402readings may not be valid, e.g. may show large negative values. For 402ThinkPads, and it has experimental support for up to sixteen different
403example, on the X40, a typical output may be: 403sensors on newer ThinkPads. Readings from sensors that are not available
404return -128.
404 405
406No commands can be written to this file.
407
408EXPERIMENTAL: The 16-sensors feature is marked EXPERIMENTAL because the
409implementation directly accesses hardware registers and may not work as
410expected. USE WITH CAUTION! To use this feature, you need to supply the
411experimental=1 parameter when loading the module. When EXPERIMENTAL
412mode is enabled, reading the first 8 sensors on newer ThinkPads will
413also use an new experimental thermal sensor access mode.
414
415For example, on the X40, a typical output may be:
405temperatures: 42 42 45 41 36 -128 33 -128 416temperatures: 42 42 45 41 36 -128 33 -128
406 417
407Thomas Gruber took his R51 apart and traced all six active sensors in 418EXPERIMENTAL: On the T43/p, a typical output may be:
408his laptop (the location of sensors may vary on other models): 419temperatures: 48 48 36 52 38 -128 31 -128 48 52 48 -128 -128 -128 -128 -128
420
421The mapping of thermal sensors to physical locations varies depending on
422system-board model (and thus, on ThinkPad model).
423
424http://thinkwiki.org/wiki/Thermal_Sensors is a public wiki page that
425tries to track down these locations for various models.
426
427Most (newer?) models seem to follow this pattern:
409 428
4101: CPU 4291: CPU
4112: Mini PCI Module 4302: (depends on model)
4123: HDD 4313: (depends on model)
4134: GPU 4324: GPU
4145: Battery 4335: Main battery: main sensor
4156: N/A 4346: Bay battery: main sensor
4167: Battery 4357: Main battery: secondary sensor
4178: N/A 4368: Bay battery: secondary sensor
4379-15: (depends on model)
438
439For the R51 (source: Thomas Gruber):
4402: Mini-PCI
4413: Internal HDD
442
443For the T43, T43/p (source: Shmidoax/Thinkwiki.org)
444http://thinkwiki.org/wiki/Thermal_Sensors#ThinkPad_T43.2C_T43p
4452: System board, left side (near PCMCIA slot), reported as HDAPS temp
4463: PCMCIA slot
4479: MCH (northbridge) to DRAM Bus
44810: ICH (southbridge), under Mini-PCI card, under touchpad
44911: Power regulator, underside of system board, below F2 key
450
451The A31 has a very atypical layout for the thermal sensors
452(source: Milos Popovic, http://thinkwiki.org/wiki/Thermal_Sensors#ThinkPad_A31)
4531: CPU
4542: Main Battery: main sensor
4553: Power Converter
4564: Bay Battery: main sensor
4575: MCH (northbridge)
4586: PCMCIA/ambient
4597: Main Battery: secondary sensor
4608: Bay Battery: secondary sensor
418 461
419No commands can be written to this file.
420 462
421EXPERIMENTAL: Embedded controller register dump -- /proc/acpi/ibm/ecdump 463EXPERIMENTAL: Embedded controller register dump -- /proc/acpi/ibm/ecdump
422------------------------------------------------------------------------ 464------------------------------------------------------------------------
@@ -529,27 +571,57 @@ directly accesses hardware registers and may not work as expected. USE
529WITH CAUTION! To use this feature, you need to supply the 571WITH CAUTION! To use this feature, you need to supply the
530experimental=1 parameter when loading the module. 572experimental=1 parameter when loading the module.
531 573
532This feature attempts to show the current fan speed. The speed is read 574This feature attempts to show the current fan speed, control mode and
533directly from the hardware registers of the embedded controller. This 575other fan data that might be available. The speed is read directly
534is known to work on later R, T and X series ThinkPads but may show a 576from the hardware registers of the embedded controller. This is known
535bogus value on other models. 577to work on later R, T and X series ThinkPads but may show a bogus
578value on other models.
579
580Most ThinkPad fans work in "levels". Level 0 stops the fan. The higher
581the level, the higher the fan speed, although adjacent levels often map
582to the same fan speed. 7 is the highest level, where the fan reaches
583the maximum recommended speed. Level "auto" means the EC changes the
584fan level according to some internal algorithm, usually based on
585readings from the thermal sensors. Level "disengaged" means the EC
586disables the speed-locked closed-loop fan control, and drives the fan as
587fast as it can go, which might exceed hardware limits, so use this level
588with caution.
589
590The fan usually ramps up or down slowly from one speed to another,
591and it is normal for the EC to take several seconds to react to fan
592commands.
536 593
537The fan may be enabled or disabled with the following commands: 594The fan may be enabled or disabled with the following commands:
538 595
539 echo enable >/proc/acpi/ibm/fan 596 echo enable >/proc/acpi/ibm/fan
540 echo disable >/proc/acpi/ibm/fan 597 echo disable >/proc/acpi/ibm/fan
541 598
599Placing a fan on level 0 is the same as disabling it. Enabling a fan
600will try to place it in a safe level if it is too slow or disabled.
601
542WARNING WARNING WARNING: do not leave the fan disabled unless you are 602WARNING WARNING WARNING: do not leave the fan disabled unless you are
543monitoring the temperature sensor readings and you are ready to enable 603monitoring all of the temperature sensor readings and you are ready to
544it if necessary to avoid overheating. 604enable it if necessary to avoid overheating.
545 605
546The fan only runs if it's enabled *and* the various temperature 606An enabled fan in level "auto" may stop spinning if the EC decides the
547sensors which control it read high enough. On the X40, this seems to 607ThinkPad is cool enough and doesn't need the extra airflow. This is
548depend on the CPU and HDD temperatures. Specifically, the fan is 608normal, and the EC will spin the fan up if the varios thermal readings
549turned on when either the CPU temperature climbs to 56 degrees or the 609rise too much.
550HDD temperature climbs to 46 degrees. The fan is turned off when the 610
551CPU temperature drops to 49 degrees and the HDD temperature drops to 611On the X40, this seems to depend on the CPU and HDD temperatures.
55241 degrees. These thresholds cannot currently be controlled. 612Specifically, the fan is turned on when either the CPU temperature
613climbs to 56 degrees or the HDD temperature climbs to 46 degrees. The
614fan is turned off when the CPU temperature drops to 49 degrees and the
615HDD temperature drops to 41 degrees. These thresholds cannot
616currently be controlled.
617
618The fan level can be controlled with the command:
619
620 echo 'level <level>' > /proc/acpi/ibm/thermal
621
622Where <level> is an integer from 0 to 7, or one of the words "auto"
623or "disengaged" (without the quotes). Not all ThinkPads support the
624"auto" and "disengaged" levels.
553 625
554On the X31 and X40 (and ONLY on those models), the fan speed can be 626On the X31 and X40 (and ONLY on those models), the fan speed can be
555controlled to a certain degree. Once the fan is running, it can be 627controlled to a certain degree. Once the fan is running, it can be
@@ -562,12 +634,9 @@ about 3700 to about 7350. Values outside this range either do not have
562any effect or the fan speed eventually settles somewhere in that 634any effect or the fan speed eventually settles somewhere in that
563range. The fan cannot be stopped or started with this command. 635range. The fan cannot be stopped or started with this command.
564 636
565On the 570, temperature readings are not available through this 637The ThinkPad's ACPI DSDT code will reprogram the fan on its own when
566feature and the fan control works a little differently. The fan speed 638certain conditions are met. It will override any fan programming done
567is reported in levels from 0 (off) to 7 (max) and can be controlled 639through ibm-acpi.
568with the following command:
569
570 echo 'level <level>' > /proc/acpi/ibm/thermal
571 640
572EXPERIMENTAL: WAN -- /proc/acpi/ibm/wan 641EXPERIMENTAL: WAN -- /proc/acpi/ibm/wan
573--------------------------------------- 642---------------------------------------
@@ -601,6 +670,26 @@ example:
601 670
602 modprobe ibm_acpi hotkey=enable,0xffff video=auto_disable 671 modprobe ibm_acpi hotkey=enable,0xffff video=auto_disable
603 672
673The ibm-acpi kernel driver can be programmed to revert the fan level
674to a safe setting if userspace does not issue one of the fan commands:
675"enable", "disable", "level" or "watchdog" within a configurable
676ammount of time. To do this, use the "watchdog" command.
677
678 echo 'watchdog <interval>' > /proc/acpi/ibm/fan
679
680Interval is the ammount of time in seconds to wait for one of the
681above mentioned fan commands before reseting the fan level to a safe
682one. If set to zero, the watchdog is disabled (default). When the
683watchdog timer runs out, it does the exact equivalent of the "enable"
684fan command.
685
686Note that the watchdog timer stops after it enables the fan. It will
687be rearmed again automatically (using the same interval) when one of
688the above mentioned fan commands is received. The fan watchdog is,
689therefore, not suitable to protect against fan mode changes made
690through means other than the "enable", "disable", and "level" fan
691commands.
692
604 693
605Example Configuration 694Example Configuration
606--------------------- 695---------------------