Chunfeng Yun
b5d3a4251b
PM / wakeirq: support enabling wake-up irq after runtime_suspend called
...
[ Upstream commit 259714100d ]
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 >
Stable-dep-of: 8527beb120 ("PM: sleep: wakeirq: fix wake irq arming")
Signed-off-by: Sasha Levin <sashal@kernel.org >
2023-08-11 15:14:00 +02:00
..
2022-04-08 14:23:57 +02:00
2023-07-23 13:46:54 +02:00
2022-05-25 09:57:28 +02:00
2021-11-18 19:17:06 +01:00
2023-06-28 10:29:50 +02:00
2022-12-31 13:14:29 +01:00
2023-03-30 12:47:56 +02:00
2023-05-11 23:00:39 +09:00
2023-04-20 12:13:54 +02:00
2023-05-30 13:55:33 +01:00
2022-12-08 11:28:42 +01:00
2022-06-09 10:23:25 +02:00
2023-05-11 23:00:30 +09:00
2022-08-31 17:16:40 +02:00
2022-11-26 09:24:32 +01:00
2023-06-05 09:21:12 +02:00
2023-08-11 15:13:51 +02:00
2023-06-28 10:29:44 +02:00
2023-08-08 19:58:33 +02:00
2022-12-31 13:13:57 +01:00
2022-08-17 14:23:48 +02:00
2023-05-24 17:36:51 +01:00
2023-07-23 13:47:25 +02:00
2023-03-30 12:47:46 +02:00
2022-08-17 14:23:11 +02:00
2023-03-10 09:39:37 +01:00
2023-05-30 13:55:32 +01:00
2022-08-17 14:23:11 +02:00
2022-03-11 12:22:34 +01:00
2022-10-26 12:35:12 +02:00
2022-06-22 14:22:02 +02:00
2022-04-08 14:24:17 +02:00
2022-07-29 17:25:25 +02:00
2022-07-12 16:34:57 +02:00
2022-04-08 14:22:59 +02:00
2023-05-11 23:00:16 +09:00
2022-01-27 11:04:15 +01:00
2022-08-31 17:16:34 +02:00
2023-03-11 13:57:32 +01:00
2023-07-23 13:47:18 +02:00
2022-11-16 09:58:15 +01:00
2022-11-16 09:58:15 +01:00
2022-08-25 11:40:02 +02:00
2022-09-15 11:30:00 +02:00
2021-11-18 19:17:21 +01:00
2022-07-21 21:24:13 +02:00
2022-12-14 11:37:19 +01:00
2022-12-14 11:37:14 +01:00
2022-06-09 10:22:48 +02:00
2022-07-12 16:35:01 +02:00
2022-07-12 16:35:01 +02:00
2022-07-12 16:35:01 +02:00
2022-02-23 12:03:17 +01:00
2022-04-08 14:24:18 +02:00
2023-04-20 12:13:57 +02:00
2023-08-08 19:58:34 +02:00
2023-02-01 08:27:29 +01:00
2023-05-24 17:36:44 +01:00
2022-09-28 11:11:40 +02:00
2023-05-17 11:50:20 +02:00
2022-12-31 13:14:03 +01:00
2021-12-14 10:57:11 +01:00
2023-01-12 11:58:51 +01:00
2023-05-24 17:36:41 +01:00
2022-04-08 14:24:13 +02:00
2021-11-25 09:48:41 +01:00
2022-10-26 12:35:08 +02:00
2023-01-12 11:59:20 +01:00
2023-03-30 12:47:50 +02:00
2023-07-27 08:46:59 +02:00
2021-11-18 19:17:06 +01:00
2022-03-08 19:12:39 +01:00
2023-01-24 07:22:43 +01:00
2022-06-14 18:36:06 +02:00
2022-06-14 18:36:21 +02:00
2022-04-08 14:22:59 +02:00
2022-07-12 16:35:09 +02:00
2022-03-08 19:12:40 +01:00
2021-11-18 19:16:25 +01:00
2022-01-20 09:13:13 +01:00
2023-05-30 13:55:32 +01:00
2022-01-11 15:35:11 +01:00
2022-11-10 18:15:37 +01:00
2022-02-01 17:27:15 +01:00
2023-04-13 16:48:24 +02:00
2022-06-09 10:22:47 +02:00
2022-03-16 14:23:46 +01:00
2022-06-09 10:23:20 +02:00
2023-03-22 13:31:37 +01:00
2023-02-09 11:26:45 +01:00
2023-07-05 18:25:04 +01:00
2023-02-22 12:57:07 +01:00
2022-05-30 09:29:09 +02:00
2022-12-31 13:14:39 +01:00
2022-08-17 14:23:29 +02:00
2022-03-23 09:16:42 +01:00
2023-05-30 13:55:31 +01:00
2023-05-24 17:36:42 +01:00
2023-03-10 09:40:03 +01:00
2021-12-29 12:28:49 +01:00
2023-03-10 09:39:42 +01:00
2022-08-25 11:40:41 +02:00
2022-05-01 17:22:32 +02:00
2022-05-25 09:57:22 +02:00
2022-08-11 13:07:50 +02:00
2022-10-26 12:35:26 +02:00
2021-11-25 09:48:42 +01:00
2022-04-13 20:59:03 +02:00
2023-03-11 13:57:31 +01:00
2022-09-20 12:39:42 +02:00
2022-03-08 19:12:32 +01:00
2022-06-14 18:36:23 +02:00
2022-03-08 19:12:38 +01:00
2023-03-10 09:39:08 +01:00
2022-05-09 09:14:30 +02:00
2023-04-20 12:13:57 +02:00
2022-04-27 14:38:51 +02:00
2022-08-17 14:24:08 +02:00
2023-03-10 09:39:35 +01:00
2023-03-10 09:40:01 +01:00
2023-03-30 12:47:42 +02:00
2022-10-29 10:12:54 +02:00
2022-12-31 13:14:06 +01:00
2022-07-12 16:35:08 +02:00
2022-08-17 14:23:08 +02:00
2022-06-09 10:23:12 +02:00
2023-01-12 11:59:07 +01:00
2022-12-14 11:37:18 +01:00
2022-01-05 12:42:33 +01:00
2022-08-31 17:16:48 +02:00
2022-07-12 16:35:10 +02:00
2022-08-17 14:23:43 +02:00
2021-12-14 10:57:22 +01:00
2023-07-05 18:25:04 +01:00
2022-04-13 20:59:28 +02:00
2022-07-02 16:41:16 +02:00
2021-11-18 19:17:14 +01:00
2023-08-03 10:22:30 +02:00
2022-05-18 10:26:47 +02:00
2023-07-23 13:46:54 +02:00
2023-06-21 15:59:15 +02:00
2023-06-21 15:59:15 +02:00
2022-06-09 10:23:17 +02:00
2022-09-20 12:39:42 +02:00
2023-03-10 09:39:30 +01:00
2023-07-23 13:46:52 +02:00
2022-06-14 18:36:24 +02:00
2023-02-25 12:06:44 +01:00
2023-03-30 12:47:48 +02:00
2023-05-11 23:00:28 +09:00
2023-02-09 11:26:45 +01:00
2022-07-23 12:54:08 +02:00
2022-09-23 14:15:48 +02:00
2022-01-27 11:04:15 +01:00
2023-03-30 12:47:46 +02:00
2023-07-27 08:46:59 +02:00
2023-06-21 15:59:19 +02:00
2022-08-17 14:23:14 +02:00
2022-10-26 12:34:49 +02:00
2022-12-31 13:14:33 +01:00
2022-05-01 17:22:29 +02:00
2023-02-01 08:27:22 +01:00
2022-03-16 14:23:46 +01:00
2023-03-17 08:49:02 +01:00
2023-07-23 13:47:11 +02:00
2022-11-03 23:59:15 +09:00
2022-02-08 18:34:05 +01:00
2022-07-07 17:53:24 +02:00
2022-10-29 10:12:56 +02:00
2023-07-23 13:46:44 +02:00
2023-05-11 23:00:24 +09:00
2022-07-12 16:35:09 +02:00
2023-08-11 15:14:00 +02:00
2022-07-02 16:41:17 +02:00
2023-05-11 23:00:16 +09:00
2023-06-05 09:21:13 +02:00
2022-05-30 09:29:15 +02:00
2021-11-25 09:48:45 +01:00
2022-12-31 13:14:09 +01:00
2022-02-01 17:27:01 +01:00
2022-02-01 17:27:15 +01:00
2022-04-08 14:23:01 +02:00
2022-06-09 10:23:01 +02:00
2022-01-27 11:03:52 +01:00
2022-06-09 10:22:29 +02:00
2023-08-03 10:22:26 +02:00
2023-07-23 13:47:33 +02:00
2023-02-25 12:06:43 +01:00
2022-04-08 14:23:06 +02:00
2022-06-29 09:03:17 +02:00
2023-03-10 09:39:47 +01:00
2022-07-21 21:24:15 +02:00
2022-11-26 09:24:42 +01:00
2022-09-05 10:30:07 +02:00
2021-11-18 19:16:58 +01:00
2022-07-12 16:35:17 +02:00
2023-05-11 23:00:34 +09:00
2022-10-12 09:53:26 +02:00
2022-05-25 09:57:37 +02:00
2022-07-12 16:35:08 +02:00
2023-07-23 13:47:54 +02:00
2022-12-02 17:40:59 +01:00
2023-03-22 13:31:31 +01:00
2022-05-30 09:29:15 +02:00
2023-04-26 13:51:48 +02:00
2022-12-31 13:14:14 +01:00
2022-04-13 20:59:28 +02:00
2022-04-13 20:59:28 +02:00
2022-04-13 20:59:28 +02:00
2022-07-12 16:35:03 +02:00
2023-05-24 17:36:41 +01:00
2021-11-21 13:44:12 +01:00
2022-02-16 12:56:19 +01:00
2022-12-08 11:28:44 +01:00
2022-04-08 14:24:17 +02:00
2023-02-01 08:27:19 +01:00
2023-03-30 12:47:55 +02:00
2023-07-27 08:47:04 +02:00
2022-03-02 11:47:51 +01:00
2023-02-01 08:27:15 +01:00
2023-03-30 12:47:50 +02:00
2023-05-11 23:00:16 +09:00
2022-12-31 13:14:02 +01:00
2022-05-30 09:29:13 +02:00
2022-08-17 14:23:22 +02:00
2023-01-18 11:48:48 +01:00
2021-11-18 19:16:41 +01:00
2022-10-26 12:34:31 +02:00
2023-04-20 12:13:55 +02:00
2023-03-22 13:31:33 +01:00
2023-03-10 09:39:39 +01:00
2022-07-29 17:25:32 +02:00
2022-08-25 11:40:34 +02:00
2023-03-10 09:39:50 +01:00
2022-09-15 11:30:05 +02:00
2022-05-01 17:22:33 +02:00
2023-05-30 13:55:31 +01:00
2023-02-09 11:26:33 +01:00
2022-04-20 09:34:13 +02:00
2022-03-16 14:23:43 +01:00
2021-12-29 12:28:43 +01:00
2022-03-16 14:23:43 +01:00
2022-07-12 16:35:01 +02:00
2023-05-11 23:00:32 +09:00
2022-08-17 14:23:01 +02:00
2022-03-16 14:23:44 +01:00
2022-11-26 09:24:51 +01:00
2023-07-23 13:47:38 +02:00