diff options
author | Jett Rink <jettrink@chromium.org> | 2019-08-08 09:28:03 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-08-09 21:50:55 +0000 |
commit | a34c6b36d254ad7f537976ba5a3b18844c25e1dc (patch) | |
tree | 450f4abbb42b405a2fecdbd1914846f9f509928e /common | |
parent | 4d7535975638834bcebda50424bff2e23262fc83 (diff) | |
download | chrome-ec-a34c6b36d254ad7f537976ba5a3b18844c25e1dc.tar.gz |
usb: fix issue with CC line interpretation as DTS
We need to pass both cc1 and cc2 into the get current limit
function.
BRANCH=none
BUG=none
TEST=unit test pass still
Change-Id: I123fb315948ee042ad1ea05bb835e618f4ca31de
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1744653
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'common')
-rw-r--r-- | common/usbc/usb_tc_drp_acc_trysrc_sm.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c index cd2d8f3612..8ec2d27d54 100644 --- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c +++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c @@ -761,20 +761,18 @@ void pd_prevent_low_power_mode(int port, int prevent) static void sink_power_sub_states(int port) { - int cc1; - int cc2; + int cc1, cc2, cc; enum tcpc_cc_voltage_status new_cc_voltage; tcpm_get_cc(port, &cc1, &cc2); - if (tc[port].polarity) - cc1 = cc2; + cc = tc[port].polarity ? cc2 : cc1; - if (cc1 == TYPEC_CC_VOLT_RP_DEF) + if (cc == TYPEC_CC_VOLT_RP_DEF) new_cc_voltage = TYPEC_CC_VOLT_RP_DEF; - else if (cc1 == TYPEC_CC_VOLT_RP_1_5) + else if (cc == TYPEC_CC_VOLT_RP_1_5) new_cc_voltage = TYPEC_CC_VOLT_RP_1_5; - else if (cc1 == TYPEC_CC_VOLT_RP_3_0) + else if (cc == TYPEC_CC_VOLT_RP_3_0) new_cc_voltage = TYPEC_CC_VOLT_RP_3_0; else new_cc_voltage = TYPEC_CC_VOLT_OPEN; @@ -795,7 +793,7 @@ static void sink_power_sub_states(int port) if (IS_ENABLED(CONFIG_CHARGE_MANAGER)) { tc[port].typec_curr = - get_typec_current_limit(tc[port].polarity, cc1, cc1); + get_typec_current_limit(tc[port].polarity, cc1, cc2); typec_set_input_current_limit(port, tc[port].typec_curr, TYPE_C_VOLTAGE); |