This commit fixes some instability on Tahiti. Sometimes UVD initialization would fail when using DC. I suspect this is because DC doesn't immediately turn on the display clock, so it changes how DPM behaves.
Fixes: 841686df9f7d ("drm/amdgpu: add SI DPM support (v4)") Signed-off-by: Timur Kristóf <timur.kris...@gmail.com> --- drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 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 52e732be59e3..33b9d4beec84 100644 --- a/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c +++ b/drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c @@ -5639,10 +5639,13 @@ 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; + r = amdgpu_si_send_msg_to_smc(adev, PPSMC_MSG_DisableULV); + + /* Only care about SMC reply when ULV is supported. */ if (ulv->supported) - return (amdgpu_si_send_msg_to_smc(adev, PPSMC_MSG_DisableULV) == PPSMC_Result_OK) ? - 0 : -EINVAL; + return (r == PPSMC_Result_OK) ? 0 : -EINVAL; return 0; } -- 2.50.1