diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2016-09-26 21:19:14 +0200 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-09-27 19:00:50 +0200 |
commit | 24c5fe56b25eaf05aa2ce1dfebac707c58208ea4 (patch) | |
tree | c34a5c11c392ea4d0bc103245d9e176f30fe1d47 /drivers/gpu/drm/amd | |
parent | drm/amdgpu: add version bump for raster config programming (diff) | |
download | linux-24c5fe56b25eaf05aa2ce1dfebac707c58208ea4.tar.xz linux-24c5fe56b25eaf05aa2ce1dfebac707c58208ea4.zip |
drm/amdgpu/vce: take all rings into account for idle checks
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c index 06b94c13c2c9..686d99c121a8 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c @@ -303,9 +303,12 @@ static void amdgpu_vce_idle_work_handler(struct work_struct *work) { struct amdgpu_device *adev = container_of(work, struct amdgpu_device, vce.idle_work.work); + unsigned i, count = 0; - if ((amdgpu_fence_count_emitted(&adev->vce.ring[0]) == 0) && - (amdgpu_fence_count_emitted(&adev->vce.ring[1]) == 0)) { + for (i = 0; i < adev->vce.num_rings; i++) + count += amdgpu_fence_count_emitted(&adev->vce.ring[i]); + + if (count == 0) { if (adev->pm.dpm_enabled) { amdgpu_dpm_enable_vce(adev, false); } else { |