diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c index a6fee511aab5..7f12a4d55c52 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | |||
@@ -261,48 +261,6 @@ int amdgpu_sync_wait(struct amdgpu_sync *sync) | |||
261 | } | 261 | } |
262 | 262 | ||
263 | /** | 263 | /** |
264 | * amdgpu_sync_rings - sync ring to all registered fences | ||
265 | * | ||
266 | * @sync: sync object to use | ||
267 | * @ring: ring that needs sync | ||
268 | * | ||
269 | * Ensure that all registered fences are signaled before letting | ||
270 | * the ring continue. The caller must hold the ring lock. | ||
271 | */ | ||
272 | int amdgpu_sync_rings(struct amdgpu_sync *sync, | ||
273 | struct amdgpu_ring *ring) | ||
274 | { | ||
275 | struct amdgpu_device *adev = ring->adev; | ||
276 | int i, r; | ||
277 | |||
278 | for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { | ||
279 | struct amdgpu_ring *other = adev->rings[i]; | ||
280 | struct amdgpu_fence *fence; | ||
281 | |||
282 | if (!sync->sync_to[i]) | ||
283 | continue; | ||
284 | |||
285 | fence = to_amdgpu_fence(sync->sync_to[i]); | ||
286 | |||
287 | /* prevent GPU deadlocks */ | ||
288 | if (!other->ready) { | ||
289 | dev_err(adev->dev, "Syncing to a disabled ring!"); | ||
290 | return -EINVAL; | ||
291 | } | ||
292 | |||
293 | if (amdgpu_enable_scheduler) { | ||
294 | r = fence_wait(sync->sync_to[i], true); | ||
295 | if (r) | ||
296 | return r; | ||
297 | continue; | ||
298 | } | ||
299 | |||
300 | } | ||
301 | |||
302 | return 0; | ||
303 | } | ||
304 | |||
305 | /** | ||
306 | * amdgpu_sync_free - free the sync object | 264 | * amdgpu_sync_free - free the sync object |
307 | * | 265 | * |
308 | * @adev: amdgpu_device pointer | 266 | * @adev: amdgpu_device pointer |