summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/pm
diff options
context:
space:
mode:
authorTimur Kristóf <timur.kristof@gmail.com>2025-08-28 17:11:04 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-10-15 12:00:07 +0200
commit32710128d3fc8f9363124483600c38eac7da05e0 (patch)
treecb497925c4c991b6f924ec440defadb3e49aec4e /drivers/gpu/drm/amd/pm
parent3f185e616fcf83d9ad01e0e80c7e2152eb07d263 (diff)
downloadlinux-32710128d3fc8f9363124483600c38eac7da05e0.tar.gz
linux-32710128d3fc8f9363124483600c38eac7da05e0.tar.bz2
linux-32710128d3fc8f9363124483600c38eac7da05e0.zip
drm/amd/pm: Disable ULV even if unsupported (v3)
[ Upstream commit 3a0c3a4035f995e1f993dfaf4d63dc19e9b4bc1c ] Always send PPSMC_MSG_DisableULV to the SMC, even if ULV mode is unsupported, to make sure it is properly turned off. v3: Simplify si_disable_ulv further. Always check the return value of amdgpu_si_send_msg_to_smc. Fixes: 841686df9f7d ("drm/amdgpu: add SI DPM support (v4)") Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/amd/pm')
-rw-r--r--drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
index a5ad1b60597e..6a97ddcd695b 100644
--- a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
+++ b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
@@ -5613,14 +5613,10 @@ static int si_populate_smc_t(struct amdgpu_device *adev,
static int si_disable_ulv(struct amdgpu_device *adev)
{
- struct si_power_info *si_pi = si_get_pi(adev);
- struct si_ulv_param *ulv = &si_pi->ulv;
+ PPSMC_Result r;
- if (ulv->supported)
- return (amdgpu_si_send_msg_to_smc(adev, PPSMC_MSG_DisableULV) == PPSMC_Result_OK) ?
- 0 : -EINVAL;
-
- return 0;
+ r = amdgpu_si_send_msg_to_smc(adev, PPSMC_MSG_DisableULV);
+ return (r == PPSMC_Result_OK) ? 0 : -EINVAL;
}
static bool si_is_state_ulv_compatible(struct amdgpu_device *adev,