Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
Pull thermal management updates from Zhang Rui: - Fix a problem where orderly_shutdown() is called for multiple times due to multiple critical overheating events raised in a short period by platform thermal driver. (Keerthy) - Introduce a backup thermal shutdown mechanism, which invokes kernel_power_off()/emergency_restart() directly, after orderly_shutdown() being issued for certain amount of time(specified via Kconfig). This is useful in certain conditions that userspace may be unable to power off the system in a clean manner and leaves the system in a critical state, like in the middle of driver probing phase. (Keerthy) - Introduce a new interface in thermal devfreq_cooling code so that the driver can provide more precise data regarding actual power to the thermal governor every time the power budget is calculated. (Lukasz Luba) - Introduce BCM 2835 soc thermal driver and northstar thermal driver, within a new sub-folder. (Rafał Miłecki) - Introduce DA9062/61 thermal driver. (Steve Twiss) - Remove non-DT booting on TI-SoC driver. Also add support to fetching coefficients from DT. (Keerthy) - Refactorf RCAR Gen3 thermal driver. (Niklas Söderlund) - Small fix on MTK and intel-soc-dts thermal driver. (Dawei Chien, Brian Bian) * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (25 commits) thermal: core: Add a back up thermal shutdown mechanism thermal: core: Allow orderly_poweroff to be called only once Thermal: Intel SoC DTS: Change interrupt request behavior trace: thermal: add another parameter 'power' to the tracing function thermal: devfreq_cooling: add new interface for direct power read thermal: devfreq_cooling: refactor code and add get_voltage function thermal: mt8173: minor mtk_thermal.c cleanups thermal: bcm2835: move to the broadcom subdirectory thermal: broadcom: ns: specify myself as MODULE_AUTHOR thermal: da9062/61: Thermal junction temperature monitoring driver Documentation: devicetree: thermal: da9062/61 TJUNC temperature binding thermal: broadcom: add Northstar thermal driver dt-bindings: thermal: add support for Broadcom's Northstar thermal thermal: bcm2835: add thermal driver for bcm2835 SoC dt-bindings: Add thermal zone to bcm2835-thermal example thermal: rcar_gen3_thermal: add suspend and resume support thermal: rcar_gen3_thermal: store device match data in private structure thermal: rcar_gen3_thermal: enable hardware interrupts for trip points thermal: rcar_gen3_thermal: record and check number of TSCs found thermal: rcar_gen3_thermal: check that TSC exists before memory allocation ...
此提交包含在:
@@ -582,3 +582,24 @@ platform data is provided, this uses the step_wise throttling policy.
|
||||
This function serves as an arbitrator to set the state of a cooling
|
||||
device. It sets the cooling device to the deepest cooling state if
|
||||
possible.
|
||||
|
||||
6. thermal_emergency_poweroff:
|
||||
|
||||
On an event of critical trip temperature crossing. Thermal framework
|
||||
allows the system to shutdown gracefully by calling orderly_poweroff().
|
||||
In the event of a failure of orderly_poweroff() to shut down the system
|
||||
we are in danger of keeping the system alive at undesirably high
|
||||
temperatures. To mitigate this high risk scenario we program a work
|
||||
queue to fire after a pre-determined number of seconds to start
|
||||
an emergency shutdown of the device using the kernel_power_off()
|
||||
function. In case kernel_power_off() fails then finally
|
||||
emergency_restart() is called in the worst case.
|
||||
|
||||
The delay should be carefully profiled so as to give adequate time for
|
||||
orderly_poweroff(). In case of failure of an orderly_poweroff() the
|
||||
emergency poweroff kicks in after the delay has elapsed and shuts down
|
||||
the system.
|
||||
|
||||
If set to 0 emergency poweroff will not be supported. So a carefully
|
||||
profiled non-zero positive value is a must for emergerncy poweroff to be
|
||||
triggered.
|
||||
|
新增問題並參考
封鎖使用者