summaryrefslogtreecommitdiff
path: root/common/usb_pd_host_cmd.c
diff options
context:
space:
mode:
authorAbe Levkoy <alevkoy@chromium.org>2020-04-30 12:16:31 -0600
committerCommit Bot <commit-bot@chromium.org>2020-05-12 01:02:56 +0000
commit5017fef617a6bdff3340a22915d2a79446591d7d (patch)
tree9b18dfc02211aa969af28bbf42d899b31765a68a /common/usb_pd_host_cmd.c
parentaf7303f8b929fa0fc11173a27a1fc16666706d9b (diff)
downloadchrome-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.c7
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);