summaryrefslogtreecommitdiff
path: root/common/charge_manager.c
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2018-09-12 13:12:31 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2018-09-20 23:28:59 +0000
commitc02b0386f6b0cdbfab2212b80c2dba5980714a75 (patch)
tree2dc90e8e3482b355e8466e086d2d0bdf808edf44 /common/charge_manager.c
parent31ea5b39983e150ecb8f837a69842c2e673b5371 (diff)
downloadchrome-ec-c02b0386f6b0cdbfab2212b80c2dba5980714a75.tar.gz
chgmgr: Set available voltage to 0 on disconnect
Currently, available current is consistently set to zero when a supplier is disconnected across BC 1.2 drivers, PD task, usb charger task but voltage is set to zero only in some places. This patch will set available voltage consistently to 0 on disconnected ports. This change should have no impact externally or internally because currently ports are treated as a disconnected port as long as available current is zero. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=chromium:841944 BRANCH=none TEST=Verify ectool usbpdpower 1 return 'Port 1: Disconnected' and 'Port 1: SNK (not charging)' without and with a BJ adapter connected respectively on Fizz. Verify ectool usbpdpower prints 'Disconnected' and 'SNK Charger PD' on Vayne without and with USB-C charger, respectively. Verify ectool usbpdpower prints 'Disconnected' and 'SNK Charger Type-C' on Vayne without and with a phone USB-C charger, respectively. Change-Id: I9aca575a4a4240ec1f669c55437decaedf758a77 Reviewed-on: https://chromium-review.googlesource.com/1236849 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
Diffstat (limited to 'common/charge_manager.c')
-rw-r--r--common/charge_manager.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/common/charge_manager.c b/common/charge_manager.c
index d1912ccbd3..afe1fc21ed 100644
--- a/common/charge_manager.c
+++ b/common/charge_manager.c
@@ -585,8 +585,10 @@ static void charge_manager_refresh(void)
* Zero the available charge on the rejected port so that
* it is no longer chosen.
*/
- for (i = 0; i < CHARGE_SUPPLIER_COUNT; ++i)
+ for (i = 0; i < CHARGE_SUPPLIER_COUNT; ++i) {
available_charge[i][new_port].current = 0;
+ available_charge[i][new_port].voltage = 0;
+ }
}
active_charge_port_initialized = 1;