summaryrefslogtreecommitdiff
path: root/common/thermal.c
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2012-10-12 14:39:57 -0700
committerGerrit <chrome-bot@google.com>2012-10-15 10:37:26 -0700
commitb3fa69f17f4fec6cbe9cdc34e3b8abff367050f1 (patch)
tree7c0057129ebb3ae33b503f82f170838e07946c55 /common/thermal.c
parent814d0d227f599228761f5f95a618b4b63b05c66b (diff)
downloadchrome-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>
Diffstat (limited to 'common/thermal.c')
-rw-r--r--common/thermal.c15
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. */