diff options
author | Diana Z <dzigterman@chromium.org> | 2020-03-10 13:42:11 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-03-11 23:20:17 +0000 |
commit | d7ab6d7b226254ae5973250dcdfcb64b6865c3a2 (patch) | |
tree | 2cfeb67fed5bcf7f8eff6635b10c067807746a47 | |
parent | 17d126f028af4f105c9513e5cf0e104dab457c0b (diff) | |
download | chrome-ec-d7ab6d7b226254ae5973250dcdfcb64b6865c3a2.tar.gz |
TCPMv2: Set DR swap flag in debug TC states
The states for DebugAccessory.SNK and UnorientedDebugAccessory.SRC were
already set up to process DR swaps, but the DR swap flag wasn't being
set because of a state check. This change adds those states to the
allowed swap states.
BUG=b:150886157
BRANCH=None
TEST=on waddledoo, PE DR swap process is able to complete without
getting stuck in PE_DRS_Change
Signed-off-by: Diana Z <dzigterman@chromium.org>
Change-Id: Idfdf96fbbc5e9e012a775c0edf184d58fabe7fde
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2097139
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
-rw-r--r-- | common/usbc/usb_tc_drp_acc_trysrc_sm.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c index ad3f1bb664..b66239ac97 100644 --- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c +++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c @@ -468,11 +468,14 @@ void pd_send_vdm(int port, uint32_t vid, int cmd, const uint32_t *data, void pd_request_data_swap(int port) { /* - * Must be in Attached.SRC or Attached.SNK when this function + * Must be in Attached.SRC, Attached.SNK, DebugAccessory.SNK, + * or UnorientedDebugAccessory.SRC when this function * is called */ if (get_state_tc(port) == TC_ATTACHED_SRC || - get_state_tc(port) == TC_ATTACHED_SNK) { + get_state_tc(port) == TC_ATTACHED_SNK || + get_state_tc(port) == TC_DBG_ACC_SNK || + get_state_tc(port) == TC_UNORIENTED_DBG_ACC_SRC) { TC_SET_FLAG(port, TC_FLAGS_REQUEST_DR_SWAP); task_set_event(PD_PORT_TO_TASK_ID(port), PD_EVENT_SM, 0); } |