[coreboot-gerrit] Patch set updated for coreboot: 30a63e1 chrome ec: Fix temperature calcualtion in PATx methods

Aaron Durbin (adurbin@google.com) gerrit at coreboot.org
Tue May 13 16:29:07 CEST 2014


Aaron Durbin (adurbin at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5036

-gerrit

commit 30a63e1f98d5e3f7423d65447005996c8104311b
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Thu Jan 9 10:01:05 2014 -0800

    chrome ec: Fix temperature calcualtion in PATx methods
    
    The PATx methods will be passed a temperature in deci-kelvin,
    so it needs to be converted back to kelvin before being sent
    to the EC.
    
    The PAT disable method is changed to take the temperature ID
    as an argument so individual sensors can be disabled.
    
    BUG=chrome-os-partner:17279
    BRANCH=rambi
    TEST=build and boot on rambi, load esif_lf kernel drivers and
    esif_uf userspace application.  Start and stop DPTF and see
    that temperature thresholds are set to sane values.
    
    Change-Id: Ieeff5a5d2d833042923c059caf3e5abaf392da95
    Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/182023
    Reviewed-by: Aaron Durbin <adurbin at chromium.org>
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
---
 src/ec/google/chromeec/acpi/ec.asl | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/ec/google/chromeec/acpi/ec.asl b/src/ec/google/chromeec/acpi/ec.asl
index c931225..1cadcc8 100644
--- a/src/ec/google/chromeec/acpi/ec.asl
+++ b/src/ec/google/chromeec/acpi/ec.asl
@@ -299,13 +299,14 @@ Device (EC0)
 			Return (0)
 		}
 
-		Store ("EC: PAT0", Debug)
-
 		/* Set sensor ID */
 		Store (ToInteger (Arg0), ^PATI)
 
-		/* Adjust by offset to get Kelvin and set Threshold */
-		Add (ToInteger (Arg1), ^TOFS, ^PATT)
+		/* Temperature is passed in 1/10 Kelvin */
+		Divide (ToInteger (Arg1), 10, Local0, Local1)
+
+		/* Adjust by EC temperature offset */
+		Subtract (Local1, ^TOFS, ^PATT)
 
 		/* Set commit value with SELECT=0 and ENABLE=1 */
 		Store (0x02, ^PATC)
@@ -325,13 +326,14 @@ Device (EC0)
 			Return (0)
 		}
 
-		Store ("EC: PAT1", Debug)
-
 		/* Set sensor ID */
 		Store (ToInteger (Arg0), ^PATI)
 
-		/* Adjust by offset to get Kelvin and set Threshold */
-		Add (ToInteger (Arg1), ^TOFS, ^PATT)
+		/* Temperature is passed in 1/10 Kelvin */
+		Divide (ToInteger (Arg1), 10, Local0, Local1)
+
+		/* Adjust by EC temperature offset */
+		Subtract (Local1, ^TOFS, ^PATT)
 
 		/* Set commit value with SELECT=1 and ENABLE=1 */
 		Store (0x03, ^PATC)
@@ -340,16 +342,16 @@ Device (EC0)
 		Return (1)
 	}
 
-	/* Disable Aux Trip Points */
-	Method (PATD)
+	/* Disable Aux Trip Points
+	 *   Arg0 = Temp Sensor ID
+	 */
+	Method (PATD, 1, Serialized)
 	{
 		If (Acquire (^PATM, 1000)) {
 			Return (0)
 		}
 
-		Store ("EC: PAT Disable", Debug)
-
-		Store (0x00, ^PATI)
+		Store (ToInteger (Arg0), ^PATI)
 		Store (0x00, ^PATT)
 
 		/* Disable PAT0 */
@@ -365,14 +367,12 @@ Device (EC0)
 	/*
 	 * Thermal Threshold Event
 	  */
-	Method (_Q09, 0, Serialized)
+	Method (_Q09, 0, NotSerialized)
 	{
 		If (Acquire (^PATM, 1000)) {
 			Return ()
 		}
 
-		Store ("EC: THERMAL THRESHOLD", Debug)
-
 		/* Read sensor ID for event */
 		Store (^PATI, Local0)
 



More information about the coreboot-gerrit mailing list