diff options
author | Nicolas Boichat <drinkcat@chromium.org> | 2018-01-24 12:25:31 +0800 |
---|---|---|
committer | Daisuke Nojiri <dnojiri@chromium.org> | 2018-02-19 10:33:13 -0800 |
commit | e85ec46db85d888ff5c176410184d4198f81da10 (patch) | |
tree | 79e1119e717c3d7a4e21ef394c22e5d229235838 | |
parent | abd7e17534bc356565d2914d05a71c7fd246156d (diff) | |
download | chrome-ec-e85ec46db85d888ff5c176410184d4198f81da10.tar.gz |
charge_state_v2: No base/lid power transfer in S0ix/S5
BRANCH=none
BUG=b:71881017
TEST=Suspend system, see that base does not provide power to lid,
and vice-versa.
Change-Id: I54e26c9b8decff2afdebc34adb62d4f5cef18e37
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/882524
Reviewed-by: Randall Spangler <rspangler@chromium.org>
-rw-r--r-- | common/charge_state_v2.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/common/charge_state_v2.c b/common/charge_state_v2.c index ebcf8cc263..5c92ae0bf0 100644 --- a/common/charge_state_v2.c +++ b/common/charge_state_v2.c @@ -464,6 +464,16 @@ static void charge_allocate_input_current_limit(void) prev_lid_system_power = -1; prev_lid_battery_power = -1; + /* + * System is suspended/off, let the lid and base run on their + * own power. + */ + if (chipset_in_state(CHIPSET_STATE_ANY_OFF | + CHIPSET_STATE_ANY_SUSPEND)) { + set_base_lid_current(0, 0, 0, 0); + return; + } + if (charge_base > db_policy.min_charge_base_otg) { int lid_current = db_policy.max_base_to_lid_current; int base_current = add_margin(lid_current, |