diff options
author | Edward Hill <ecgh@chromium.org> | 2018-08-15 11:13:53 -0600 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2018-09-01 00:41:32 +0000 |
commit | 9cc05de8fe3dbad33de5c544255d4d69dab23249 (patch) | |
tree | f24caf5602e6cf052e77c2557f7ede232f56716f /include/printf.h | |
parent | 945f639ff4b9824626456cb65b50dfbb726d4b2e (diff) | |
download | chrome-ec-stabilize-nocturne-10986.B.tar.gz |
pd: Don't auto toggle when DRP state is not dual role.stabilize-nocturne-10986.B
When in PD_STATE_DRP_AUTO_TOGGLE, we were always enabling DRP
auto-toggle, even when drp_state is PD_DRP_TOGGLE_OFF or
PD_DRP_FORCE_SINK, which prevents us from acting as source.
This caused an infinite loop of entering and exiting low power
mode when a sink-only device was plugged into a PS8751 port when
the system is in S5/G3.
To fix this, only enable DRP auto-toggle when drp_state allows
us to be dual-role.
One problem with doing this is that the ANX3429 doesn't support
low power mode with auto-toggle disabled. Luckily, the ANX3429
will stay in low power mode when a sink-only device is connected.
BRANCH=none
BUG=b:72007056,b:111663127
TEST=sink device + ANX3429: low power mode [1]
TEST=sink device + PS8751: low power mode [1]
TEST=charger via hub + ANX3429: 50% chance fail to charge [2]
TEST=charger via hub + PS8751: starts charging
(all tests with Grunt in G3)
[1] dut-control pp3300_tcpc_mw -> 3.5
[2] b/72007056 still remains to be fixed.
Change-Id: I22b9ed5ce93e1eeeb867fcc8bcd6dd803c0bc19b
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1188936
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
Tested-by: Aseda Aboagye <aaboagye@chromium.org>
(cherry picked from commit e86ebfa5121414cc67df3a09f2c4636569a3d617)
Reviewed-on: https://chromium-review.googlesource.com/1200568
Trybot-Ready: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'include/printf.h')
0 files changed, 0 insertions, 0 deletions