summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPoornima Tom <poornima.tom@intel.com>2020-10-29 00:50:52 +0530
committerCommit Bot <commit-bot@chromium.org>2020-11-14 08:21:24 +0000
commite925194f41077344ccd3d1f815c69be0d1b3cad1 (patch)
treed556dc9ca9f067fa04ddfd8afeb00091b361667a
parent27c170587fdcc368f461f87fbc7d62d3d738fa12 (diff)
downloadchrome-ec-e925194f41077344ccd3d1f815c69be0d1b3cad1.tar.gz
Tcpmv2: Handle transmission delay after Vccon swap
While in PE state - PE_VCS_Send_Ps_Rdy_Swap,after successful vconn swap, it is expected to reset cable & receive the Accept/Reject Response. In case of more transmission delays, response_timer must be set, inorder to set the PE_FLAGS_TX_COMPLETE flag. BRANCH=None BUG=none TEST=Tested on ADL-RVP Signed-off-by: Poornima Tom <poornima.tom@intel.com> Change-Id: Ia7f7f183ad51c7500b4dc4629e6d2b17dddc8163 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2505399 Tested-by: Vijay P Hiremath <vijay.p.hiremath@intel.com> Commit-Queue: Keith Short <keithshort@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r--common/usbc/usb_pe_drp_sm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c
index 117572ac82..bffba90088 100644
--- a/common/usbc/usb_pe_drp_sm.c
+++ b/common/usbc/usb_pe_drp_sm.c
@@ -5938,6 +5938,13 @@ static void pe_vcs_send_ps_rdy_swap_run(int port)
send_ctrl_msg(port, TCPC_TX_SOP_PRIME,
PD_CTRL_SOFT_RESET);
+ /*
+ * Ensures enough time for transmission completion,
+ * in the case of more delays.
+ */
+ pe[port].sender_response_timer = get_time().val +
+ PD_T_SENDER_RESPONSE;
+
pe[port].sub = PE_SUB1;
}
break;