Files
linux/include/linux
Chunfeng Yun 259714100d PM / wakeirq: support enabling wake-up irq after runtime_suspend called
When the dedicated wake IRQ is level trigger, and it uses the
device's low-power status as the wakeup source, that means if the
device is not in low-power state, the wake IRQ will be triggered
if enabled; For this case, need enable the wake IRQ after running
the device's ->runtime_suspend() which make it enter low-power state.

e.g.
Assume the wake IRQ is a low level trigger type, and the wakeup
signal comes from the low-power status of the device.
The wakeup signal is low level at running time (0), and becomes
high level when the device enters low-power state (runtime_suspend
(1) is called), a wakeup event at (2) make the device exit low-power
state, then the wakeup signal also becomes low level.

                ------------------
               |           ^     ^|
----------------           |     | --------------
 |<---(0)--->|<--(1)--|   (3)   (2)    (4)

if enable the wake IRQ before running runtime_suspend during (0),
a wake IRQ will arise, it causes resume immediately;
it works if enable wake IRQ ( e.g. at (3) or (4)) after running
->runtime_suspend().

This patch introduces a new status WAKE_IRQ_DEDICATED_REVERSE to
optionally support enabling wake IRQ after running ->runtime_suspend().

Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2021-10-27 20:49:32 +02:00
..
2021-09-02 22:49:16 +02:00
2021-07-21 19:54:21 -07:00
2021-06-03 14:04:18 -07:00
2021-08-29 14:47:42 +03:00
2021-08-16 10:50:32 -06:00
2021-09-08 15:32:35 -07:00
2021-08-26 16:52:03 -07:00
2021-07-20 09:20:49 -07:00
2021-09-07 21:17:28 +02:00
2021-08-26 15:32:28 -04:00
2021-07-27 11:00:36 +02:00
2021-09-06 07:20:56 -04:00
2021-06-25 19:57:01 -04:00
2021-07-26 15:09:44 +02:00
2021-07-27 20:11:45 +01:00
2021-07-27 20:11:44 +01:00
2021-09-03 09:58:13 -07:00
2021-08-05 11:46:42 +01:00
2021-08-16 21:26:33 -07:00
2021-07-15 10:13:49 -07:00
2021-07-27 17:05:06 +01:00
2021-08-19 09:02:55 +09:00
2021-07-27 09:29:15 +02:00
2021-06-17 13:09:27 -04:00
2021-06-15 17:46:57 +02:00
2021-07-01 11:06:02 -07:00
2021-06-29 10:53:53 -07:00
2021-07-01 11:06:05 -07:00
2021-08-23 13:19:12 +02:00
2021-06-16 17:20:40 -05:00
2021-07-06 10:37:46 -05:00
2021-07-20 06:55:20 -07:00
2021-06-07 14:11:47 -07:00
2021-08-18 22:08:24 +02:00
2021-09-02 21:38:56 +02:00
2021-08-17 17:50:51 +02:00
2021-08-06 13:41:48 -07:00
2021-08-19 09:02:55 +09:00
2021-06-24 15:49:32 +02:00
2021-08-19 09:02:55 +09:00
2021-07-01 11:06:03 -07:00
2021-07-27 12:17:21 +02:00
2021-07-27 12:12:08 +02:00
2021-09-08 15:32:35 -07:00
2021-09-03 19:31:33 -04:00
2021-08-10 11:50:55 -04:00
2021-08-11 06:44:24 -04:00