Commit 403664bb authored by Alex Deucher's avatar Alex Deucher

drm/amdgpu/cz: force vce clocks when sclks are forced

Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 5f576426
...@@ -1984,6 +1984,14 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev, ...@@ -1984,6 +1984,14 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev,
if (ret) if (ret)
return ret; return ret;
ret = cz_dpm_uvd_force_highest(adev); ret = cz_dpm_uvd_force_highest(adev);
if (ret)
return ret;
/* vce */
ret = cz_dpm_unforce_vce_dpm_levels(adev);
if (ret)
return ret;
ret = cz_dpm_vce_force_highest(adev);
if (ret) if (ret)
return ret; return ret;
break; break;
...@@ -2001,6 +2009,14 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev, ...@@ -2001,6 +2009,14 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev,
if (ret) if (ret)
return ret; return ret;
ret = cz_dpm_uvd_force_lowest(adev); ret = cz_dpm_uvd_force_lowest(adev);
if (ret)
return ret;
/* vce */
ret = cz_dpm_unforce_vce_dpm_levels(adev);
if (ret)
return ret;
ret = cz_dpm_vce_force_lowest(adev);
if (ret) if (ret)
return ret; return ret;
break; break;
...@@ -2012,6 +2028,11 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev, ...@@ -2012,6 +2028,11 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev,
/* uvd */ /* uvd */
ret = cz_dpm_unforce_uvd_dpm_levels(adev); ret = cz_dpm_unforce_uvd_dpm_levels(adev);
if (ret)
return ret;
/* vce */
ret = cz_dpm_unforce_vce_dpm_levels(adev);
if (ret) if (ret)
return ret; return ret;
break; break;
...@@ -2154,7 +2175,8 @@ static int cz_update_vce_dpm(struct amdgpu_device *adev) ...@@ -2154,7 +2175,8 @@ static int cz_update_vce_dpm(struct amdgpu_device *adev)
pi->vce_dpm.hard_min_clk = table->entries[table->count-1].ecclk; pi->vce_dpm.hard_min_clk = table->entries[table->count-1].ecclk;
} else { /* non-stable p-state cases. without vce.Arbiter.EcclkHardMin */ } else { /* non-stable p-state cases. without vce.Arbiter.EcclkHardMin */
pi->vce_dpm.hard_min_clk = table->entries[0].ecclk; /* leave it as set by user */
/*pi->vce_dpm.hard_min_clk = table->entries[0].ecclk;*/
} }
cz_send_msg_to_smc_with_parameter(adev, cz_send_msg_to_smc_with_parameter(adev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment