diff options
author | Bill Richardson <wfrichar@chromium.org> | 2014-04-09 14:02:55 -0700 |
---|---|---|
committer | Bill Richardson <wfrichar@chromium.org> | 2014-04-11 15:37:38 +0000 |
commit | 5019551e1d63bdd95e8b358a409e923c16e604fd (patch) | |
tree | adfaecb5b6c4e3f0ebb39019e8c818f02e506705 /common | |
parent | 39194d5fc584199fad690939b362e61b1aa4a12d (diff) | |
download | chrome-ec-5019551e1d63bdd95e8b358a409e923c16e604fd.tar.gz |
Move common charge_state time constants to a common header
We had duplicate values in both v1 and v2 headers. Let's consolidate them in
one place, and prefix the constants with "CHARGE_", so people don't use them
randomly.
BUG=chrome-os-partner:20881
BRANCH=ToT
TEST=make buildall -j
No functionality changes, refactor/rename only.
Change-Id: I0ee599a2e3bf0835c2c0a7e57872ad9015701a4b
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/193876
Diffstat (limited to 'common')
-rw-r--r-- | common/charge_state_v1.c | 32 | ||||
-rw-r--r-- | common/charge_state_v2.c | 31 |
2 files changed, 27 insertions, 36 deletions
diff --git a/common/charge_state_v1.c b/common/charge_state_v1.c index 1de56e34fa..1b1ed8272d 100644 --- a/common/charge_state_v1.c +++ b/common/charge_state_v1.c @@ -28,8 +28,7 @@ /* Voltage debounce time */ #define DEBOUNCE_TIME (10 * SECOND) -/* Timeout after AP battery shutdown warning before we kill the AP */ -#define LOW_BATTERY_SHUTDOWN_TIMEOUT_US (30 * SECOND) +#define LOW_BATTERY_SHUTDOWN_TIMEOUT_US (LOW_BATTERY_SHUTDOWN_TIMEOUT * SECOND) #ifndef BATTERY_AP_OFF_LEVEL #define BATTERY_AP_OFF_LEVEL 0 @@ -270,7 +269,7 @@ static int state_common(struct charge_state_context *ctx) */ charge_request(ctx->battery->voltage_max, ctx->battery->precharge_current); - for (d = 0; d < 30; d++) { + for (d = 0; d < PRECHARGE_TIMEOUT; d++) { sleep(1); battery_get_params(batt); if (batt->flags & BATT_FLAG_RESPONSIVE) { @@ -703,7 +702,7 @@ void charger_task(void) { struct charge_state_context *ctx = &task_ctx; timestamp_t ts; - int sleep_usec = POLL_PERIOD_SHORT, diff_usec, sleep_next; + int sleep_usec = CHARGE_POLL_PERIOD_SHORT, diff_usec, sleep_next; enum charge_state new_state; uint8_t batt_flags; @@ -792,7 +791,7 @@ void charger_task(void) * to charging on the next call and we don't want to * blink the LED green. */ - sleep_usec = POLL_PERIOD_SHORT; + sleep_usec = CHARGE_POLL_PERIOD_SHORT; break; case PWR_STATE_CHARGE_NEAR_FULL: /* @@ -808,15 +807,16 @@ void charger_task(void) *ctx->memmap_batt_flags = batt_flags; /* Charge done */ - sleep_usec = (new_state == PWR_STATE_IDLE ? - POLL_PERIOD_LONG : POLL_PERIOD_CHARGE); + sleep_usec = (new_state == PWR_STATE_IDLE + ? CHARGE_POLL_PERIOD_LONG + : CHARGE_POLL_PERIOD_CHARGE); break; case PWR_STATE_DISCHARGE: batt_flags = *ctx->memmap_batt_flags; batt_flags &= ~EC_BATT_FLAG_CHARGING; batt_flags |= EC_BATT_FLAG_DISCHARGING; *ctx->memmap_batt_flags = batt_flags; - sleep_usec = POLL_PERIOD_LONG; + sleep_usec = CHARGE_POLL_PERIOD_LONG; break; case PWR_STATE_CHARGE: batt_flags = *ctx->memmap_batt_flags; @@ -825,18 +825,18 @@ void charger_task(void) *ctx->memmap_batt_flags = batt_flags; /* Charging */ - sleep_usec = POLL_PERIOD_CHARGE; + sleep_usec = CHARGE_POLL_PERIOD_CHARGE; break; case PWR_STATE_ERROR: /* Error */ - sleep_usec = POLL_PERIOD_CHARGE; + sleep_usec = CHARGE_POLL_PERIOD_CHARGE; break; case PWR_STATE_UNCHANGE: /* Don't change sleep duration */ break; default: /* Other state; poll quickly and hope it goes away */ - sleep_usec = POLL_PERIOD_SHORT; + sleep_usec = CHARGE_POLL_PERIOD_SHORT; } #ifdef CONFIG_EXTPOWER_FALCO @@ -859,11 +859,11 @@ void charger_task(void) * need to poll frequently. charge_hook() will wake us * up if anything important changes. */ - sleep_next = POLL_PERIOD_VERY_LONG - diff_usec; - } else if (sleep_next < MIN_SLEEP_USEC) { - sleep_next = MIN_SLEEP_USEC; - } else if (sleep_next > MAX_SLEEP_USEC) { - sleep_next = MAX_SLEEP_USEC; + sleep_next = CHARGE_POLL_PERIOD_VERY_LONG - diff_usec; + } else if (sleep_next < CHARGE_MIN_SLEEP_USEC) { + sleep_next = CHARGE_MIN_SLEEP_USEC; + } else if (sleep_next > CHARGE_MAX_SLEEP_USEC) { + sleep_next = CHARGE_MAX_SLEEP_USEC; } task_wait_event(sleep_next); diff --git a/common/charge_state_v2.c b/common/charge_state_v2.c index 6ca6222370..f5adc45b17 100644 --- a/common/charge_state_v2.c +++ b/common/charge_state_v2.c @@ -26,18 +26,8 @@ #define CPUTS(outstr) cputs(CC_CHARGER, outstr) #define CPRINTF(format, args...) cprintf(CC_CHARGER, format, ## args) -/* Delay after AP battery shutdown warning before we kill the AP */ -#define LOW_BATTERY_SHUTDOWN_TIMEOUT_US (30 * SECOND) -/* Time to spend trying to wake a non-responsive battery */ -#define PRECHARGE_TIMEOUT_US (30 * SECOND) - -/* Power state task polling periods in usec */ -#define POLL_PERIOD_VERY_LONG MINUTE -#define POLL_PERIOD_LONG (MSEC * 500) -#define POLL_PERIOD_CHARGE (MSEC * 250) -#define POLL_PERIOD_SHORT (MSEC * 100) -#define MIN_SLEEP_USEC (MSEC * 50) -#define MAX_SLEEP_USEC MINUTE +#define LOW_BATTERY_SHUTDOWN_TIMEOUT_US (LOW_BATTERY_SHUTDOWN_TIMEOUT * SECOND) +#define PRECHARGE_TIMEOUT_US (PRECHARGE_TIMEOUT * SECOND) /* * State for charger_task(). Here so we can reset it on a HOOK_INIT, and @@ -596,7 +586,7 @@ wait_for_it: /* How long to sleep? */ if (problems_exist) /* If there are errors, don't wait very long. */ - sleep_usec = POLL_PERIOD_SHORT; + sleep_usec = CHARGE_POLL_PERIOD_SHORT; else if (sleep_usec <= 0) { /* default values depend on the state */ if (curr.state == ST_IDLE || @@ -604,22 +594,23 @@ wait_for_it: /* If AP is off, we can sleep a long time */ if (chipset_in_state(CHIPSET_STATE_ANY_OFF | CHIPSET_STATE_SUSPEND)) - sleep_usec = POLL_PERIOD_VERY_LONG; + sleep_usec = + CHARGE_POLL_PERIOD_VERY_LONG; else /* Discharging, not too urgent */ - sleep_usec = POLL_PERIOD_LONG; + sleep_usec = CHARGE_POLL_PERIOD_LONG; } else { /* Charging, so pay closer attention */ - sleep_usec = POLL_PERIOD_CHARGE; + sleep_usec = CHARGE_POLL_PERIOD_CHARGE; } } /* Adjust for time spent in this loop */ sleep_usec -= (int)(get_time().val - curr.ts.val); - if (sleep_usec < MIN_SLEEP_USEC) - sleep_usec = MIN_SLEEP_USEC; - else if (sleep_usec > MAX_SLEEP_USEC) - sleep_usec = MAX_SLEEP_USEC; + if (sleep_usec < CHARGE_MIN_SLEEP_USEC) + sleep_usec = CHARGE_MIN_SLEEP_USEC; + else if (sleep_usec > CHARGE_MAX_SLEEP_USEC) + sleep_usec = CHARGE_MAX_SLEEP_USEC; task_wait_event(sleep_usec); } |