summaryrefslogtreecommitdiff
path: root/include/linux/debugobjects.h
diff options
context:
space:
mode:
authorRay Wu <ray.wu@amd.com>2026-04-30 10:08:16 +0800
committerAlex Deucher <alexander.deucher@amd.com>2026-05-19 11:45:40 -0400
commit3714fe242592e3699ac5e2c19d68b275a210be7d (patch)
tree7518c311229a09fa6b013c0861548c865d0fa6cb /include/linux/debugobjects.h
parente91130c0164fcf569f9d12a2923911e3f1c2c3ec (diff)
drm/amd/display: Fix ISM dc_lock deadlock during suspend
[Why] System hang observed during suspend/resume while video is playing. amdgpu_dm_ism_disable() is called under dc_lock and waits for ISM delayed work via disable_delayed_work_sync(). The work handlers themselves take dc_lock, producing an ABBA deadlock when a worker is in flight at suspend time. [How] Split the disable path into two phases with opposite locking contracts: 1. amdgpu_dm_ism_disable() -- quiesces workers, must NOT hold dc_lock. 2. amdgpu_dm_ism_force_full_power() (new) -- drives the ISM FSM back to FULL_POWER_RUNNING, must hold dc_lock. Reviewed-by: Sun peng (Leo) Li <sunpeng.li@amd.com> Signed-off-by: Ray Wu <ray.wu@amd.com> Signed-off-by: Ivan Lipski <ivan.lipski@amd.com> Tested-by: Dan Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions