summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorEvan Quan <evan.quan@amd.com>2022-04-08 19:51:34 +0800
committerAlex Deucher <alexander.deucher@amd.com>2022-04-27 17:38:02 -0400
commita71849cdeaec4579696e5e1c45d9279f7b7484bd (patch)
tree31d7a9c0fe72697d022e0221b6edb3b98b4f6987 /mm
parent65e54987508b6f0771f56bdfa3ee1926d52785ae (diff)
downloadlinux-a71849cdeaec4579696e5e1c45d9279f7b7484bd.tar.bz2
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: 3712e7a49459 ("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>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions