diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-05 12:56:44 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-05 12:56:44 +0000 |
commit | 4045407fd7740642b18bc802e8bab064e79a61e5 (patch) | |
tree | 9412a38886bfad562bc5897c6e4c23bb88703204 /drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | |
parent | 59136ef3c596606d3eef920dc3e0fdfa2ce52c6f (diff) | |
parent | 4c5f830c4c9d4f19c1eef356c0cd322b46d695c9 (diff) | |
download | linux-4045407fd7740642b18bc802e8bab064e79a61e5.tar.bz2 |
Merge branch 'restart-cleanup' into restart
Conflicts:
arch/arm/kernel/setup.c
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 86c5e4cceb31..1c7f09e26819 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, |