diff options
author | Sameer Nanda <snanda@chromium.org> | 2012-10-02 14:12:16 -0700 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2012-10-02 16:05:18 -0700 |
commit | c98e1079318f90dc0d5b8238da0d50d46a530ead (patch) | |
tree | 83622ebf6348a1eb945d8a883915c05bc552172d /util | |
parent | 3c06f602b638f1f6eff1bde29dd1cbd3caf8c707 (diff) | |
download | chrome-ec-c98e1079318f90dc0d5b8238da0d50d46a530ead.tar.gz |
Fine tuning of temp_metrics thermal loop
Fine tuned temperature thresholds and added watermark concept to the
thermal loop.
BUG=chrome-os-partner:9193
TEST=Vary CPU and GPU load on the system. The fan speed and CPU/GPU
limits should change as the skin temperature responds to changes in the
load.
BRANCH=link
Change-Id: I43739097e699bc4e724e395c6e830c7c694704cc
Signed-off-by: Sameer Nanda <snanda@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/34454
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'util')
-rw-r--r-- | util/temp_metrics.conf | 51 |
1 files changed, 33 insertions, 18 deletions
diff --git a/util/temp_metrics.conf b/util/temp_metrics.conf index adca6850de..fc35e08ef5 100644 --- a/util/temp_metrics.conf +++ b/util/temp_metrics.conf @@ -146,13 +146,18 @@ script logger -t temp_metrics "$*" } - TEMP_THRESHOLD_1=40 + TEMP_THRESHOLD_1=38 + TEMP_THRESHOLD_1_WM=40 TEMP_THRESHOLD_2=45 + TEMP_THRESHOLD_2_WM=47 TEMP_THRESHOLD_3=50 + TEMP_THRESHOLD_3_WM=50 - TEMP_THRESHOLD_1_MIN_STEP=0 - TEMP_THRESHOLD_1_MAX_STEP=4 - TEMP_THRESHOLD_2_MIN_STEP=5 + TEMP_THRESHOLD_0_MIN_STEP=0 + TEMP_THRESHOLD_0_MAX_STEP=0 + TEMP_THRESHOLD_1_MIN_STEP=1 + TEMP_THRESHOLD_1_MAX_STEP=5 + TEMP_THRESHOLD_2_MIN_STEP=6 TEMP_THRESHOLD_2_MAX_STEP=9 TEMP_THRESHOLD_3_MIN_STEP=10 TEMP_THRESHOLD_3_MAX_STEP=13 @@ -167,24 +172,28 @@ script skin_temp=$1 if [ $skin_temp -gt $TEMP_THRESHOLD_3 ]; then - temp_threshold=$TEMP_THRESHOLD_3 + temp_watermark=$TEMP_THRESHOLD_3_WM min_step=$TEMP_THRESHOLD_3_MIN_STEP max_step=$TEMP_THRESHOLD_3_MAX_STEP elif [ $skin_temp -gt $TEMP_THRESHOLD_2 ]; then - temp_threshold=$TEMP_THRESHOLD_2 + temp_watermark=$TEMP_THRESHOLD_2_WM min_step=$TEMP_THRESHOLD_2_MIN_STEP max_step=$TEMP_THRESHOLD_2_MAX_STEP - else - temp_threshold=$TEMP_THRESHOLD_1 + elif [ $skin_temp -gt $TEMP_THRESHOLD_1 ]; then + temp_watermark=$TEMP_THRESHOLD_1_WM min_step=$TEMP_THRESHOLD_1_MIN_STEP max_step=$TEMP_THRESHOLD_1_MAX_STEP + else + temp_watermark=0 + min_step=$TEMP_THRESHOLD_0_MIN_STEP + max_step=$TEMP_THRESHOLD_0_MAX_STEP fi - if [ $skin_temp -gt $temp_threshold ]; then + if [ $skin_temp -gt $temp_watermark ]; then if [ $current_step -ne $max_step ]; then new_step=$(($current_step + 1)) fi - elif [ $skin_temp -lt $temp_threshold ]; then + elif [ $skin_temp -lt $temp_watermark ]; then if [ $current_step -gt $min_step ]; then new_step=$(($current_step - 1)) fi @@ -225,6 +234,7 @@ script temp_low3=105 temp_low4=105 temp_low5=105 + temp_low6=105 } last_rpm=10 @@ -233,6 +243,7 @@ script temp_low3=105 temp_low4=105 temp_low5=105 + temp_low6=105 fan_loop() { skin_temp=$1 @@ -241,22 +252,26 @@ script rpm=9300 fan_reset_thresholds temp_low1=46 - elif [ $skin_temp -gt 45 ] || [ $skin_temp -gt $temp_low2 ]; then - rpm=7800 + elif [ $skin_temp -gt 44 ] || [ $skin_temp -gt $temp_low2 ]; then + rpm=8000 fan_reset_thresholds temp_low2=43 elif [ $skin_temp -gt 42 ] || [ $skin_temp -gt $temp_low3 ]; then - rpm=6000 + rpm=7000 + fan_reset_thresholds + temp_low3=41 + elif [ $skin_temp -gt 40 ] || [ $skin_temp -gt $temp_low4 ]; then + rpm=5500 fan_reset_thresholds - temp_low3=39 - elif [ $skin_temp -gt 38 ] || [ $skin_temp -gt $temp_low4 ]; then + temp_low4=39 + elif [ $skin_temp -gt 38 ] || [ $skin_temp -gt $temp_low5 ]; then rpm=4000 fan_reset_thresholds - temp_low4=34 - elif [ $skin_temp -gt 33 ] || [ $skin_temp -gt $temp_low5 ]; then + temp_low5=34 + elif [ $skin_temp -gt 33 ] || [ $skin_temp -gt $temp_low6 ]; then rpm=3000 fan_reset_thresholds - temp_low5=30 + temp_low6=30 else rpm=0 fan_reset_thresholds |