1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/amd/pm
Evan Quan a71849cdea drm/amd/pm: fix the deadlock issue observed on SI
The adev->pm.mutx is already held at the beginning of
amdgpu_dpm_compute_clocks/amdgpu_dpm_enable_uvd/amdgpu_dpm_enable_vce.
But on their calling path, amdgpu_display_bandwidth_update will be
called and thus its sub functions amdgpu_dpm_get_sclk/mclk. They
will then try to acquire the same adev->pm.mutex and deadlock will
occur.

By placing amdgpu_display_bandwidth_update outside of adev->pm.mutex
protection(considering logically they do not need such protection) and
restructuring the call flow accordingly, we can eliminate the deadlock
issue. This comes with no real logics change.

Fixes: 3712e7a494 ("drm/amd/pm: unified lock protections in amdgpu_dpm.c")
Reported-by: Paul Menzel <pmenzel@molgen.mpg.de>
Reported-by: Arthur Marsh <arthur.marsh@internode.on.net>
Link: https://lore.kernel.org/all/9e689fea-6c69-f4b0-8dee-32c4cf7d8f9c@molgen.mpg.de/
BugLink: https://gitlab.freedesktop.org/drm/amd/-/issues/1957
Signed-off-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2022-04-27 17:38:02 -04:00
..
inc drm/amd/pm: add send bad channel info function 2022-03-15 14:25:16 -04:00
legacy-dpm drm/amd/pm: fix the deadlock issue observed on SI 2022-04-27 17:38:02 -04:00
powerplay drm/amd/pm: fix the deadlock issue observed on SI 2022-04-27 17:38:02 -04:00
swsmu drm/amdgpu/pm: fix the Stable pstate Test in amdgpu_test 2022-03-25 12:40:24 -04:00
amdgpu_dpm.c drm/amd/pm: fix the deadlock issue observed on SI 2022-04-27 17:38:02 -04:00
amdgpu_dpm_internal.c drm/amd/pm: add missing prototypes to amdgpu_dpm_internal 2022-02-07 18:03:50 -05:00
amdgpu_pm.c drm/amd/pm: fix typos in comments 2022-03-15 15:01:12 -04:00
Makefile drm/amd/pm: relocate the power related headers 2022-01-14 17:51:14 -05:00