drm/amd/pm: avoid duplicate powergate/ungate setting
authorEvan Quan <evan.quan@amd.com>
Fri, 5 Nov 2021 07:25:30 +0000 (15:25 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 17 Nov 2021 22:41:20 +0000 (17:41 -0500)
commit6ee27ee27ba8b2e725886951ba2d2d87f113bece
treec0c7095dda37b859fd5457bc089f09aa5cd3ad98
parent69650a879b93e7e445e7a833287701ea7f32bd3a
drm/amd/pm: avoid duplicate powergate/ungate setting

Just bail out if the target IP block is already in the desired
powergate/ungate state. This can avoid some duplicate settings
which sometimes may cause unexpected issues.

Link: https://lore.kernel.org/all/YV81vidWQLWvATMM@zn.tnic/
Bug: https://bugzilla.kernel.org/show_bug.cgi?id=214921
Bug: https://bugzilla.kernel.org/show_bug.cgi?id=215025
Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1789
Fixes: bf756fb833cb ("drm/amdgpu: add missing cleanups for Polaris12 UVD/VCE on suspend")
Signed-off-by: Evan Quan <evan.quan@amd.com>
Tested-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/include/amd_shared.h
drivers/gpu/drm/amd/pm/amdgpu_dpm.c
drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h