aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
index 79bc9c7aad45..e2c06780ce49 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
@@ -321,6 +321,10 @@ static void amdgpu_vce_idle_work_handler(struct work_struct *work)
321 amdgpu_dpm_enable_vce(adev, false); 321 amdgpu_dpm_enable_vce(adev, false);
322 } else { 322 } else {
323 amdgpu_asic_set_vce_clocks(adev, 0, 0); 323 amdgpu_asic_set_vce_clocks(adev, 0, 0);
324 amdgpu_set_powergating_state(adev, AMD_IP_BLOCK_TYPE_VCE,
325 AMD_PG_STATE_GATE);
326 amdgpu_set_clockgating_state(adev, AMD_IP_BLOCK_TYPE_VCE,
327 AMD_CG_STATE_GATE);
324 } 328 }
325 } else { 329 } else {
326 schedule_delayed_work(&adev->vce.idle_work, VCE_IDLE_TIMEOUT); 330 schedule_delayed_work(&adev->vce.idle_work, VCE_IDLE_TIMEOUT);
@@ -346,6 +350,11 @@ void amdgpu_vce_ring_begin_use(struct amdgpu_ring *ring)
346 amdgpu_dpm_enable_vce(adev, true); 350 amdgpu_dpm_enable_vce(adev, true);
347 } else { 351 } else {
348 amdgpu_asic_set_vce_clocks(adev, 53300, 40000); 352 amdgpu_asic_set_vce_clocks(adev, 53300, 40000);
353 amdgpu_set_clockgating_state(adev, AMD_IP_BLOCK_TYPE_VCE,
354 AMD_CG_STATE_UNGATE);
355 amdgpu_set_powergating_state(adev, AMD_IP_BLOCK_TYPE_VCE,
356 AMD_PG_STATE_UNGATE);
357
349 } 358 }
350 } 359 }
351 mutex_unlock(&adev->vce.idle_mutex); 360 mutex_unlock(&adev->vce.idle_mutex);