[coreboot-gerrit] New patch to review for coreboot: 0c06ace falco: Re-read critical temperatures in ACPI _TMP

Isaac Christensen (isaac.christensen@se-eng.com) gerrit at coreboot.org
Sat Aug 2 00:49:24 CEST 2014


Isaac Christensen (isaac.christensen at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6457

-gerrit

commit 0c06acef248d15f1047193d53ce2bc534b57cf7c
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Mon Aug 26 08:33:56 2013 -0700

    falco: Re-read critical temperatures in ACPI _TMP
    
    There seem to be a significant number of shutdowns during suspend resume
    tests related to critical temperatures.  It is possible that we are getting
    a bad reading from PECI and shutting down prematurely in some cases.
    
    If we get a reading that is above critical then wait for the EC to re-poll
    and then re-check the temperature in case it was just a bad reading.
    
    Also add some ACPI debug messages when this happens.
    
    Original-Change-Id: I0ab7bdcc50d133981c0f36fc696b06d4a1d939a7
    Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
    Reviewed-on: https://gerrit.chromium.org/gerrit/66937
    Reviewed-by: Aaron Durbin <adurbin at chromium.org>
    
    (cherry picked from commit a39d7b11dd7b2af37fc2658542d56b32e3966ed4)
    Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
    
    Change-Id: Ib612266511d90749ec6507f8467c71523ee8fb95
    Reviewed-on: https://chromium-review.googlesource.com/66939
    Tested-by: Duncan Laurie <dlaurie at chromium.org>
    Reviewed-by: Aaron Durbin <adurbin at chromium.org>
    Commit-Queue: Duncan Laurie <dlaurie at chromium.org>
    (cherry picked from commit e98da983dca7819490464bddf08b9c53f28d2712)
    Signed-off-by: Isaac Christensen <isaac.christensen at se-eng.com>
---
 src/mainboard/google/falco/acpi/thermal.asl | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/src/mainboard/google/falco/acpi/thermal.asl b/src/mainboard/google/falco/acpi/thermal.asl
index 397f3eb..a622d6c 100644
--- a/src/mainboard/google/falco/acpi/thermal.asl
+++ b/src/mainboard/google/falco/acpi/thermal.asl
@@ -75,7 +75,7 @@ Scope (\_TZ)
 			Return (\PPKG ())
 		}
 
-		Method (_TMP, 0, Serialized)
+		Method (TCHK, 0, Serialized)
 		{
 			// Get Temperature from TIN# set in NVS
 			Store (\_SB.PCI0.LPCB.EC0.TINS (TMPS), Local0)
@@ -107,5 +107,30 @@ Scope (\_TZ)
 			Multiply (Local0, 10, Local0)
 			Return (Local0)
 		}
+
+		Method (_TMP, 0, Serialized)
+		{
+			// Get temperature from EC in deci-kelvin
+			Store (TCHK (), Local0)
+
+			// Critical temperature in deci-kelvin
+			Store (CTOK (\TCRT), Local1)
+
+			If (LGreaterEqual (Local0, Local1)) {
+				Store ("CRITICAL TEMPERATURE", Debug)
+				Store (Local0, Debug)
+
+				// Wait 1 second for EC to re-poll
+				Sleep (1000)
+
+				// Re-read temperature from EC
+				Store (TCHK (), Local0)
+
+				Store ("RE-READ TEMPERATURE", Debug)
+				Store (Local0, Debug)
+			}
+
+			Return (Local0)
+		}
 	}
 }



More information about the coreboot-gerrit mailing list