diff options
author | Jett Rink <jettrink@chromium.org> | 2020-07-30 11:25:18 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-07-31 01:54:51 +0000 |
commit | ad4f4e271b44310a48e851079258b0532cd93143 (patch) | |
tree | f0148c32243c90416c363683ba8c15b1857ec449 /common/usbc/usb_prl_sm.c | |
parent | 8fcb7da8faeb8ca6f104af0164858e3e75d026c0 (diff) | |
download | chrome-ec-ad4f4e271b44310a48e851079258b0532cd93143.tar.gz |
tcpmv2: Ensure that soft reset is sent within 15ms
Per TD.PD.SRC3.E24, the Soft Reset in response to an
extra Accept message should be with 15ms. We were sitting
at 18ms. When we request a reset, we should immediately process
the new state. (This does really make we want to try the change
to kick the state machine any time we call set_state to process the
next state transition quickly).
BRANCH=none
BUG=b:161836207
TEST=GRL's TD.PD.SRC3.E24 test now passes.
Signed-off-by: Jett Rink <jettrink@chromium.org>
Change-Id: I8cef1f2ed2a63a5262ee2d6205b87849dbff4f27
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2329153
Commit-Queue: Andrew McRae <amcrae@chromium.org>
Reviewed-by: Andrew McRae <amcrae@chromium.org>
Diffstat (limited to 'common/usbc/usb_prl_sm.c')
-rw-r--r-- | common/usbc/usb_prl_sm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/common/usbc/usb_prl_sm.c b/common/usbc/usb_prl_sm.c index aa2d3a0a17..ce32e0caf0 100644 --- a/common/usbc/usb_prl_sm.c +++ b/common/usbc/usb_prl_sm.c @@ -606,12 +606,18 @@ void prl_reset_soft(int port) { /* Do not change negotiated PD Revision Specification level */ local_state[port] = SM_INIT; + + /* Ensure we process the reset quickly */ + task_wake(PD_PORT_TO_TASK_ID(port)); } void prl_reset(int port) { prl_set_default_pd_revision(port); local_state[port] = SM_INIT; + + /* Ensure we process the reset quickly */ + task_wake(PD_PORT_TO_TASK_ID(port)); } void prl_run(int port, int evt, int en) |