summaryrefslogtreecommitdiff
path: root/drivers/usb/pd
diff options
context:
space:
mode:
authorJack Pham <jackp@codeaurora.org>2017-01-18 10:23:48 -0800
committerJack Pham <jackp@codeaurora.org>2017-01-18 10:26:38 -0800
commit77629c3ba6f2528c4d9aab43c1f5daa04f485f0a (patch)
treed6835f8b1969a62d9d04378c818a1ce576e3b157 /drivers/usb/pd
parenta51b7f60003e6071703d5e4489dae0f3ab7ae264 (diff)
usb: pd: pdphy: Enable IRQs for wakeup
Enable the signal and message RX IRQs for wakeup. This allows the system to be woken from suspend when the PD PHY receives an incoming hard reset or SOP* message from a connected peer. Change-Id: Ib6f4507ef363954c91271029874337497659da84 Signed-off-by: Jack Pham <jackp@codeaurora.org>
Diffstat (limited to 'drivers/usb/pd')
-rw-r--r--drivers/usb/pd/qpnp-pdphy.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/usb/pd/qpnp-pdphy.c b/drivers/usb/pd/qpnp-pdphy.c
index 1a03b0d71a18..4ecc24c6be11 100644
--- a/drivers/usb/pd/qpnp-pdphy.c
+++ b/drivers/usb/pd/qpnp-pdphy.c
@@ -244,9 +244,12 @@ void pdphy_enable_irq(struct usb_pdphy *pdphy, bool enable)
if (enable) {
enable_irq(pdphy->sig_tx_irq);
enable_irq(pdphy->sig_rx_irq);
+ enable_irq_wake(pdphy->sig_rx_irq);
enable_irq(pdphy->msg_tx_irq);
- if (!pdphy->in_test_data_mode)
+ if (!pdphy->in_test_data_mode) {
enable_irq(pdphy->msg_rx_irq);
+ enable_irq_wake(pdphy->msg_rx_irq);
+ }
enable_irq(pdphy->msg_tx_failed_irq);
enable_irq(pdphy->msg_tx_discarded_irq);
enable_irq(pdphy->msg_rx_discarded_irq);
@@ -255,9 +258,12 @@ void pdphy_enable_irq(struct usb_pdphy *pdphy, bool enable)
disable_irq(pdphy->sig_tx_irq);
disable_irq(pdphy->sig_rx_irq);
+ disable_irq_wake(pdphy->sig_rx_irq);
disable_irq(pdphy->msg_tx_irq);
- if (!pdphy->in_test_data_mode)
+ if (!pdphy->in_test_data_mode) {
disable_irq(pdphy->msg_rx_irq);
+ disable_irq_wake(pdphy->msg_rx_irq);
+ }
disable_irq(pdphy->msg_tx_failed_irq);
disable_irq(pdphy->msg_tx_discarded_irq);
disable_irq(pdphy->msg_rx_discarded_irq);