1
linux/drivers/acpi
Len Brown 730ff34de7 ACPI: thermal: expose "thermal.tzp=" to set global polling frequency
Thermal Zone Polling frequency (_TZP) is an optional ACPI object
recommending the rate that the OS should poll the associated thermal zone.

If _TZP is 0, no polling should be used.
If _TZP is non-zero, then the platform recommends that
the OS poll the thermal zone at the specified rate.
The minimum period is 30 seconds.
The maximum period is 5 minutes.

(note _TZP and thermal.tzp units are in deci-seconds,
 so _TZP = 300 corresponds to 30 seconds)

If _TZP is not present, ACPI 3.0b recommends that the
thermal zone be polled at an "OS provided default frequency".

However, common industry practice is:
1. The BIOS never specifies any _TZP
2. High volume OS's from this century never poll any thermal zones

Ie. The OS depends on the platform's ability to
provoke thermal events when necessary, and
the "OS provided default frequency" is "never":-)

There is a proposal that ACPI 4.0 be updated to reflect
common industry practice -- ie. no _TZP, no polling.

The Linux kernel already follows this practice --
thermal zones are not polled unless _TZP is present and non-zero.

But thermal zone polling is useful as a workaround for systems
which have ACPI thermal control, but have an issue preventing
thermal events.  Indeed, some Linux distributions still
set a non-zero thermal polling frequency for this reason.

But rather than ask the user to write a polling frequency
into all the /proc/acpi/thermal_zone/*/polling_frequency
files, here we simply document and expose the already
existing module parameter to do the same at system level,
to simplify debugging those broken platforms.

Note that thermal.tzp is a module-load time parameter only.

Signed-off-by: Len Brown <len.brown@intel.com>
2007-08-12 00:12:26 -04:00
..
dispatcher ACPICA: Lindent 2007-05-09 23:34:35 -04:00
events ACPI: autoload modules - ACPICA modifications 2007-07-23 13:56:00 -04:00
executer ACPICA: Lindent 2007-05-09 23:34:35 -04:00
hardware ACPICA: Lindent 2007-05-09 23:34:35 -04:00
namespace ACPI: autoload modules - ACPICA modifications 2007-07-23 13:56:00 -04:00
parser ACPICA: Lindent 2007-05-09 23:34:35 -04:00
resources fix compilation with gcc 4.2 2007-08-11 15:47:42 -07:00
sleep ACPI: restore CONFIG_ACPI_SLEEP 2007-07-29 16:53:59 -07:00
tables ACPICA: Clear reserved fields for incoming ACPI 1.0 FADTs 2007-07-03 01:56:40 -04:00
utilities ACPI: autoload modules - ACPICA modifications 2007-07-23 13:56:00 -04:00
ac.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
acpi_memhotplug.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
asus_acpi.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
battery.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
bay.c ACPI: bay: send envp with uevent 2007-06-02 00:37:54 -04:00
blacklist.c ACPI: make blacklist more verbose 2007-03-09 21:19:05 -05:00
bus.c ACPI: Export events via generic netlink 2007-07-03 14:50:58 -04:00
button.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
cm_sbs.c
container.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
debug.c
dock.c ACPI: dock: fix oops when _DCK evaluation fails 2007-07-18 20:37:06 -04:00
ec.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
event.c ACPI: export ACPI events via acpi_mc_group multicast group 2007-07-22 01:05:16 -04:00
fan.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
glue.c ACPI: fix empty macros found by -Wextra 2007-07-22 00:54:24 -04:00
Kconfig ACPI: delete CONFIG_ACPI_PROCFS_SLEEP (again) 2007-07-31 20:40:08 -07:00
Makefile Pull sbs into release branch 2007-04-28 23:16:59 -04:00
numa.c x86_64: fake pxm-to-node mapping for fake numa 2007-07-21 18:37:10 -07:00
osl.c Pull osi into release branch 2007-07-22 02:29:41 -04:00
pci_bind.c
pci_irq.c
pci_link.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
pci_root.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
power.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
processor_core.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
processor_idle.c Pull misc into release branch 2007-07-22 02:27:40 -04:00
processor_perflib.c [CPUFREQ] Remove deprecated /proc/acpi/processor/performance write support 2007-04-26 14:32:02 -04:00
processor_thermal.c
processor_throttling.c ACPI: quiet ACPI Exceptions due to no _PTC or _TSS 2007-07-25 00:57:46 -04:00
sbs.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00
scan.c ACPI: autoload modules - Create ACPI alias interface 2007-07-23 13:56:16 -04:00
system.c ACPI: Populate /sys/firmware/acpi/tables/ 2007-07-22 02:42:45 -04:00
tables.c Revert "ACPI: parse 2nd MADT by default" 2007-03-30 14:16:10 -04:00
thermal.c ACPI: thermal: expose "thermal.tzp=" to set global polling frequency 2007-08-12 00:12:26 -04:00
toshiba_acpi.c toshiba_acpi: fix section mismatch in allyesconfig 2007-06-16 13:16:15 -07:00
utils.c
video.c ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers 2007-07-23 13:56:42 -04:00