diff options
| author | Jakob Bornecrantz <jakob@vmware.com> | 2011-11-28 13:19:11 +0100 | 
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2011-12-19 14:06:02 +0000 | 
| commit | 551a6697d08f92a311d6adbf8d03af2bc7f9e2ee (patch) | |
| tree | 36bdebe3d5a03e5fa1ea6e04f10f8914f7cc20ad /drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | |
| parent | 6a91d97e02d7efde955c25a5b0fbf950cd2a6efa (diff) | |
| download | olio-linux-3.10-551a6697d08f92a311d6adbf8d03af2bc7f9e2ee.tar.xz olio-linux-3.10-551a6697d08f92a311d6adbf8d03af2bc7f9e2ee.zip  | |
vmwgfx: Add helper function to get surface or dmabuf
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/vmwgfx/vmwgfx_resource.c')
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c index 86c5e4cceb3..1c7f09e2681 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c @@ -1190,6 +1190,29 @@ void vmw_resource_unreserve(struct list_head *list)  		write_unlock(lock);  } +/** + * Helper function that looks either a surface or dmabuf. + * + * The pointer this pointed at by out_surf and out_buf needs to be null. + */ +int vmw_user_lookup_handle(struct vmw_private *dev_priv, +			   struct ttm_object_file *tfile, +			   uint32_t handle, +			   struct vmw_surface **out_surf, +			   struct vmw_dma_buffer **out_buf) +{ +	int ret; + +	BUG_ON(*out_surf || *out_buf); + +	ret = vmw_user_surface_lookup_handle(dev_priv, tfile, handle, out_surf); +	if (!ret) +		return 0; + +	ret = vmw_user_dmabuf_lookup(tfile, handle, out_buf); +	return ret; +} +  int vmw_user_surface_lookup_handle(struct vmw_private *dev_priv,  				   struct ttm_object_file *tfile,  |