diff options
author | Vijay Hiremath <vijay.p.hiremath@intel.com> | 2020-02-12 13:29:27 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-02-19 04:14:41 +0000 |
commit | b11e6ca471c53cd9bd43e7d8a761b34f2b9fda91 (patch) | |
tree | a57c302d78f29aa6306d7d3d4a1c2c674cddf07d /common | |
parent | d69491b0fa316c4d34173fd93e2cec7af1af3906 (diff) | |
download | chrome-ec-b11e6ca471c53cd9bd43e7d8a761b34f2b9fda91.tar.gz |
TCPMv1/v2: Move resume_pd_port() to common file
BUG=b:148528713
BRANCH=none
TEST=make buildall -j
Change-Id: Ic965dd1622b6bc20fca6777d4c81f37661c6c886
Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2052646
Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'common')
-rw-r--r-- | common/usb_common.c | 22 | ||||
-rw-r--r-- | common/usb_pd_protocol.c | 23 | ||||
-rw-r--r-- | common/usbc/usb_tc_drp_acc_trysrc_sm.c | 22 |
3 files changed, 22 insertions, 45 deletions
diff --git a/common/usb_common.c b/common/usb_common.c index 756aef8f64..c838252524 100644 --- a/common/usb_common.c +++ b/common/usb_common.c @@ -637,3 +637,25 @@ void pd_set_vbus_discharge(int port, int enable) mutex_unlock(&discharge_lock[port]); } #endif /* CONFIG_USB_PD_DISCHARGE */ + +#ifdef CONFIG_USB_PD_TCPM_TCPCI +static uint32_t pd_ports_to_resume; +static void resume_pd_port(void) +{ + uint32_t port; + uint32_t suspended_ports = atomic_read_clear(&pd_ports_to_resume); + + while (suspended_ports) { + port = __builtin_ctz(suspended_ports); + suspended_ports &= ~BIT(port); + pd_set_suspend(port, 0); + } +} +DECLARE_DEFERRED(resume_pd_port); + +void pd_deferred_resume(int port) +{ + atomic_or(&pd_ports_to_resume, 1 << port); + hook_call_deferred(&resume_pd_port_data, 5 * SECOND); +} +#endif /* CONFIG_USB_PD_TCPM_TCPCI */ diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c index f272dfa8f0..704b71371d 100644 --- a/common/usb_pd_protocol.c +++ b/common/usb_pd_protocol.c @@ -5021,29 +5021,6 @@ void pd_set_suspend(int port, int enable) } } -#ifdef CONFIG_USB_PD_TCPM_TCPCI -static uint32_t pd_ports_to_resume; -static void resume_pd_port(void) -{ - uint32_t port; - uint32_t suspended_ports = atomic_read_clear(&pd_ports_to_resume); - - while (suspended_ports) { - port = __builtin_ctz(suspended_ports); - suspended_ports &= ~BIT(port); - pd_set_suspend(port, 0); - } -} -DECLARE_DEFERRED(resume_pd_port); - -void pd_deferred_resume(int port) -{ - atomic_or(&pd_ports_to_resume, 1 << port); - hook_call_deferred(&resume_pd_port_data, 5 * SECOND); -} - -#endif /* CONFIG_USB_PD_DEFERRED_RESUME */ - int pd_is_port_enabled(int port) { switch (pd[port].task_state) { diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c index 659719f918..48aa0486ce 100644 --- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c +++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c @@ -1244,28 +1244,6 @@ static void set_vconn(int port, int enable) ppc_set_vconn(port, enable); } -#ifdef CONFIG_USB_PD_TCPM_TCPCI -static uint32_t pd_ports_to_resume; -static void resume_pd_port(void) -{ - uint32_t port; - uint32_t suspended_ports = atomic_read_clear(&pd_ports_to_resume); - - while (suspended_ports) { - port = __builtin_ctz(suspended_ports); - suspended_ports &= ~(1 << port); - pd_set_suspend(port, 0); - } -} -DECLARE_DEFERRED(resume_pd_port); - -void pd_deferred_resume(int port) -{ - atomic_or(&pd_ports_to_resume, 1 << port); - hook_call_deferred(&resume_pd_port_data, SECOND); -} -#endif /* CONFIG_USB_PD_DEFERRED_RESUME */ - #ifdef CONFIG_USB_PE_SM /* This must only be called from the PD task */ static void pd_update_dual_role_config(int port) |