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>
This commit is contained in:
committed by
Dave Airlie
parent
6a91d97e02
commit
551a6697d0
@@ -390,6 +390,11 @@ extern int vmw_context_check(struct vmw_private *dev_priv,
|
|||||||
struct ttm_object_file *tfile,
|
struct ttm_object_file *tfile,
|
||||||
int id,
|
int id,
|
||||||
struct vmw_resource **p_res);
|
struct vmw_resource **p_res);
|
||||||
|
extern 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);
|
||||||
extern void vmw_surface_res_free(struct vmw_resource *res);
|
extern void vmw_surface_res_free(struct vmw_resource *res);
|
||||||
extern int vmw_surface_init(struct vmw_private *dev_priv,
|
extern int vmw_surface_init(struct vmw_private *dev_priv,
|
||||||
struct vmw_surface *srf,
|
struct vmw_surface *srf,
|
||||||
|
@@ -1190,6 +1190,29 @@ void vmw_resource_unreserve(struct list_head *list)
|
|||||||
write_unlock(lock);
|
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,
|
int vmw_user_surface_lookup_handle(struct vmw_private *dev_priv,
|
||||||
struct ttm_object_file *tfile,
|
struct ttm_object_file *tfile,
|
||||||
|
Reference in New Issue
Block a user