aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/ttm/ttm_execbuf_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_execbuf_util.c')
-rw-r--r--drivers/gpu/drm/ttm/ttm_execbuf_util.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_execbuf_util.c b/drivers/gpu/drm/ttm/ttm_execbuf_util.c
index 7dcc6470e2f..c3a2100bace 100644
--- a/drivers/gpu/drm/ttm/ttm_execbuf_util.c
+++ b/drivers/gpu/drm/ttm/ttm_execbuf_util.c
@@ -203,14 +203,15 @@ void ttm_eu_fence_buffer_objects(struct list_head *list, void *sync_obj)
203 203
204 list_for_each_entry(entry, list, head) { 204 list_for_each_entry(entry, list, head) {
205 struct ttm_buffer_object *bo = entry->bo; 205 struct ttm_buffer_object *bo = entry->bo;
206 struct ttm_bo_driver *driver = bo->bdev->driver; 206 struct ttm_bo_device *bdev = bo->bdev;
207 struct ttm_bo_driver *driver = bdev->driver;
207 void *old_sync_obj; 208 void *old_sync_obj;
208 209
209 spin_lock(&bo->lock); 210 spin_lock(&bdev->fence_lock);
210 old_sync_obj = bo->sync_obj; 211 old_sync_obj = bo->sync_obj;
211 bo->sync_obj = driver->sync_obj_ref(sync_obj); 212 bo->sync_obj = driver->sync_obj_ref(sync_obj);
212 bo->sync_obj_arg = entry->new_sync_obj_arg; 213 bo->sync_obj_arg = entry->new_sync_obj_arg;
213 spin_unlock(&bo->lock); 214 spin_unlock(&bdev->fence_lock);
214 ttm_bo_unreserve(bo); 215 ttm_bo_unreserve(bo);
215 entry->reserved = false; 216 entry->reserved = false;
216 if (old_sync_obj) 217 if (old_sync_obj)