diff options
author | Diana Z <dzigterman@chromium.org> | 2021-02-11 16:33:10 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-02-16 23:52:52 +0000 |
commit | 2d117a7373bb48e4ddd5385952a3bc070794f73a (patch) | |
tree | 8e9948fccbf870107dc761a41e25591c83104d02 | |
parent | 6a077f21f25be5b0ec7073af2adbba1dd9e261b7 (diff) | |
download | chrome-ec-2d117a7373bb48e4ddd5385952a3bc070794f73a.tar.gz |
TCPMv2: Update source Rp if no contract in place
When no contract is in place, update our source Rp when a new current is
selected on a port.
BRANCH=None
BUG=b:141690755
TEST=make -j buildall
Signed-off-by: Diana Z <dzigterman@chromium.org>
Change-Id: Ie155353a4a6ab28957edff548747c47d96d840a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2692029
Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r-- | common/usbc/usb_tc_drp_acc_trysrc_sm.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c index ab94531cf7..964d6dda8c 100644 --- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c +++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c @@ -3100,11 +3100,15 @@ static void tc_attached_src_run(const int port) #endif if (TC_CHK_FLAG(port, TC_FLAGS_UPDATE_CURRENT)) { - /* TODO(b/141690755): Also set new CC if needed for non-PD */ TC_CLR_FLAG(port, TC_FLAGS_UPDATE_CURRENT); typec_set_source_current_limit(port, tc[port].select_current_limit_rp); pd_update_contract(port); + + /* Update Rp if no contract is present */ + if (!IS_ENABLED(CONFIG_USB_PE_SM) || + !pe_is_explicit_contract(port)) + typec_update_cc(port); } } |