diff options
author | Nick Sanders <nsanders@chromium.org> | 2018-05-21 19:20:32 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-08-15 20:36:10 -0700 |
commit | 0c94bad3ebecb4f33544ffb3b136746d044c4ea9 (patch) | |
tree | 0afb0d601c129e794388eacf235a238cdbed5929 /util/genvif.c | |
parent | 84d2e6824b8eaa68dc0d0920822a5c6489005683 (diff) | |
download | chrome-ec-0c94bad3ebecb4f33544ffb3b136746d044c4ea9.tar.gz |
servo_v4: add per port dualrole setting
This adds support to configure dualrole setting
per port, so that servo v4 can adjust charge and
dut port separately.
servo will detect charge capability on CHG port
and choose source or sink as appropriate.
Fix null dereference bug in genvif duel to dynamic src_pdo.
"cc" command allows src, snk, srcdts, snkdts configurations.
BRANCH=None
BUG=b:72557427
TEST=charge through and also passive hub. Note Dru doesn't accept DTS hub.
TEST=make buildall -j
Change-Id: I19f1d1a5c37647fec72202191faa4821c06fb460
Signed-off-by: Nick Sanders <nsanders@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1096654
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'util/genvif.c')
-rw-r--r-- | util/genvif.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/util/genvif.c b/util/genvif.c index 912a16708a..37bf0c26e4 100644 --- a/util/genvif.c +++ b/util/genvif.c @@ -152,7 +152,7 @@ static char *is_comms_cap(void) static char *dr_swap_to_ufp_supported(void) { - if (src_pdo[0] & PDO_FIXED_DATA_SWAP) + if (is_src() && (src_pdo[0] & PDO_FIXED_DATA_SWAP)) return yes_no(pd_check_data_swap(0, PD_ROLE_DFP)); return "NO"; @@ -160,7 +160,7 @@ static char *dr_swap_to_ufp_supported(void) static char *dr_swap_to_dfp_supported(void) { - if (src_pdo[0] & PDO_FIXED_DATA_SWAP) + if (is_src() && (src_pdo[0] & PDO_FIXED_DATA_SWAP)) return yes_no(pd_check_data_swap(0, PD_ROLE_UFP)); return "NO"; |