drm/amdgpu: always signal all fences A little fallout from "drm/amdgpu: sanitize fence numbers", we sometimes need to signal all fences in the ring. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c index e320b5b..0b109ae 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
@@ -204,10 +204,13 @@ if (seq != ring->fence_drv.sync_seq) amdgpu_fence_schedule_fallback(ring); + if (unlikely(seq == last_seq)) + return; + last_seq &= drv->num_fences_mask; seq &= drv->num_fences_mask; - while (last_seq != seq) { + do { struct fence *fence, **ptr; ++last_seq; @@ -228,7 +231,7 @@ BUG(); fence_put(fence); - } + } while (last_seq != seq); } /**