mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 19:29:37 +00:00
drm/amdgpu/cz: force vce clocks when sclks are forced
Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
5f57642672
commit
403664bbf8
1 changed files with 23 additions and 1 deletions
|
@ -1984,6 +1984,14 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev,
|
|||
if (ret)
|
||||
return ret;
|
||||
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)
|
||||
return ret;
|
||||
break;
|
||||
|
@ -2001,6 +2009,14 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev,
|
|||
if (ret)
|
||||
return ret;
|
||||
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)
|
||||
return ret;
|
||||
break;
|
||||
|
@ -2012,6 +2028,11 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev,
|
|||
|
||||
/* uvd */
|
||||
ret = cz_dpm_unforce_uvd_dpm_levels(adev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* vce */
|
||||
ret = cz_dpm_unforce_vce_dpm_levels(adev);
|
||||
if (ret)
|
||||
return ret;
|
||||
break;
|
||||
|
@ -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;
|
||||
|
||||
} 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,
|
||||
|
|
Loading…
Reference in a new issue