summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVijay Hiremath <vijay.p.hiremath@intel.com>2020-01-30 16:35:54 -0800
committerCommit Bot <commit-bot@chromium.org>2020-02-04 04:07:53 +0000
commit51e1a092de5daf59b1a6b39755183a6ef312f199 (patch)
tree50ceba37d23cdd44bced495d3f2ba18187b6f631
parent9a02c817a31865fa368fbb8f5a7a3aa8875b3308 (diff)
downloadchrome-ec-51e1a092de5daf59b1a6b39755183a6ef312f199.tar.gz
TCPMv1/v2: Move dfp_discover_modes() to common file
BUG=b:148528713 BRANCH=none TEST=make buildall -j Change-Id: I83c6dca9652a9c613849b292b4c2329da3f9d424 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2032161 Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r--common/usb_pd_alt_mode_dfp.c13
-rw-r--r--common/usb_pd_policy.c9
-rw-r--r--common/usbc/usb_pe_drp_sm.c20
-rw-r--r--include/usb_pd.h9
4 files changed, 22 insertions, 29 deletions
diff --git a/common/usb_pd_alt_mode_dfp.c b/common/usb_pd_alt_mode_dfp.c
index 809943e4f4..40a048a2bc 100644
--- a/common/usb_pd_alt_mode_dfp.c
+++ b/common/usb_pd_alt_mode_dfp.c
@@ -318,3 +318,16 @@ void dfp_consume_modes(int port, int cnt, uint32_t *payload)
pe->svid_idx++;
}
+
+int dfp_discover_modes(int port, uint32_t *payload)
+{
+ struct pd_policy *pe = pd_get_am_policy(port);
+ uint16_t svid = pe->svids[pe->svid_idx].svid;
+
+ if (pe->svid_idx >= pe->svid_cnt)
+ return 0;
+
+ payload[0] = VDO(svid, 1, CMD_DISCOVER_MODES);
+
+ return 1;
+}
diff --git a/common/usb_pd_policy.c b/common/usb_pd_policy.c
index 73bad2c162..5055b3d1a3 100644
--- a/common/usb_pd_policy.c
+++ b/common/usb_pd_policy.c
@@ -672,15 +672,6 @@ static int dfp_discover_svids(uint32_t *payload)
return 1;
}
-static int dfp_discover_modes(int port, uint32_t *payload)
-{
- uint16_t svid = pe[port].svids[pe[port].svid_idx].svid;
- if (pe[port].svid_idx >= pe[port].svid_cnt)
- return 0;
- payload[0] = VDO(svid, 1, CMD_DISCOVER_MODES);
- return 1;
-}
-
/*
* 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 19b483585a..12735eed71 100644
--- a/common/usbc/usb_pe_drp_sm.c
+++ b/common/usbc/usb_pe_drp_sm.c
@@ -486,13 +486,6 @@ static struct policy_engine {
*/
static unsigned int max_request_mv = PD_MAX_VOLTAGE_MV;
-/*
- * Private VDM utility functions
- */
-#ifdef CONFIG_USB_PD_ALT_MODE_DFP
-static int dfp_discover_modes(int port, uint32_t *payload);
-#endif
-
test_export_static enum usb_pe_state get_state_pe(const int port);
test_export_static void set_state_pe(const int port,
const enum usb_pe_state new_state);
@@ -4603,19 +4596,6 @@ void pd_dfp_pe_init(int port)
}
#ifdef CONFIG_USB_PD_ALT_MODE_DFP
-static int dfp_discover_modes(int port, uint32_t *payload)
-{
- uint16_t svid =
- pe[port].am_policy.svids[pe[port].am_policy.svid_idx].svid;
-
- if (pe[port].am_policy.svid_idx >= pe[port].am_policy.svid_cnt)
- return 0;
-
- payload[0] = VDO(svid, 1, CMD_DISCOVER_MODES);
-
- return 1;
-}
-
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 bdab76b654..5a65f6bb37 100644
--- a/include/usb_pd.h
+++ b/include/usb_pd.h
@@ -1664,6 +1664,15 @@ void dfp_consume_svids(int port, int cnt, uint32_t *payload);
void dfp_consume_modes(int port, int cnt, uint32_t *payload);
/**
+ * 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
+ */
+int dfp_discover_modes(int port, uint32_t *payload);
+
+/**
* Initialize policy engine for DFP
*
* @param port USB-C port number