|
@@ -293,7 +293,8 @@ int amdgpu_sync_rings(struct amdgpu_sync *sync,
|
|
fence = to_amdgpu_fence(sync->sync_to[i]);
|
|
fence = to_amdgpu_fence(sync->sync_to[i]);
|
|
|
|
|
|
/* check if we really need to sync */
|
|
/* check if we really need to sync */
|
|
- if (!amdgpu_fence_need_sync(fence, ring))
|
|
|
|
|
|
+ if (!amdgpu_enable_scheduler &&
|
|
|
|
+ !amdgpu_fence_need_sync(fence, ring))
|
|
continue;
|
|
continue;
|
|
|
|
|
|
/* prevent GPU deadlocks */
|
|
/* prevent GPU deadlocks */
|
|
@@ -303,7 +304,7 @@ int amdgpu_sync_rings(struct amdgpu_sync *sync,
|
|
}
|
|
}
|
|
|
|
|
|
if (amdgpu_enable_scheduler || !amdgpu_enable_semaphores) {
|
|
if (amdgpu_enable_scheduler || !amdgpu_enable_semaphores) {
|
|
- r = fence_wait(&fence->base, true);
|
|
|
|
|
|
+ r = fence_wait(sync->sync_to[i], true);
|
|
if (r)
|
|
if (r)
|
|
return r;
|
|
return r;
|
|
continue;
|
|
continue;
|