Rodrigo Vivi
4bfc9c553f
drm/xe/display: Avoid encoder_suspend at runtime suspend
...
Fix circular locking dependency on runtime suspend.
<4> [74.952215] ======================================================
<4> [74.952217] WARNING: possible circular locking dependency detected
<4> [74.952219] 6.10.0-rc7-xe #1 Not tainted
<4> [74.952221] ------------------------------------------------------
<4> [74.952223] kworker/7:1/82 is trying to acquire lock:
<4> [74.952226] ffff888120548488 (&dev->mode_config.mutex){+.+.}-{3:3}, at: drm_modeset_lock_all+0x40/0x1e0 [drm]
<4> [74.952260]
but task is already holding lock:
<4> [74.952262] ffffffffa0ae59c0 (xe_pm_runtime_lockdep_map){+.+.}-{0:0}, at: xe_pm_runtime_suspend+0x2f/0x340 [xe]
<4> [74.952322]
which lock already depends on the new lock.
The commit 'b1d90a86 ("drm/xe: Use the encoder suspend helper also used
by the i915 driver")' didn't do anything wrong. It actually fixed a
critical bug, because the encoder_suspend was never getting actually
called because it was returning if (has_display(xe)) instead of
if (!has_display(xe)). However, this ended up introducing the encoder
suspend calls in the runtime routines as well, causing the circular
locking dependency.
Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2304
Fixes: b1d90a862c ("drm/xe: Use the encoder suspend helper also used by the i915 driver")
Cc: Imre Deak <imre.deak@intel.com >
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20240830183507.298351-2-rodrigo.vivi@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
(cherry picked from commit 8da19441d0 )
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
2024-09-04 12:24:47 -04:00
..
2024-06-26 18:25:07 -04:00
2024-09-03 10:36:46 -04:00
2024-09-04 12:24:47 -04:00
2024-06-18 12:40:38 -07:00
2024-08-19 13:34:58 -04:00
2024-06-28 14:00:09 -07:00
2024-06-12 11:31:42 -04:00
2024-05-23 13:38:26 -04:00
2024-08-19 13:30:41 -04:00
2024-05-09 21:28:25 +02:00
2024-05-28 16:08:24 +02:00
2024-05-09 21:17:57 +02:00
2024-04-02 10:33:57 -07:00
2024-07-11 08:25:26 -07:00
2024-08-19 13:37:50 -04:00
2024-05-06 18:14:11 +02:00
2024-05-07 23:21:17 +02:00
2024-05-23 13:37:56 -04:00
2024-06-12 11:29:37 -04:00
2024-04-11 09:39:48 -04:00
2024-05-22 13:22:38 +01:00
2024-04-18 13:30:24 -07:00
2024-09-03 10:36:46 -04:00
2024-08-19 13:30:47 -04:00
2024-08-19 13:30:41 -04:00
2024-04-02 10:33:57 -07:00
2024-08-15 09:44:22 -04:00
2024-08-19 10:39:28 -04:00
2024-08-19 10:39:28 -04:00
2024-05-27 14:07:44 -07:00
2024-07-18 10:25:17 -04:00
2024-05-29 23:44:41 -07:00
2024-06-13 20:31:24 +02:00
2024-06-10 14:18:27 -04:00
2024-06-26 18:23:45 -04:00
2024-07-02 12:14:00 -04:00
2024-06-26 18:23:45 -04:00
2024-06-19 11:38:31 +03:00
2024-03-06 09:50:48 +02:00
2024-05-07 23:21:15 +02:00
2024-03-06 09:50:49 +02:00
2024-03-14 14:47:13 -07:00
2024-09-03 10:36:38 -04:00
2024-05-22 12:03:54 +02:00
2024-06-14 23:26:26 +02:00
2024-04-24 10:19:52 -05:00
2024-06-12 19:10:22 -07:00
2024-06-12 19:10:22 -07:00
2024-06-06 13:31:33 -04:00
2024-03-29 14:00:06 +01:00
2024-05-23 10:55:28 -07:00
2024-04-18 13:26:34 -07:00
2024-06-20 19:49:40 +02:00
2024-05-28 12:29:43 -04:00
2024-07-04 10:36:30 +02:00
2024-05-31 00:02:04 +02:00
2024-08-21 11:53:02 -04:00
2024-05-03 13:15:54 -07:00
2024-05-16 18:04:42 +02:00
2024-08-15 09:44:22 -04:00
2024-07-01 19:43:52 +02:00
2024-06-26 18:25:20 -04:00
2024-06-26 18:25:20 -04:00
2024-05-16 18:04:54 +02:00
2024-04-24 15:18:38 +02:00
2024-04-12 16:23:28 +02:00
2024-05-16 18:04:51 +02:00
2024-05-16 18:04:51 +02:00
2024-05-16 18:04:51 +02:00
2024-04-12 16:23:37 +02:00
2024-04-22 09:03:09 -04:00
2024-04-12 16:23:37 +02:00
2024-04-24 15:10:42 +02:00
2024-04-24 15:10:46 +02:00
2024-04-24 15:10:42 +02:00
2024-05-16 18:04:51 +02:00
2024-07-01 19:43:52 +02:00
2024-07-01 19:43:52 +02:00
2024-01-05 16:25:53 +01:00
2024-05-16 20:18:39 +02:00
2024-05-16 20:18:39 +02:00
2024-05-24 10:08:41 +02:00
2024-08-15 09:44:22 -04:00
2024-05-30 23:50:31 +02:00
2024-05-22 13:22:38 +01:00
2024-04-18 13:26:34 -07:00
2024-05-23 10:55:28 -07:00
2024-05-23 10:55:28 -07:00
2024-08-15 09:44:22 -04:00
2024-08-15 09:44:22 -04:00
2024-08-15 09:44:22 -04:00
2024-05-02 10:46:02 -07:00
2024-04-24 09:06:38 -07:00
2024-09-03 10:36:46 -04:00
2024-09-04 12:16:40 -04:00
2024-07-18 10:25:33 -04:00
2024-04-09 12:54:02 +02:00
2024-05-22 12:11:26 +02:00
2024-05-13 21:36:50 +02:00
2024-06-07 12:24:30 +02:00
2024-08-15 09:44:22 -04:00
2024-07-01 17:38:48 +02:00
2024-04-24 18:18:02 +02:00
2024-02-26 09:06:45 -05:00
2024-04-09 12:54:02 +02:00
2024-04-02 10:33:57 -07:00
2024-01-05 16:25:53 +01:00
2024-04-24 18:18:02 +02:00
2024-03-27 20:19:25 +01:00
2024-05-16 18:04:41 +02:00
2024-05-16 18:04:38 +02:00
2024-05-16 18:04:39 +02:00
2024-05-16 18:04:39 +02:00
2024-04-02 10:33:57 -07:00
2024-06-26 18:23:45 -04:00
2024-09-03 10:36:46 -04:00
2024-06-26 18:23:45 -04:00
2024-01-05 16:25:53 +01:00
2024-06-05 09:52:13 +02:00
2024-01-05 16:25:53 +01:00
2024-03-04 12:23:12 +01:00
2024-08-19 13:38:42 -04:00
2024-07-18 10:25:33 -04:00
2024-04-25 14:27:19 -07:00
2024-07-18 10:25:33 -04:00
2024-07-18 10:25:33 -04:00
2024-01-19 14:35:31 +02:00
2024-04-12 14:49:03 +02:00
2024-04-12 14:49:03 +02:00
2024-02-26 09:06:45 -05:00
2024-06-26 18:24:29 -04:00
2024-05-22 12:03:55 +02:00
2024-05-22 13:22:38 +01:00
2024-02-26 09:06:45 -05:00
2024-06-18 12:40:29 -07:00
2024-06-28 11:52:29 -07:00
2024-06-28 11:52:29 -07:00
2024-08-21 11:53:12 -04:00
2024-08-21 11:53:12 -04:00
2024-05-27 21:26:02 +02:00
2024-09-03 10:36:46 -04:00
2024-06-26 18:25:22 -04:00
2024-06-26 18:25:22 -04:00
2024-04-02 10:33:57 -07:00
2024-05-29 23:44:41 -07:00
2024-08-08 13:48:01 -04:00
2024-06-18 12:40:38 -07:00
2024-04-02 10:33:57 -07:00
2024-07-04 10:36:20 +02:00
2024-08-19 13:30:47 -04:00
2024-05-30 23:50:25 +02:00
2024-06-28 14:00:09 -07:00
2024-05-07 12:03:49 +02:00
2024-07-11 09:54:24 -04:00
2024-04-24 12:12:58 -04:00
2024-06-26 18:25:46 -04:00
2024-07-11 09:54:24 -04:00
2024-06-18 12:40:32 -07:00
2024-08-19 10:38:58 -04:00
2024-07-11 09:54:24 -04:00
2024-08-19 13:30:41 -04:00
2024-07-01 19:43:50 +02:00
2024-07-01 18:01:31 +02:00
2024-05-08 14:48:30 -07:00
2024-07-01 18:01:31 +02:00
2024-01-09 17:47:24 -05:00
2024-09-03 10:36:46 -04:00
2024-09-03 10:36:46 -04:00
2024-04-09 14:17:39 -07:00
2024-08-19 10:39:36 -04:00
2024-05-23 11:54:08 -04:00
2024-08-19 10:39:28 -04:00
2024-08-19 10:39:28 -04:00
2024-02-15 09:53:18 +01:00
2024-02-15 09:53:18 +01:00
2024-08-15 09:44:22 -04:00
2024-06-18 12:40:40 -07:00
2024-02-15 09:53:38 +01:00
2024-02-09 11:52:28 +02:00
2024-05-13 21:36:52 +02:00
2024-06-18 12:40:42 -07:00
2024-05-28 14:43:49 +02:00
2024-06-13 11:36:23 +02:00
2024-06-18 12:03:27 -07:00
2024-06-18 12:03:29 -07:00
2024-08-08 13:48:01 -04:00
2024-06-18 12:03:29 -07:00
2024-04-02 10:33:57 -07:00
2024-05-27 21:26:03 +02:00
2024-08-21 11:53:15 -04:00
2024-06-14 16:51:43 -04:00
2024-04-12 16:23:28 +02:00
2024-04-12 16:23:26 +02:00
2024-04-12 16:23:26 +02:00
2024-04-12 16:23:26 +02:00
2024-05-15 22:31:52 +02:00
2024-06-18 10:51:59 +02:00
2024-02-29 10:39:02 +01:00
2024-08-15 09:44:21 -04:00
2024-04-26 12:10:06 -07:00
2024-05-22 13:22:38 +01:00
2024-04-18 13:30:17 -07:00
2024-09-03 10:36:46 -04:00
2024-06-12 09:25:07 -07:00
2024-06-12 09:25:12 -07:00
2024-06-12 09:25:10 -07:00
2024-06-12 09:25:12 -07:00
2024-08-21 11:53:12 -04:00
2024-05-30 23:50:25 +02:00
2024-02-26 09:06:45 -05:00
2024-08-07 18:19:00 -04:00
2024-04-16 12:37:31 +02:00
2024-04-09 14:22:04 -07:00
2024-04-25 17:05:48 +03:00
2024-04-08 14:58:52 +02:00
2024-06-06 15:59:34 +02:00
2024-09-03 10:36:38 -04:00
2024-07-18 10:25:33 -04:00
2024-07-18 10:25:33 -04:00
2024-05-07 12:45:39 -04:00
2024-05-02 11:29:24 +02:00
2024-08-27 09:31:28 -04:00
2024-05-23 13:38:26 -04:00
2024-09-03 10:36:46 -04:00
2024-04-18 13:30:17 -07:00
2024-05-30 23:50:31 +02:00
2024-05-30 23:50:28 +02:00
2024-08-19 13:30:41 -04:00
2024-08-19 13:34:58 -04:00
2024-06-14 12:52:46 +02:00
2024-01-08 07:43:31 -08:00
2024-01-23 16:54:41 +01:00