ec/lenovo/h8/acpi/thermal: Add support for passive cooling
The ACPI spec requires _TSP, _TC1, _TC2 and _PSL for passive cooling. _TSP already has been added in a previous commit. Copy the coefficients used on google devices to activate the feature. Tested on Lenovo T430: The CPU is throttled once the passive threshold has been reached. Tested on Lenovo T500: The CPU is throttled once the passive threshold has been reached. Change-Id: I922923a9029de77158988ac254bab4aad9536935 Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-on: https://review.coreboot.org/21223 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Vasya Boytsov <vasiliy.boytsov@phystech.edu> Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
parent
8b59b31514
commit
3ab13a8691
|
@ -40,9 +40,25 @@ Scope(\_TZ)
|
||||||
/* Thermal sampling period for passive cooling: 10 seconds */
|
/* Thermal sampling period for passive cooling: 10 seconds */
|
||||||
Name (_TSP, 100)
|
Name (_TSP, 100)
|
||||||
|
|
||||||
|
/* Coefficients for passive cooling */
|
||||||
|
Name (_TC1, 0x02)
|
||||||
|
Name (_TC2, 0x05)
|
||||||
|
|
||||||
|
#if !IS_ENABLED(CONFIG_CPU_INTEL_MODEL_206AX) && \
|
||||||
|
!IS_ENABLED(CONFIG_CPU_INTEL_MODEL_2065X) && \
|
||||||
|
!IS_ENABLED(CONFIG_CPU_INTEL_MODEL_306AX)
|
||||||
|
/* Generated by acpigen */
|
||||||
|
External (\PPKG, MethodObj)
|
||||||
|
#endif
|
||||||
|
/* Processors used for passive cooling */
|
||||||
|
Method (_PSL, 0, Serialized)
|
||||||
|
{
|
||||||
|
Return (\PPKG ())
|
||||||
|
}
|
||||||
|
|
||||||
Method (_CRT, 0, NotSerialized) {
|
Method (_CRT, 0, NotSerialized) {
|
||||||
Store (\TCRT, Local0)
|
Store (\TCRT, Local0)
|
||||||
if (LGreater(Local0, Zero)) {
|
if (LGreater (Local0, 0)) {
|
||||||
Return (C2K (Local0))
|
Return (C2K (Local0))
|
||||||
}
|
}
|
||||||
Return (C2K (127))
|
Return (C2K (127))
|
||||||
|
@ -50,7 +66,7 @@ Scope(\_TZ)
|
||||||
|
|
||||||
Method (_PSV, 0, NotSerialized) {
|
Method (_PSV, 0, NotSerialized) {
|
||||||
Store (\TPSV, Local0)
|
Store (\TPSV, Local0)
|
||||||
if (LGreater(Local0, Zero)) {
|
if (LGreater (Local0, 0)) {
|
||||||
Return (C2K(Local0))
|
Return (C2K(Local0))
|
||||||
}
|
}
|
||||||
Return (C2K (95))
|
Return (C2K (95))
|
||||||
|
@ -76,6 +92,16 @@ Scope(\_TZ)
|
||||||
/* Thermal sampling period for passive cooling: 10 seconds */
|
/* Thermal sampling period for passive cooling: 10 seconds */
|
||||||
Name (_TSP, 100)
|
Name (_TSP, 100)
|
||||||
|
|
||||||
|
/* Coefficients for passive cooling */
|
||||||
|
Name (_TC1, 0x02)
|
||||||
|
Name (_TC2, 0x05)
|
||||||
|
|
||||||
|
/* Processors used for passive cooling */
|
||||||
|
Method (_PSL, 0, Serialized)
|
||||||
|
{
|
||||||
|
Return (\PPKG ())
|
||||||
|
}
|
||||||
|
|
||||||
Method (_CRT, 0, NotSerialized) {
|
Method (_CRT, 0, NotSerialized) {
|
||||||
Return (C2K (99))
|
Return (C2K (99))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue