drm/amdgpu: refine vce2.0 dpm sequence
authorRex Zhu <Rex.Zhu@amd.com>
Mon, 6 Mar 2017 03:29:26 +0000 (11:29 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Mar 2017 03:53:50 +0000 (23:53 -0400)
start vce first then enable vce dpm.

Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c

index da877f3c10fc6f74950c0186a9d4b9b0e12cd9ac..b69f8274d81a3370862fb0033933bc9398fb9a47 100644 (file)
@@ -1316,11 +1316,11 @@ void amdgpu_dpm_enable_vce(struct amdgpu_device *adev, bool enable)
                        /* XXX select vce level based on ring/task */
                        adev->pm.dpm.vce_level = AMD_VCE_LEVEL_AC_ALL;
                        mutex_unlock(&adev->pm.mutex);
-                       amdgpu_pm_compute_clocks(adev);
-                       amdgpu_set_powergating_state(adev, AMD_IP_BLOCK_TYPE_VCE,
-                                                       AMD_PG_STATE_UNGATE);
                        amdgpu_set_clockgating_state(adev, AMD_IP_BLOCK_TYPE_VCE,
                                                        AMD_CG_STATE_UNGATE);
+                       amdgpu_set_powergating_state(adev, AMD_IP_BLOCK_TYPE_VCE,
+                                                       AMD_PG_STATE_UNGATE);
+                       amdgpu_pm_compute_clocks(adev);
                } else {
                        amdgpu_set_powergating_state(adev, AMD_IP_BLOCK_TYPE_VCE,
                                                        AMD_PG_STATE_GATE);