diff options
author | Abe Levkoy <alevkoy@chromium.org> | 2020-04-29 00:20:07 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-05-12 01:03:15 +0000 |
commit | a91961401c41406bf08ff7e7e5da29be0c11c4f6 (patch) | |
tree | 83e3026e56ebcd15928057c1e26c785aee551de9 | |
parent | 38a2b2521ac066d24a7a5ba85ab17112a60abe0e (diff) | |
download | chrome-ec-a91961401c41406bf08ff7e7e5da29be0c11c4f6.tar.gz |
TCPMv2: Discover cable plug modes
Enter PE_INIT_VDM_Modes_Request with transmit type SOP', following
cable-plug (SOP') SVID discovery.
BUG=b:152420269,b:152419795
TEST=Attach port partner via cable; TCPM sends SOP' modes request and
TEST=then continues with mode entry.
BRANCH=none
Change-Id: I62be147e7809ee3955c1db7704e965f576176f67
Signed-off-by: Abe Levkoy <alevkoy@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2174468
Reviewed-by: Diana Z <dzigterman@chromium.org>
-rw-r--r-- | common/usbc/usb_pe_drp_sm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c index 1560eee817..5a3fa20d43 100644 --- a/common/usbc/usb_pe_drp_sm.c +++ b/common/usbc/usb_pe_drp_sm.c @@ -1310,6 +1310,12 @@ static bool pe_attempt_port_discovery(int port) pe[port].tx_type = TCPC_TX_SOP_PRIME; set_state_pe(port, PE_INIT_VDM_SVIDS_REQUEST); return true; + } else if (pd_get_modes_discovery(port, TCPC_TX_SOP_PRIME) == + PD_DISC_NEEDED && + pe_can_send_sop_prime(port)) { + pe[port].tx_type = TCPC_TX_SOP_PRIME; + set_state_pe(port, PE_INIT_VDM_MODES_REQUEST); + return true; /* * Note: determine if next VDM can be sent by taking advantage * of discovery following the VDM command enum ordering. |