diff options
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_bo_util.c')
| -rw-r--r-- | drivers/gpu/drm/ttm/ttm_bo_util.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c index b9c4e515b1d..d73d6e3e17b 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_util.c +++ b/drivers/gpu/drm/ttm/ttm_bo_util.c @@ -43,7 +43,7 @@ void ttm_bo_free_old_node(struct ttm_buffer_object *bo)  }  int ttm_bo_move_ttm(struct ttm_buffer_object *bo, -		    bool evict, bool no_wait_reserve, +		    bool evict,  		    bool no_wait_gpu, struct ttm_mem_reg *new_mem)  {  	struct ttm_tt *ttm = bo->ttm; @@ -314,7 +314,7 @@ static int ttm_copy_ttm_io_page(struct ttm_tt *ttm, void *dst,  }  int ttm_bo_move_memcpy(struct ttm_buffer_object *bo, -		       bool evict, bool no_wait_reserve, bool no_wait_gpu, +		       bool evict, bool no_wait_gpu,  		       struct ttm_mem_reg *new_mem)  {  	struct ttm_bo_device *bdev = bo->bdev; @@ -611,7 +611,7 @@ EXPORT_SYMBOL(ttm_bo_kunmap);  int ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo,  			      void *sync_obj, -			      bool evict, bool no_wait_reserve, +			      bool evict,  			      bool no_wait_gpu,  			      struct ttm_mem_reg *new_mem)  { @@ -654,11 +654,13 @@ int ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo,  		 */  		set_bit(TTM_BO_PRIV_FLAG_MOVING, &bo->priv_flags); + +		/* ttm_buffer_object_transfer accesses bo->sync_obj */ +		ret = ttm_buffer_object_transfer(bo, &ghost_obj);  		spin_unlock(&bdev->fence_lock);  		if (tmp_obj)  			driver->sync_obj_unref(&tmp_obj); -		ret = ttm_buffer_object_transfer(bo, &ghost_obj);  		if (ret)  			return ret;  |