diff options
author | Shawn Nematbakhsh <shawnn@chromium.org> | 2017-12-26 18:25:15 -0800 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2018-05-01 09:45:10 +0000 |
commit | d4ade7323dc823c469ef76041b8ae2958faf0ea0 (patch) | |
tree | a31b999d294be2f1365a145f56fa7bc5f6f39af6 | |
parent | 3f32c4157d9d8516b5640c57bd141c33a97d6f26 (diff) | |
download | chrome-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.c | 7 |
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; } } |