summaryrefslogtreecommitdiff
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
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>
-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);