summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVijay Hiremath <vijay.p.hiremath@intel.com>2020-01-30 16:12:15 -0800
committerCommit Bot <commit-bot@chromium.org>2020-02-04 04:07:52 +0000
commit9a02c817a31865fa368fbb8f5a7a3aa8875b3308 (patch)
treeaaf7e5bf314e7c590a8086c013f10b9d571c093e
parent0b30c20dcfd5460f957ea687d4b4bfd7bcf3d8de (diff)
downloadchrome-ec-9a02c817a31865fa368fbb8f5a7a3aa8875b3308.tar.gz
TCPMv1/v2: Move dfp_consume_modes() to common file
BUG=b:148528713 BRANCH=none TEST=make buildall -j Change-Id: I0a587a68b5c814595d78905f1cdd611f710f2182 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2032160 Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r--common/usb_pd_alt_mode_dfp.c17
-rw-r--r--common/usb_pd_policy.c14
-rw-r--r--common/usbc/usb_pe_drp_sm.c19
-rw-r--r--include/usb_pd.h9
4 files changed, 26 insertions, 33 deletions
diff --git a/common/usb_pd_alt_mode_dfp.c b/common/usb_pd_alt_mode_dfp.c
index e89cf09b57..809943e4f4 100644
--- a/common/usb_pd_alt_mode_dfp.c
+++ b/common/usb_pd_alt_mode_dfp.c
@@ -301,3 +301,20 @@ void dfp_consume_svids(int port, int cnt, uint32_t *payload)
if (i && ((i % 12) == 0))
CPRINTF("ERR:SVID+12\n");
}
+
+void dfp_consume_modes(int port, int cnt, uint32_t *payload)
+{
+ struct pd_policy *pe = pd_get_am_policy(port);
+ int idx = pe->svid_idx;
+
+ pe->svids[idx].mode_cnt = cnt - 1;
+
+ if (pe->svids[idx].mode_cnt < 0) {
+ CPRINTF("ERR:NOMODE\n");
+ } else {
+ memcpy(pe->svids[pe->svid_idx].mode_vdo, &payload[1],
+ sizeof(uint32_t) * pe->svids[idx].mode_cnt);
+ }
+
+ pe->svid_idx++;
+}
diff --git a/common/usb_pd_policy.c b/common/usb_pd_policy.c
index bdc78c4f27..73bad2c162 100644
--- a/common/usb_pd_policy.c
+++ b/common/usb_pd_policy.c
@@ -681,20 +681,6 @@ static int dfp_discover_modes(int port, uint32_t *payload)
return 1;
}
-static void dfp_consume_modes(int port, int cnt, uint32_t *payload)
-{
- int idx = pe[port].svid_idx;
- pe[port].svids[idx].mode_cnt = cnt - 1;
- if (pe[port].svids[idx].mode_cnt < 0) {
- CPRINTF("ERR:NOMODE\n");
- } else {
- memcpy(pe[port].svids[pe[port].svid_idx].mode_vdo, &payload[1],
- sizeof(uint32_t) * pe[port].svids[idx].mode_cnt);
- }
-
- pe[port].svid_idx++;
-}
-
/*
* This function returns
* True - If the THunderbolt cable speed is TBT_SS_TBT_GEN3 or
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c
index 90a2990f5c..19b483585a 100644
--- a/common/usbc/usb_pe_drp_sm.c
+++ b/common/usbc/usb_pe_drp_sm.c
@@ -491,7 +491,6 @@ static unsigned int max_request_mv = PD_MAX_VOLTAGE_MV;
*/
#ifdef CONFIG_USB_PD_ALT_MODE_DFP
static int dfp_discover_modes(int port, uint32_t *payload);
-static void dfp_consume_modes(int port, int cnt, uint32_t *payload);
#endif
test_export_static enum usb_pe_state get_state_pe(const int port);
@@ -4617,24 +4616,6 @@ static int dfp_discover_modes(int port, uint32_t *payload)
return 1;
}
-static void dfp_consume_modes(int port, int cnt, uint32_t *payload)
-{
- int idx = pe[port].am_policy.svid_idx;
-
- pe[port].am_policy.svids[idx].mode_cnt = cnt - 1;
-
- if (pe[port].am_policy.svids[idx].mode_cnt < 0) {
- CPRINTF("ERR:NOMODE\n");
- } else {
- memcpy(
- pe[port].am_policy.svids[pe[port].am_policy.svid_idx].mode_vdo,
- &payload[1],
- sizeof(uint32_t) * pe[port].am_policy.svids[idx].mode_cnt);
- }
-
- pe[port].am_policy.svid_idx++;
-}
-
struct pd_policy *pd_get_am_policy(int port)
{
return &pe[port].am_policy;
diff --git a/include/usb_pd.h b/include/usb_pd.h
index 46d8b73ef9..bdab76b654 100644
--- a/include/usb_pd.h
+++ b/include/usb_pd.h
@@ -1655,6 +1655,15 @@ void dfp_consume_identity(int port, int cnt, uint32_t *payload);
void dfp_consume_svids(int port, int cnt, uint32_t *payload);
/**
+ * Consume the alternate modes
+ *
+ * @param port USB-C port number
+ * @param cnt number of data objects in payload
+ * @param payload payload data.
+ */
+void dfp_consume_modes(int port, int cnt, uint32_t *payload);
+
+/**
* Initialize policy engine for DFP
*
* @param port USB-C port number