diff options
Diffstat (limited to 'drivers/gpu/drm/vmwgfx/vmwgfx_resource.c')
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 35 | 
1 files changed, 1 insertions, 34 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c index 86c5e4cceb3..2eb84a55aee 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c @@ -1517,29 +1517,10 @@ out_bad_surface:  /**   * Buffer management.   */ - -static size_t vmw_dmabuf_acc_size(struct ttm_bo_global *glob, -				  unsigned long num_pages) -{ -	static size_t bo_user_size = ~0; - -	size_t page_array_size = -	    (num_pages * sizeof(void *) + PAGE_SIZE - 1) & PAGE_MASK; - -	if (unlikely(bo_user_size == ~0)) { -		bo_user_size = glob->ttm_bo_extra_size + -		    ttm_round_pot(sizeof(struct vmw_dma_buffer)); -	} - -	return bo_user_size + page_array_size; -} -  void vmw_dmabuf_bo_free(struct ttm_buffer_object *bo)  {  	struct vmw_dma_buffer *vmw_bo = vmw_dma_buffer(bo); -	struct ttm_bo_global *glob = bo->glob; -	ttm_mem_global_free(glob->mem_glob, bo->acc_size);  	kfree(vmw_bo);  } @@ -1550,24 +1531,12 @@ int vmw_dmabuf_init(struct vmw_private *dev_priv,  		    void (*bo_free) (struct ttm_buffer_object *bo))  {  	struct ttm_bo_device *bdev = &dev_priv->bdev; -	struct ttm_mem_global *mem_glob = bdev->glob->mem_glob;  	size_t acc_size;  	int ret;  	BUG_ON(!bo_free); -	acc_size = -	    vmw_dmabuf_acc_size(bdev->glob, -				(size + PAGE_SIZE - 1) >> PAGE_SHIFT); - -	ret = ttm_mem_global_alloc(mem_glob, acc_size, false, false); -	if (unlikely(ret != 0)) { -		/* we must free the bo here as -		 * ttm_buffer_object_init does so as well */ -		bo_free(&vmw_bo->base); -		return ret; -	} - +	acc_size = ttm_bo_acc_size(bdev, size, sizeof(struct vmw_dma_buffer));  	memset(vmw_bo, 0, sizeof(*vmw_bo));  	INIT_LIST_HEAD(&vmw_bo->validate_list); @@ -1582,9 +1551,7 @@ int vmw_dmabuf_init(struct vmw_private *dev_priv,  static void vmw_user_dmabuf_destroy(struct ttm_buffer_object *bo)  {  	struct vmw_user_dma_buffer *vmw_user_bo = vmw_user_dma_buffer(bo); -	struct ttm_bo_global *glob = bo->glob; -	ttm_mem_global_free(glob->mem_glob, bo->acc_size);  	kfree(vmw_user_bo);  }  |