diff options
author | Randall Spangler <rspangler@chromium.org> | 2012-10-12 14:39:57 -0700 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2012-10-15 10:37:26 -0700 |
commit | b3fa69f17f4fec6cbe9cdc34e3b8abff367050f1 (patch) | |
tree | 7c0057129ebb3ae33b503f82f170838e07946c55 | |
parent | 814d0d227f599228761f5f95a618b4b63b05c66b (diff) | |
download | chrome-ec-b3fa69f17f4fec6cbe9cdc34e3b8abff367050f1.tar.gz |
link: thermal controls ignore case temp by default
The remote temperature sensors for case temps are now not used until
they're calibrated by the host. But the EC still tries to control the
fan based on case temps. At best this has no effect because the
sensors haven't been enabled by host calibration. At worst, the host
calibrates them, but doesn't set up the temerature thresholds to
match, so the EC spins up the fan briefly during boot before the host
takes over (annoying), or potentially asserts prochot, shuts the
system down, or triggers a bunch of SMIs (really annoying). It's
safer just to leave these thresholds disabled by default; if the host
wants the EC to use them, it can easily set them at the same time it
sets the remote sensor calibration data.
Also, adjust overheated thresholds up based on snanda's recommendations.
BUG=chrome-os-partner:9193
BRANCH=link
TEST=thermalconf 2 --> should print 0 K for all levels
Change-Id: I5bd1ea65eaefc4d39238b22363176d32663434a0
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/35449
Reviewed-by: Sameer Nanda <snanda@chromium.org>
-rw-r--r-- | common/thermal.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/common/thermal.c b/common/thermal.c index b189075af1..c452fff495 100644 --- a/common/thermal.c +++ b/common/thermal.c @@ -24,20 +24,17 @@ */ extern const struct temp_sensor_t temp_sensors[TEMP_SENSOR_COUNT]; -/* Temperature threshold configuration. Must be in the same order as in - * enum temp_sensor_type. Threshold values for overheated action first. - * Followed by fan speed stepping thresholds. */ +/* Temperature threshold configuration. Must be in the same order as in enum + * temp_sensor_type. Threshold values for overheated action first (warning, + * prochot, power-down), followed by fan speed stepping thresholds. */ static struct thermal_config_t thermal_config[TEMP_SENSOR_TYPE_COUNT] = { /* TEMP_SENSOR_TYPE_CPU */ {THERMAL_CONFIG_WARNING_ON_FAIL, - {368, 373, 383, 327, 335, 343, 351, 359} } , + {373, 378, 383, 327, 335, 343, 351, 359} } , /* TEMP_SENSOR_TYPE_BOARD */ - {THERMAL_CONFIG_NO_FLAG, {THERMAL_THRESHOLD_DISABLE_ALL}}, + {THERMAL_CONFIG_NO_FLAG, {THERMAL_THRESHOLD_DISABLE_ALL} }, /* TEMP_SENSOR_TYPE_CASE */ - {THERMAL_CONFIG_NO_FLAG, {341, THERMAL_THRESHOLD_DISABLE, 353, - THERMAL_THRESHOLD_DISABLE, THERMAL_THRESHOLD_DISABLE, - THERMAL_THRESHOLD_DISABLE, THERMAL_THRESHOLD_DISABLE, - THERMAL_THRESHOLD_DISABLE} }, + {THERMAL_CONFIG_NO_FLAG, {THERMAL_THRESHOLD_DISABLE_ALL} }, }; /* Fan speed settings. */ |