diff options
Diffstat (limited to 'drivers/gpu/drm/vmwgfx/vmwgfx_gem.c')
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_gem.c | 18 | 
1 files changed, 15 insertions, 3 deletions
| diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_gem.c b/drivers/gpu/drm/vmwgfx/vmwgfx_gem.c index c0da89e16e6f..8b1eb0061610 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_gem.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_gem.c @@ -111,6 +111,20 @@ static const struct drm_gem_object_funcs vmw_gem_object_funcs = {  	.vm_ops = &vmw_vm_ops,  }; +int vmw_gem_object_create(struct vmw_private *vmw, +			  struct vmw_bo_params *params, +			  struct vmw_bo **p_vbo) +{ +	int ret = vmw_bo_create(vmw, params, p_vbo); + +	if (ret != 0) +		goto out_no_bo; + +	(*p_vbo)->tbo.base.funcs = &vmw_gem_object_funcs; +out_no_bo: +	return ret; +} +  int vmw_gem_object_create_with_handle(struct vmw_private *dev_priv,  				      struct drm_file *filp,  				      uint32_t size, @@ -126,12 +140,10 @@ int vmw_gem_object_create_with_handle(struct vmw_private *dev_priv,  		.pin = false  	}; -	ret = vmw_bo_create(dev_priv, ¶ms, p_vbo); +	ret = vmw_gem_object_create(dev_priv, ¶ms, p_vbo);  	if (ret != 0)  		goto out_no_bo; -	(*p_vbo)->tbo.base.funcs = &vmw_gem_object_funcs; -  	ret = drm_gem_handle_create(filp, &(*p_vbo)->tbo.base, handle);  out_no_bo:  	return ret; | 
