diff options
author | Jack Pham <jackp@codeaurora.org> | 2017-01-18 10:23:48 -0800 |
---|---|---|
committer | Jack Pham <jackp@codeaurora.org> | 2017-01-18 10:26:38 -0800 |
commit | 77629c3ba6f2528c4d9aab43c1f5daa04f485f0a (patch) | |
tree | d6835f8b1969a62d9d04378c818a1ce576e3b157 /drivers/usb/pd | |
parent | a51b7f60003e6071703d5e4489dae0f3ab7ae264 (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.c | 10 |
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); |