summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorVic Yang <victoryang@chromium.org>2013-05-15 11:18:21 +0800
committerChromeBot <chrome-bot@google.com>2013-05-15 12:12:23 -0700
commitd9cf88b35ad211d873f48b41fd985e22ff049b83 (patch)
treeb57229f791bf4ac8b3bcdd358d80cd788f3de17c /common
parent3addfe80f9c19045457f4b489c99c3067db4fc96 (diff)
downloadchrome-ec-d9cf88b35ad211d873f48b41fd985e22ff049b83.tar.gz
Add thermal engine test
BUG=chrome-os-partner:19236 TEST=Pass the test. BRANCH=None Change-Id: I1c96437e1fb3492faa5352383f852dc1d2718ace Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/51248 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'common')
-rw-r--r--common/temp_sensor.c2
-rw-r--r--common/thermal.c13
2 files changed, 8 insertions, 7 deletions
diff --git a/common/temp_sensor.c b/common/temp_sensor.c
index 3079e3b2a8..e33d787b9c 100644
--- a/common/temp_sensor.c
+++ b/common/temp_sensor.c
@@ -24,7 +24,7 @@
/* Default temperature to report in mapped memory */
#define MAPPED_TEMP_DEFAULT (296 - EC_TEMP_SENSOR_OFFSET)
-int temp_sensor_read(enum temp_sensor_id id, int *temp_ptr)
+test_mockable int temp_sensor_read(enum temp_sensor_id id, int *temp_ptr)
{
const struct temp_sensor_t *sensor;
diff --git a/common/thermal.c b/common/thermal.c
index 00970c6081..0015f5cca6 100644
--- a/common/thermal.c
+++ b/common/thermal.c
@@ -27,7 +27,8 @@
* 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] = {
+test_export_static struct thermal_config_t
+ thermal_config[TEMP_SENSOR_TYPE_COUNT] = {
/* TEMP_SENSOR_TYPE_CPU */
{THERMAL_CONFIG_WARNING_ON_FAIL,
{373, 378, 383, 327, 335, 343, 351, 359} } ,
@@ -38,8 +39,8 @@ static struct thermal_config_t thermal_config[TEMP_SENSOR_TYPE_COUNT] = {
};
/* Fan speed settings. Real max RPM is about 9300. */
-static const int fan_speed[THERMAL_FAN_STEPS + 1] = {0, 3000, 4575, 6150,
- 7725, -1};
+test_export_static const int fan_speed[THERMAL_FAN_STEPS + 1] =
+ {0, 3000, 4575, 6150, 7725, -1};
/* Number of consecutive overheated events for each temperature sensor. */
static int8_t ot_count[TEMP_SENSOR_COUNT][THRESHOLD_COUNT + THERMAL_FAN_STEPS];
@@ -159,7 +160,9 @@ static inline void update_and_check_stat(int temp,
const int16_t threshold = config->thresholds[threshold_id];
const int delay = temp_sensors[sensor_id].action_delay_sec;
- if (threshold > 0 && temp >= threshold) {
+ if (threshold <= 0) {
+ ot_count[sensor_id][threshold_id] = 0;
+ } else if (temp >= threshold) {
++ot_count[sensor_id][threshold_id];
if (ot_count[sensor_id][threshold_id] >= delay) {
ot_count[sensor_id][threshold_id] = delay;
@@ -174,8 +177,6 @@ static inline void update_and_check_stat(int temp,
* threshold causing overheated actions to trigger repeatedly.
*/
overheated[threshold_id] = 1;
- } else {
- ot_count[sensor_id][threshold_id] = 0;
}
}