All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Move some functions out of runtime sus/resume
@ 2024-09-11 15:27 Suraj Kandpal
  2024-09-11 15:27 ` [PATCH 1/2] drm/xe/display: Do not suspend resume dp mst during runtime Suraj Kandpal
                   ` (9 more replies)
  0 siblings, 10 replies; 15+ messages in thread
From: Suraj Kandpal @ 2024-09-11 15:27 UTC (permalink / raw)
  To: intel-xe; +Cc: uma.shankar, rodrigo.vivi, imre.deak, Suraj Kandpal

This patch series aims to fix two different lock_dep splats that
we see by moving intel_fbdev_set_suspend and intel_dp_mst_suspend/
resume functions out of xe_pm_runtime_suspend/resume functions

The splats are 

1)
<4> [76.011119] kworker/4:2/192 is trying to acquire lock:
<4> [76.011122] ffff8881120b3210 (&mgr->lock#2){+.+.}-{3:3}, at:
drm_dp_mst_topology_mgr_suspend+0x33/0xd0 [drm_display_helper]
<4> [76.011142] 
but task is already holding lock:
<4> [76.011144] ffffffffa0bc3420
(xe_pm_runtime_lockdep_map){+.+.}-{0:0}, at:
xe_pm_runtime_suspend+0x51/0x3f0 [xe]
<4> [76.011223] 
which lock already depends on the new lock.
<4> [76.011226] 
the existing dependency chain (in reverse order) is:
<4> [76.011229] 
-> #2 (xe_pm_runtime_lockdep_map){+.+.}-{0:0}:
<4> [76.011233]        pm_runtime_lockdep_prime+0x2f/0x50 [xe]
<4> [76.011306]        xe_pm_runtime_resume_and_get+0x29/0x90 [xe]
<4> [76.011377]        intel_display_power_get+0x24/0x70 [xe]
<4> [76.011466]        intel_digital_port_connected_locked+0x4c/0xf0
[xe]
<4> [76.011551]        intel_dp_aux_xfer+0xb8/0x7c0 [xe]
<4> [76.011633]        intel_dp_aux_transfer+0x166/0x2e0 [xe]
<4> [76.011715]        drm_dp_dpcd_access+0x87/0x150
[drm_display_helper]
<4> [76.011726]        drm_dp_dpcd_probe+0x3d/0xf0 [drm_display_helper]
<4> [76.011737]        drm_dp_dpcd_read+0xdd/0x130 [drm_display_helper]
<4> [76.011747]        intel_dp_get_colorimetry_status+0x3a/0x70 [xe]
<4> [76.011886]        intel_dp_init_connector+0x4ff/0x1030 [xe]
<4> [76.011969]        intel_ddi_init+0xc5b/0x1030 [xe]
<4> [76.012058]        intel_bios_for_each_encoder+0x36/0x60 [xe]
<4> [76.012145]        intel_setup_outputs+0x201/0x460 [xe]
<4> [76.012233]        intel_display_driver_probe_nogem+0x155/0x1e0 [xe]
<4> [76.012320]        xe_display_init_noaccel+0x27/0x70 [xe]

2)
 kworker/0:4/198 is trying to acquire lock:
<4> [77.185594] ffffffff83398500 (console_lock){+.+.}-{0:0}, at:
intel_fbdev_set_suspend+0x169/0x1f0 [xe]
<4> [77.185947] 
but task is already holding lock:
<4> [77.185949] ffffffffa09e9460
(xe_pm_runtime_lockdep_map){+.+.}-{0:0}, at:
xe_pm_runtime_suspend+0x51/0x3f0 [xe]
<4> [77.186262] 
which lock already depends on the new lock.
<4> [77.186264] 
the existing dependency chain (in reverse order) is:
<4> [77.186266] 
-> #2 (xe_pm_runtime_lockdep_map){+.+.}-{0:0}:
<4> [77.186276]        pm_runtime_lockdep_prime+0x2f/0x50 [xe]
<4> [77.186572]        xe_pm_runtime_resume_and_get+0x29/0x90 [xe]
<4> [77.186867]        intelfb_create+0x150/0x390 [xe]
<4> [77.187197]
__drm_fb_helper_initial_config_and_unlock+0x31c/0x5e0 [drm_kms_helper]
<4> [77.187243]        drm_fb_helper_initial_config+0x3d/0x50
[drm_kms_helper]
<4> [77.187274]        intel_fbdev_client_hotplug+0xb1/0x140 [xe]
<4> [77.187603]        drm_client_register+0x87/0xd0 [drm]
<4> [77.187704]        intel_fbdev_setup+0x51c/0x640 [xe]
<4> [77.188033]        intel_display_driver_register+0xb7/0xf0 [xe]
<4> [77.188438]        xe_display_register+0x21/0x40 [xe]
<4> [77.188809]        xe_device_probe+0xa8d/0xbf0 [xe]
<4> [77.189035]        xe_pci_probe+0x333/0x5b0 [xe]
<4> [77.189330]        local_pci_probe+0x48/0xb0
<4> [77.189341]        pci_device_probe+0xc8/0x280
<4> [77.189351]        really_probe+0xf8/0x390
<4> [77.189362]        __driver_probe_device+0x8a/0x170
<4> [77.189373]        driver_probe_device+0x23/0xb0

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>

Suraj Kandpal (2):
  drm/xe/display: Do not suspend resume dp mst during runtime
  drm/xe/display: Do not do intel_fbdev_set_suspend during runtime

 drivers/gpu/drm/xe/display/xe_display.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

-- 
2.43.2


^ permalink raw reply	[flat|nested] 15+ messages in thread
* [PATCH 0/2] Move some functions out of runtime sus/resume
@ 2024-09-12  1:25 Suraj Kandpal
  2024-09-12  1:25 ` [PATCH 2/2] drm/xe/display: Do not do intel_fbdev_set_suspend during runtime Suraj Kandpal
  0 siblings, 1 reply; 15+ messages in thread
From: Suraj Kandpal @ 2024-09-12  1:25 UTC (permalink / raw)
  To: intel-xe; +Cc: Suraj Kandpal

This patch series aims to fix two different lock_dep splats that
we see by moving intel_fbdev_set_suspend and intel_dp_mst_suspend/
resume functions out of xe_pm_runtime_suspend/resume functions

The splats are 

1)
<4> [76.011119] kworker/4:2/192 is trying to acquire lock:
<4> [76.011122] ffff8881120b3210 (&mgr->lock#2){+.+.}-{3:3}, at:
drm_dp_mst_topology_mgr_suspend+0x33/0xd0 [drm_display_helper]
<4> [76.011142] 
but task is already holding lock:
<4> [76.011144] ffffffffa0bc3420
(xe_pm_runtime_lockdep_map){+.+.}-{0:0}, at:
xe_pm_runtime_suspend+0x51/0x3f0 [xe]
<4> [76.011223] 
which lock already depends on the new lock.
<4> [76.011226] 
the existing dependency chain (in reverse order) is:
<4> [76.011229] 
-> #2 (xe_pm_runtime_lockdep_map){+.+.}-{0:0}:
<4> [76.011233]        pm_runtime_lockdep_prime+0x2f/0x50 [xe]
<4> [76.011306]        xe_pm_runtime_resume_and_get+0x29/0x90 [xe]
<4> [76.011377]        intel_display_power_get+0x24/0x70 [xe]
<4> [76.011466]        intel_digital_port_connected_locked+0x4c/0xf0
[xe]
<4> [76.011551]        intel_dp_aux_xfer+0xb8/0x7c0 [xe]
<4> [76.011633]        intel_dp_aux_transfer+0x166/0x2e0 [xe]
<4> [76.011715]        drm_dp_dpcd_access+0x87/0x150
[drm_display_helper]
<4> [76.011726]        drm_dp_dpcd_probe+0x3d/0xf0 [drm_display_helper]
<4> [76.011737]        drm_dp_dpcd_read+0xdd/0x130 [drm_display_helper]
<4> [76.011747]        intel_dp_get_colorimetry_status+0x3a/0x70 [xe]
<4> [76.011886]        intel_dp_init_connector+0x4ff/0x1030 [xe]
<4> [76.011969]        intel_ddi_init+0xc5b/0x1030 [xe]
<4> [76.012058]        intel_bios_for_each_encoder+0x36/0x60 [xe]
<4> [76.012145]        intel_setup_outputs+0x201/0x460 [xe]
<4> [76.012233]        intel_display_driver_probe_nogem+0x155/0x1e0 [xe]
<4> [76.012320]        xe_display_init_noaccel+0x27/0x70 [xe]

2)
 kworker/0:4/198 is trying to acquire lock:
<4> [77.185594] ffffffff83398500 (console_lock){+.+.}-{0:0}, at:
intel_fbdev_set_suspend+0x169/0x1f0 [xe]
<4> [77.185947] 
but task is already holding lock:
<4> [77.185949] ffffffffa09e9460
(xe_pm_runtime_lockdep_map){+.+.}-{0:0}, at:
xe_pm_runtime_suspend+0x51/0x3f0 [xe]
<4> [77.186262] 
which lock already depends on the new lock.
<4> [77.186264] 
the existing dependency chain (in reverse order) is:
<4> [77.186266] 
-> #2 (xe_pm_runtime_lockdep_map){+.+.}-{0:0}:
<4> [77.186276]        pm_runtime_lockdep_prime+0x2f/0x50 [xe]
<4> [77.186572]        xe_pm_runtime_resume_and_get+0x29/0x90 [xe]
<4> [77.186867]        intelfb_create+0x150/0x390 [xe]
<4> [77.187197]
__drm_fb_helper_initial_config_and_unlock+0x31c/0x5e0 [drm_kms_helper]
<4> [77.187243]        drm_fb_helper_initial_config+0x3d/0x50
[drm_kms_helper]
<4> [77.187274]        intel_fbdev_client_hotplug+0xb1/0x140 [xe]
<4> [77.187603]        drm_client_register+0x87/0xd0 [drm]
<4> [77.187704]        intel_fbdev_setup+0x51c/0x640 [xe]
<4> [77.188033]        intel_display_driver_register+0xb7/0xf0 [xe]
<4> [77.188438]        xe_display_register+0x21/0x40 [xe]
<4> [77.188809]        xe_device_probe+0xa8d/0xbf0 [xe]
<4> [77.189035]        xe_pci_probe+0x333/0x5b0 [xe]
<4> [77.189330]        local_pci_probe+0x48/0xb0
<4> [77.189341]        pci_device_probe+0xc8/0x280
<4> [77.189351]        really_probe+0xf8/0x390
<4> [77.189362]        __driver_probe_device+0x8a/0x170
<4> [77.189373]        driver_probe_device+0x23/0xb0

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>

Suraj Kandpal (2):
  drm/xe/display: Do not suspend resume dp mst during runtime
  drm/xe/display: Do not do intel_fbdev_set_suspend during runtime

 drivers/gpu/drm/xe/display/xe_display.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

-- 
2.43.2


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-09-13 20:39 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-11 15:27 [PATCH 0/2] Move some functions out of runtime sus/resume Suraj Kandpal
2024-09-11 15:27 ` [PATCH 1/2] drm/xe/display: Do not suspend resume dp mst during runtime Suraj Kandpal
2024-09-11 20:37   ` Rodrigo Vivi
2024-09-11 15:27 ` [PATCH 2/2] drm/xe/display: Do not do intel_fbdev_set_suspend " Suraj Kandpal
2024-09-11 20:39   ` Rodrigo Vivi
2024-09-11 16:12 ` ✓ CI.Patch_applied: success for Move some functions out of runtime sus/resume Patchwork
2024-09-11 16:12 ` ✓ CI.checkpatch: " Patchwork
2024-09-11 16:13 ` ✓ CI.KUnit: " Patchwork
2024-09-11 16:33 ` ✓ CI.Build: " Patchwork
2024-09-11 16:36 ` ✓ CI.Hooks: " Patchwork
2024-09-11 16:38 ` ✓ CI.checksparse: " Patchwork
2024-09-11 16:55 ` ✗ CI.BAT: failure " Patchwork
2024-09-11 18:06 ` ✗ CI.FULL: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2024-09-12  1:25 [PATCH 0/2] " Suraj Kandpal
2024-09-12  1:25 ` [PATCH 2/2] drm/xe/display: Do not do intel_fbdev_set_suspend during runtime Suraj Kandpal
2024-09-13 20:39   ` Rodrigo Vivi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.