diff options
author | Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> | 2008-04-13 14:49:14 +0200 |
---|---|---|
committer | Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> | 2008-04-14 12:13:33 +0200 |
commit | c9b73ef6daff75df27d17260a9fc84e68f1b21b4 (patch) | |
tree | fdaa75f6dbd1a0c6c7c4b5fc567cd005f5f62f6d /linux-core/drm_bo_move.c | |
parent | 65dd0e68ff0e0e354925adb7d5fffeb0ffbb485c (diff) |
Unlock the BO mutex while waiting for idle, unmapped, unfenced.
Move unfenced checking into idle checking.
Never time out while waiting for software events like unmapped or unfenced.
Diffstat (limited to 'linux-core/drm_bo_move.c')
-rw-r--r-- | linux-core/drm_bo_move.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/linux-core/drm_bo_move.c b/linux-core/drm_bo_move.c index 21673daa..bf0e1b74 100644 --- a/linux-core/drm_bo_move.c +++ b/linux-core/drm_bo_move.c @@ -356,10 +356,11 @@ int drm_bo_move_accel_cleanup(struct drm_buffer_object *bo, bo->mem.mm_node != NULL)) #endif { - ret = drm_bo_wait(bo, 0, 1, 0); - if (ret) - return ret; - + if (bo->fence) { + (void) drm_fence_object_wait(bo->fence, 0, 1, + bo->fence_type); + drm_fence_usage_deref_unlocked(&bo->fence); + } drm_bo_free_old_node(bo); if ((man->flags & _DRM_FLAG_MEMTYPE_FIXED) && (bo->ttm != NULL)) { |