07 Apr, 2014
1 commit
-
A debug statement in acpi_thermal_trips_update() uses a wrong trip
point (tz->trips.critical instead of tz->trips.hot) to get the
temperature value from. Fix that.Signed-off-by: Zhihui Zhang
[rjw: Subject and changelog]
Signed-off-by: Rafael J. Wysocki
05 Mar, 2014
1 commit
-
On resume we do not need to wait for acpi_thermal_check to finish.
Instead, we can run it asynchronously and not block the whole system
resume. Also, we make sure when we are suspending again, previously
queued work for acpi_thermal_check is done.Signed-off-by: Aaron Lu
Signed-off-by: Rafael J. Wysocki
13 Feb, 2014
1 commit
-
The ACPI thermal driver defines acpi_thermal_resume() when
CONFIG_PM_SLEEP is defined. This results in the following compile
error when CONFIG_PM_SLEEP is undefined.CC drivers/acpi/thermal.o
drivers/acpi/thermal.c:107:8: error: ‘acpi_thermal_resume’ undeclared here (not in a function)
make[2]: *** [drivers/acpi/thermal.o] Error 1Signed-off-by: Shuah Khan
Signed-off-by: Rafael J. Wysocki
13 Jan, 2014
1 commit
-
* acpi-gpe:
ACPI / EC: disable GPE before removing GPE handler
ACPI / Button: Fix enabling button GPEs twice* acpi-video:
ACPI: Blacklist Win8 OSI for some HP laptop 2013 models
ACPI / video: Fix typo in video_detect.c* acpi-thermal:
ACPI / thermal: remove const from thermal_zone_device_ops declaration* acpi-processor:
ACPI / scan: bail out early if failed to parse APIC ID for CPU* acpi-sleep:
ACPI / sleep: remove panic in case hardware has changed after S4
08 Jan, 2014
1 commit
-
The following commit introduced the requirement to not declare
thermal_zone_device_ops structs as const in order to allow
changing the .get_temp callback.commit 4e5e4705bf69ea450f58fc709ac5888f321a9299
Author: Eduardo Valentin
Date: Wed Jul 3 15:35:39 2013 -0400thermal: introduce device tree parser
Modify acpi_thermal_zone_ops to follow the new requirement.
Signed-off-by: Emil Goode
Acked-by: Eduardo Valentin
[rjw: Changelog]
Signed-off-by: Rafael J. Wysocki
07 Dec, 2013
1 commit
-
Replace direct inclusions of , and
, which are incorrect, with
inclusions and remove some inclusions of those files that aren't
necessary.First of all, , and
should not be included directly from any files that are built for
CONFIG_ACPI unset, because that generally leads to build warnings about
undefined symbols in !CONFIG_ACPI builds. For CONFIG_ACPI set,
includes those files and for CONFIG_ACPI unset it
provides stub ACPI symbols to be used in that case.Second, there are ordering dependencies between those files that always
have to be met. Namely, it is required that be included
prior to so that the acpi_pci_root declarations the
latter depends on are always there. And which provides
basic ACPICA type declarations should always be included prior to any other
ACPI headers in CONFIG_ACPI builds. That also is taken care of including
as appropriate.Signed-off-by: Lv Zheng
Cc: Greg Kroah-Hartman
Cc: Matthew Garrett
Cc: Tony Luck
Cc: "H. Peter Anvin"
Acked-by: Bjorn Helgaas (drivers/pci stuff)
Acked-by: Konrad Rzeszutek Wilk (Xen stuff)
Signed-off-by: Rafael J. Wysocki
14 Nov, 2013
1 commit
-
Pull thermal management updates from Zhang Rui:
"This time we only have a few changes as there are no soc thermal
changes from Eduardo. The only big change is the introduction of
TMON, a tool to help visualize, tune, and test the thermal subsystem.
The rest is mostly cleanups and fixes all over.Specifics:
- introduce TMON, a tool base on thermal sysfs I/F. It can be used
to visualize, tune and test the thermal subsystem.- fix a zone/cooling device binding problem, when both thermal zone
bind parameters and .bind() callback are available"* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
tools/thermal: Introduce tmon, a tool for thermal subsystem
thermal: Fix binding problem when there is thermal zone params
thermal: cpu_cooling: fix return value check in cpufreq_cooling_register()
Thermal: Check for validity before doing kfree
thermal/intel_powerclamp: Add newer CPU models
Thermal: Tidy up error handling in powerclamp_init
thermal: Kconfig: cosmetic fixes
ACPI/thermal : Remove zone disabled warning
typo in drivers/thermal/Kconfig: lpatform instead of platform
01 Oct, 2013
1 commit
-
Convert printks to pr_* format. Additionally re-use PREFIX constant instead of
hardcoded strings.Signed-off-by: Andy Shevchenko
Signed-off-by: Rafael J. Wysocki
30 Sep, 2013
1 commit
-
Once thermal zone is disabled to move thermal control to user space,
too many warnings printed in logs. Remove pr_warn from this path,
instead warn when user mode issues request to disable thermal zone.Signed-off-by: Srinivas Pandruvada
Acked-by: Eduardo Valentin
Signed-off-by: Zhang Rui
30 Aug, 2013
1 commit
-
* acpi-assorted:
ACPI / EC: Add ASUSTEK L4R to quirk list in order to validate ECDT
ACPI / thermal: Add check of "_TZD" availability and evaluating result
29 Aug, 2013
1 commit
-
Some machines don't provide _TZD, so check the availability of it
before carrying out futher operations.If _TZD is present, also check the result of its evaluation.
[rjw: Changelog]
Signed-off-by: Lan Tianyu
Signed-off-by: Rafael J. Wysocki
27 Aug, 2013
1 commit
-
* acpi-assorted:
ACPI / osl: Kill macro INVALID_TABLE().
earlycpio.c: Fix the confusing comment of find_cpio_data().
ACPI / x86: Print Hot-Pluggable Field in SRAT.
ACPI / thermal: Use THERMAL_TRIPS_NONE macro to replace number
ACPI / thermal: Remove unused macros in the driver/acpi/thermal.c
ACPI / thermal: Remove the unused lock of struct acpi_thermal
ACPI / osl: Fix osi_setup_entries[] __initdata attribute location
ACPI / numa: Fix __init attribute location in slit_valid()
ACPI / dock: Fix __init attribute location in find_dock_and_bay()
ACPI / Sleep: Fix incorrect placement of __initdata
ACPI / processor: Fix incorrect placement of __initdata
ACPI / EC: Fix incorrect placement of __initdata
ACPI / scan: Drop unnecessary label from acpi_create_platform_device()
ACPI: Move acpi_bus_get_device() from bus.c to scan.c
ACPI / scan: Allow platform device creation without any IO resources
ACPI: Cleanup sparse warning on acpi_os_initialize1()
platform / thinkpad: Remove deprecated hotkey_report_mode parameter
ACPI: Remove the old /proc/acpi/event interface
15 Aug, 2013
3 commits
-
It's unreadable to pass "-1" as trip parameter directly to
thermal_zone_bind_cooling_device(). Use THERMAL_TRIPS_NONE instead.Signed-off-by: Lan Tianyu
Acked-by: Zhang Rui
Acked-by: Durgadoss R
Signed-off-by: Rafael J. Wysocki -
The ACPI_THERMAL_FILE* macros are not used now, so remove them.
Signed-off-by: Lan Tianyu
Acked-by: Zhang Rui
Acked-by: Durgadoss R
Signed-off-by: Rafael J. Wysocki -
The acpi_thermal->lock now just is initialized when a thermal zone
device is added and destroyed when the thermal zone is removed.
It is never used in any other places, so remove it.Signed-off-by: Lan Tianyu
Acked-by: Zhang Rui
Acked-by: Durgadoss R
Signed-off-by: Rafael J. Wysocki
15 Jul, 2013
2 commits
-
It is quite some time that this one has been deprecated.
Get rid of it.Should some really important user be overseen, it may be reverted and
the userspace program worked on first, but it is time to do something
to get rid of this old stuff...Signed-off-by: Thomas Renninger
Acked-by: Matthew Garrett
Acked-by: Henrique de Moraes Holschuh
Signed-off-by: Rafael J. Wysocki -
Introduce helper function acpi_execute_simple_method() and use it in
a number of places to simplify code.[rjw: Changelog]
Signed-off-by: Jiang Liu
Signed-off-by: Rafael J. Wysocki
26 Apr, 2013
1 commit
-
Commit 4ae46be "Thermal: Introduce thermal_zone_trip_update()"
introduced a regression causing the fan to be always on even when
the system is idle.My original idea in that commit is that:
- when the current temperature is above the trip point,
keep the fan on, even if the temperature is dropping.
- when the current temperature is below the trip point,
turn on the fan when the temperature is raising,
turn off the fan when the temperature is dropping.But this is what the code actually does:
- when the current temperature is above the trip point,
the fan keeps on.
- when the current temperature is below the trip point,
the fan is always on because thermal_get_trend()
in driver/acpi/thermal.c returns THERMAL_TREND_RAISING.
Thus the fan keeps running even if the system is idle.Fix this in drivers/acpi/thermal.c.
[rjw: Changelog]
References: https://bugzilla.kernel.org/show_bug.cgi?id=56591
References: https://bugzilla.kernel.org/show_bug.cgi?id=56601
References: https://bugzilla.kernel.org/show_bug.cgi?id=50041#c45
Signed-off-by: Zhang Rui
Tested-by: Matthias
Tested-by: Ville Syrjälä
Cc: 3.7+
Signed-off-by: Rafael J. Wysocki
15 Feb, 2013
1 commit
-
* acpi-assorted:
ACPI: Add DMI entry for Sony VGN-FW41E_H
ACPI: fix obsolete comment in custom_method.c
ACPI / thermal: Use mode to enable/disable kernel thermal processing
ACPI thermal: remove unnecessary newline from exception message
ACPI sysfs: remove unnecessary newline from exception
ACPI video: remove unnecessary newline from error messages
ACPI: SRAT: report non-volatile memory in debug
ACPI: Rework acpi_get_child() to be more efficient
26 Jan, 2013
3 commits
-
The second argument of ACPI driver .remove() operation is only used
by the ACPI processor driver and the value passed to that driver
through it is always available from the given struct acpi_device
object's removal_type field. For this reason, the second ACPI driver
.remove() argument is in fact useless, so drop it.Signed-off-by: Rafael J. Wysocki
Reviewed-by: Jiang Liu
Acked-by: Toshi Kani
Acked-by: Yinghai Lu -
As per documentation, "mode" sysfs interface should be able to
enable/disable thermal processing in the kernel, so that user space
is able to take more control.Currently, ACPI thermal driver is not following this setting, so
modify it to match the interface documentation.Signed-off-by: Srinivas Pandruvada
Signed-off-by: Rafael J. Wysocki -
ACPI_EXCEPTION() already appends a newline, so there is no
need for the thermal trip point message to include one too.Signed-off-by: Colin Ian King
Signed-off-by: Rafael J. Wysocki
12 Dec, 2012
1 commit
-
Pull thermal management update from Zhang Rui:
"Highlights:- Introduction of thermal policy support, together with three new
thermal governors, including step_wise, user_space, fire_share.- Introduction of ST-Ericsson db8500_thermal driver and ST-Ericsson
db8500_cpufreq_cooling driver.- Thermal Kconfig file and Makefile refactor.
- Fixes for generic thermal layer, generic cpucooling, rcar thermal
driver and Exynos thermal driver."* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (36 commits)
Thermal: Fix DEFAULT_THERMAL_GOVERNOR
Thermal: fix a NULL pointer dereference when generic thermal layer is built as a module
thermal: rcar: add rcar_zone_to_priv() macro
thermal: rcar: fixup the unit of temperature
thermal: cpu cooling: allow module builds
thermal: cpu cooling: use const parameter while registering
Thermal: Add ST-Ericsson DB8500 thermal properties and platform data.
Thermal: Add ST-Ericsson DB8500 thermal driver.
drivers/thermal/Makefile refactor
Exynos: Add missing dependency
Refactor drivers/thermal/Kconfig
thermal: cpu_cooling: Make 'notify_device' static
Thermal: Remove the cooling_cpufreq_list.
Thermal: fix bug of counting cpu frequencies.
Thermal: add indent for code alignment.
thermal: rcar_thermal: remove explicitly used devm_kfree/iounap()
thermal: user_space: Add missing static storage class specifiers
thermal: fair_share: Add missing static storage class specifiers
thermal: step_wise: Add missing static storage class specifiers
Thermal: Fix oops and unlocking in thermal_sys.c
...
28 Nov, 2012
1 commit
-
On some platforms, _TMP and _CRT/_HOT/_PSV/_ACx have dependency.
And there is no way for OS to detect this dependency.commit 9bcb8118965ab4631a65ee0726e6518f75cda6c5 shows us a problem
that _TMP must be evaluate after _CRT/_HOT/_PSV/_ACx, or else
firmware will shutdown the system.But the machine in https://bugzilla.kernel.org/show_bug.cgi?id=43284
shows us that _PSV would return valid value only if _TMP has been
evaluated once.With this patch, all of the control methods will be evaluated once,
in the _CRT/_HOT/_PSV/_CRT/_TMP order, before they are actually used.[rjw: Added a local variable for the handle and modified the loop
slightly.]
Signed-off-by: Zhang Rui
Tested-by: katabami
Signed-off-by: Rafael J. Wysocki
05 Nov, 2012
1 commit
-
This patch adds the thermal zone parameter as an argument to
the tzd_register() function call; and updates other drivers
using this function.Signed-off-by: Durgadoss R
Signed-off-by: Zhang Rui
09 Oct, 2012
1 commit
-
Conflicts:
drivers/staging/omap-thermal/omap-thermal-common.
OMAP supplied dummy TC1 and TC2,
at the same time that the thermal tree removed them
from thermal_zone_device_register()drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
propogate the upstream MAX_IDR_LEVEL re-name
to prevent a build failurePreviously-fixed-by: Stephen Rothwell
Signed-off-by: Len Brown
24 Sep, 2012
4 commits
-
This function is used to update the cooling state of
all the cooling devices that are bound to an active trip point.This will be used for passive cooling as well, in the future patches.
as both active and passive cooling can share the same algorithm,
which is1. if the temperature is higher than a trip point,
a. if the trend is THERMAL_TREND_RAISING, use higher cooling
state for this trip point
b. if the trend is THERMAL_TREND_DROPPING, use lower cooling
state for this trip point2. if the temperature is lower than a trip point, use lower
cooling state for this trip point.Signed-off-by: Zhang Rui
Reviewed-by: Rafael J. Wysocki
Reviewed-by: Eduardo Valentin -
Remove tc1/tc2 in generic thermal layer.
.get_trend() callback starts to take effect from this patch.Signed-off-by: Zhang Rui
Reviewed-by: Rafael J. Wysocki
Reviewed-by: Valentin, Eduardo -
According to ACPI spec, tc1 and tc2 are used by OSPM
to anticipate the temperature trends.
We introduced the same concept to the generic thermal layer
for passive cooling, but now it seems that these values
are hard to be used on other platforms.So We introduce .get_trend() as a more general solution.
For the platform thermal drivers that have their own way to
anticipate the temperature trends, they should provide
their own .get_trend() callback.
Or else, we will calculate the temperature trends by simply
comparing the current temperature and the cached previous
temperature reading.Signed-off-by: Zhang Rui
Reviewed-by: Rafael J. Wysocki
Reviewed-by: Valentin, Eduardo -
set upper and lower limits when binding
a thermal cooling device to a thermal zone device.Signed-off-by: Zhang Rui
Reviewed-by: Rafael J. Wysocki
Reviewed-by: Eduardo Valentin
10 Aug, 2012
1 commit
-
According to compiler warnings, several suspend/resume functions
in ACPI drivers are not used for CONFIG_PM_SLEEP unset, so add
#ifdefs to prevent them from being built in that case.Signed-off-by: Rafael J. Wysocki
27 Jul, 2012
1 commit
-
Pull ACPI & power management update from Len Brown:
"Re-write of the turbostat tool.
lower overhead was necessary for measuring very large system when
they are very idle.IVB support in intel_idle
It's what I run on my IVB, others should be able to also:-)ACPICA core update
We have found some bugs due to divergence between Linux and the
upstream ACPICA base. Most of these patches are to reduce that
divergence to reduce the risk of future bugs.Some cpuidle updates, mostly for non-Intel
More will be coming, as they depend on this part.Some thermal management changes needed by non-ACPI systems.
Some _OST (OS Status Indication) updates for hot ACPI hot-plug."
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (51 commits)
Thermal: Documentation update
Thermal: Add Hysteresis attributes
Thermal: Make Thermal trip points writeable
ACPI/AC: prevent OOPS on some boxes due to missing check power_supply_register() return value check
tools/power: turbostat: fix large c1% issue
tools/power: turbostat v2 - re-write for efficiency
ACPICA: Update to version 20120711
ACPICA: AcpiSrc: Fix some translation issues for Linux conversion
ACPICA: Update header files copyrights to 2012
ACPICA: Add new ACPI table load/unload external interfaces
ACPICA: Split file: tbxface.c -> tbxfload.c
ACPICA: Add PCC address space to space ID decode function
ACPICA: Fix some comment fields
ACPICA: Table manager: deploy new firmware error/warning interfaces
ACPICA: Add new interfaces for BIOS(firmware) errors and warnings
ACPICA: Split exception code utilities to a new file, utexcep.c
ACPI: acpi_pad: tune round_robin_time
ACPICA: Update to version 20120620
ACPICA: Add support for implicit notify on multiple devices
ACPICA: Update comments; no functional change
...
25 Jul, 2012
2 commits
-
With commit 6503e5df08008b9a47022b5e9ebba658c8fa69af,
the value of /sys/class/thermal/thermal_zoneX/mode has been changed
from user/kernel to enabled/disabled.
Update the documentation so that users won't be confused.Signed-off-by: Zhang Rui
Signed-off-by: Len Brown -
Some of the thermal drivers using the Generic Thermal Framework
require (all/some) trip points to be writeable. This patch makes
the trip point temperatures writeable on a per-trip point basis,
and modifies the required function call in thermal.c. This patch
also updates the Documentation to reflect the new change.Signed-off-by: Durgadoss R
Signed-off-by: Zhang Rui
Signed-off-by: Len Brown
01 Jul, 2012
1 commit
-
Make the ACPI thermal driver define its PM callbacks through
a struct dev_pm_ops object rather than by using legacy PM hooks
in struct acpi_device_ops.Signed-off-by: Rafael J. Wysocki
30 Mar, 2012
1 commit
-
An HP laptop (Pavilion G4-1016tx) has the following code in _TMP:
Store (\_SB.PCI0.LPCB.EC0.RTMP, Local0)
If (LGreaterEqual (Local0, S4TP))
{
Store (One, HTS4)
}S4TP is initialised at 0 and not programmed further until either _HOT or
_CRT is called. If we evaluate _TMP before the trip points then HTS4 will
always be set, causing the firmware to generate a message on boot
complaining that the system shut down because of overheating. The simplest
solution is just to reverse the checking of trip points and _TMP in thermal
init.Signed-off-by: Matthew Garrett
Signed-off-by: Len Brown
17 Jul, 2011
1 commit
-
Structs battery_file, acpi_dock_ops, file_operations,
thermal_cooling_device_ops, thermal_zone_device_ops, kernel_param_ops
are not changed in runtime. It is safe to make them const.
register_hotplug_dock_device() was altered to take const "ops" argument
to respect acpi_dock_ops' const notion.Signed-off-by: Vasiliy Kulikov
Acked-by: Jeff Garzik
Signed-off-by: Len Brown
12 Jan, 2011
1 commit
-
Use the new function acpi_bus_update_power() for manipulating power
resources used by ACPI fan devices, which allows them to be put into
the right state during initialization and resume. Consequently,
remove the flags.force_power_state field from struct acpi_device,
which is not necessary any more.Signed-off-by: Rafael J. Wysocki
Signed-off-by: Len Brown
16 Oct, 2010
1 commit
-
Remove the deprecated ACPI thermal driver procfs I/F,
as stated in the changelog of commit 43d9f87b79804f2d75d9d8a81c862b179f055a15sysfs I/F is available at /sys/class/thermal/thermal_zoneX/
Signed-off-by: Zhang Rui
Signed-off-by: Len Brown
15 Aug, 2010
1 commit
-
Mark the ACPI thermal procfs I/F deprecated, because /sys/class/thermal/
is already available and has been working for years w/o any problem.The ACPI thermal procfs I/F will be removed in 2.6.37.
Signed-off-by: Zhang Rui
Signed-off-by: Len Brown