diff options
author | Abe Levkoy <alevkoy@chromium.org> | 2020-07-24 15:41:53 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-07-25 02:00:51 +0000 |
commit | d24fc3ea7a0a5516c3399db7e8b32ec2580bd6df (patch) | |
tree | 10a993c1fe532afead144ba4394bbc0d95e56b28 /common/usb_pd_policy.c | |
parent | 5f1150d2bf8c890a5d57310b4f106814c9cb8cca (diff) | |
download | chrome-ec-d24fc3ea7a0a5516c3399db7e8b32ec2580bd6df.tar.gz |
TCPM: Move dfp_discover_modes into usb_pd_policy.c
It is now only used by TCPMv1.
BUG=b:152417597
TEST=make buildall
BRANCH=none
Signed-off-by: Abe Levkoy <alevkoy@chromium.org>
Change-Id: Ifcb7023afabea16486d90336994c6cd93a96d69b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2317903
Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'common/usb_pd_policy.c')
-rw-r--r-- | common/usb_pd_policy.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/common/usb_pd_policy.c b/common/usb_pd_policy.c index 47c035e37a..5ad4188e54 100644 --- a/common/usb_pd_policy.c +++ b/common/usb_pd_policy.c @@ -389,6 +389,26 @@ void pd_set_dfp_enter_mode_flag(int port, bool set) { } +/** + * Return the discover alternate mode payload data + * + * @param port USB-C port number + * @param payload Pointer to payload data to fill + * @return 1 if valid SVID present else 0 + */ +static int dfp_discover_modes(int port, uint32_t *payload) +{ + struct pd_discovery *disc = pd_get_am_discovery(port, TCPC_TX_SOP); + uint16_t svid = disc->svids[disc->svid_idx].svid; + + if (disc->svid_idx >= disc->svid_cnt) + return 0; + + payload[0] = VDO(svid, 1, CMD_DISCOVER_MODES); + + return 1; +} + static bool is_usb4_vdo(int port, int cnt, uint32_t *payload) { enum idh_ptype ptype = PD_IDH_PTYPE(payload[VDO_I(IDH)]); |