|
@@ -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 {
|