diff options
author | Patrick Rudolph <siro@das-labor.org> | 2017-06-11 18:19:45 +0200 |
---|---|---|
committer | Patrick Rudolph <siro@das-labor.org> | 2017-08-27 13:07:16 +0000 |
commit | 9c7ce28b2fe3f1b077562dc1f47679bf5115c0cf (patch) | |
tree | ede1505813a66f41ebf8b86a14a94ff8b678c2cd /src | |
parent | 959dfc1261074e50404cb1d435729c62a054ddb9 (diff) |
ec/lenovo/h8/acpi/thermal: Don't hardcode limits
Add support for board specific critical and passive
limits using GNVS table. Use default values if no
board specific limit exists.
* Add ACPI methods _TZP, _TSP and _PSV.
* Update ACPI method _CRT to use board specific if available.
Tested on Lenovo T500.
Change-Id: If438a909f4415f50cd7a764fb5fba7ec29599606
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/21159
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src')
-rw-r--r-- | src/ec/lenovo/h8/acpi/thermal.asl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/ec/lenovo/h8/acpi/thermal.asl b/src/ec/lenovo/h8/acpi/thermal.asl index 2e95b691c5..84e23f9675 100644 --- a/src/ec/lenovo/h8/acpi/thermal.asl +++ b/src/ec/lenovo/h8/acpi/thermal.asl @@ -34,9 +34,28 @@ Scope(\_TZ) ThermalZone(THM0) { + /* Thermal zone polling frequency: 10 seconds */ + Name (_TZP, 100) + + /* Thermal sampling period for passive cooling: 10 seconds */ + Name (_TSP, 100) + Method(_CRT, 0, NotSerialized) { + Store (\TCRT, Local0) + if (LGreater(Local0, Zero)) { + Return (C2K(Local0)) + } Return (C2K(127)) } + + Method(_PSV, 0, NotSerialized) { + Store (\TPSV, Local0) + if (LGreater(Local0, Zero)) { + Return (C2K(Local0)) + } + Return (C2K(95)) + } + Method(_TMP) { #if defined (EC_LENOVO_H8_ME_WORKAROUND) /* Avoid tripping alarm if ME isn't booted at all yet */ @@ -51,6 +70,12 @@ Scope(\_TZ) ThermalZone(THM1) { + /* Thermal zone polling frequency: 10 seconds */ + Name (_TZP, 100) + + /* Thermal sampling period for passive cooling: 10 seconds */ + Name (_TSP, 100) + Method(_CRT, 0, NotSerialized) { Return (C2K(99)) } |