summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2017-12-26 18:25:15 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2018-05-01 09:45:10 +0000
commitd4ade7323dc823c469ef76041b8ae2958faf0ea0 (patch)
treea31b999d294be2f1365a145f56fa7bc5f6f39af6
parent3f32c4157d9d8516b5640c57bd141c33a97d6f26 (diff)
downloadchrome-ec-d4ade7323dc823c469ef76041b8ae2958faf0ea0.tar.gz
charger: Use shorter poll timeouts when on-ac
If AC is present but we're not charging yet, it's very possible this status is transient (eg. due to cut-off battery, brief spike in current useage, etc), so don't use very long task timeout. BUG=b:70554834 BRANCH=None TEST=Verify soraka doesn't take over a minute to boot when exiting from ship mode. Change-Id: Ibaf53fe308876670562cb5f47f93bdee4781ee22 Signed-off-by: Duncan Laurie <dlaurie@google.com> Original-Commit-Id: 1c87ad4153488512792e6b7898408126111727cf Original-Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Original-Change-Id: I9dbfd8cb7dfc54cb8017bb0c7d633c5d64a15025 Reviewed-on: https://chromium-review.googlesource.com/1035203
-rw-r--r--common/charge_state_v2.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/common/charge_state_v2.c b/common/charge_state_v2.c
index 0e2ceac7f0..e3235e7fba 100644
--- a/common/charge_state_v2.c
+++ b/common/charge_state_v2.c
@@ -936,8 +936,9 @@ wait_for_it:
sleep_usec = CHARGE_POLL_PERIOD_SHORT;
else if (sleep_usec <= 0) {
/* default values depend on the state */
- if (curr.state == ST_IDLE ||
- curr.state == ST_DISCHARGE) {
+ if (!curr.ac &&
+ (curr.state == ST_IDLE ||
+ curr.state == ST_DISCHARGE)) {
/* If AP is off, we can sleep a long time */
if (chipset_in_state(CHIPSET_STATE_ANY_OFF |
CHIPSET_STATE_SUSPEND))
@@ -947,7 +948,7 @@ wait_for_it:
/* Discharging, not too urgent */
sleep_usec = CHARGE_POLL_PERIOD_LONG;
} else {
- /* Charging, so pay closer attention */
+ /* AC present, so pay closer attention */
sleep_usec = CHARGE_POLL_PERIOD_CHARGE;
}
}