diff options
author | Abe Levkoy <alevkoy@chromium.org> | 2020-04-30 12:16:31 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-05-12 01:02:56 +0000 |
commit | 5017fef617a6bdff3340a22915d2a79446591d7d (patch) | |
tree | 9b18dfc02211aa969af28bbf42d899b31765a68a /common/usb_pd_host_cmd.c | |
parent | af7303f8b929fa0fc11173a27a1fc16666706d9b (diff) | |
download | chrome-ec-5017fef617a6bdff3340a22915d2a79446591d7d.tar.gz |
TCPMv2: Define fields for SVID discovery state
Index discovery results by SOP type and track SVID discovery state for
each type. Define accessors for this state and modify existing accessors
to be SOP-type-aware.
BUG=b:152419850,b:152418267
TEST=make buildall; attach port partner; observe discovery via Twinkie
BRANCH=none
Change-Id: I24ee19aac087c5752a3a822ab2b0c9da7a55af1b
Signed-off-by: Abe Levkoy <alevkoy@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2174464
Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'common/usb_pd_host_cmd.c')
-rw-r--r-- | common/usb_pd_host_cmd.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/common/usb_pd_host_cmd.c b/common/usb_pd_host_cmd.c index ac4ccc2642..128b467502 100644 --- a/common/usb_pd_host_cmd.c +++ b/common/usb_pd_host_cmd.c @@ -178,15 +178,16 @@ static enum ec_status hc_remote_pd_get_amode(struct host_cmd_handler_args *args) return EC_RES_INVALID_PARAM; /* no more to send */ - if (p->svid_idx >= pd_get_svid_count(p->port)) { + /* TODO(b/148528713): Use TCPMv2's separate storage for SOP'. */ + if (p->svid_idx >= pd_get_svid_count(p->port, TCPC_TX_SOP)) { r->svid = 0; args->response_size = sizeof(r->svid); return EC_RES_SUCCESS; } - r->svid = pd_get_svid(p->port, p->svid_idx); + r->svid = pd_get_svid(p->port, p->svid_idx, TCPC_TX_SOP); r->opos = 0; - memcpy(r->vdo, pd_get_mode_vdo(p->port, p->svid_idx), + memcpy(r->vdo, pd_get_mode_vdo(p->port, p->svid_idx, TCPC_TX_SOP), sizeof(uint32_t) * PDO_MODES); modep = pd_get_amode_data(p->port, r->svid); |