aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_prime.c
diff options
context:
space:
mode:
authorThomas Zimmermann <[email protected]>2020-11-03 09:30:12 +0000
committerThomas Zimmermann <[email protected]>2020-11-09 08:19:36 +0000
commita745fb1c26d3802caad532a4675f43a661f01fa6 (patch)
tree36e4481347e09a47339830b6d40941f0528db0a4 /drivers/gpu/drm/drm_prime.c
parentdrm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends (diff)
downloadkernel-a745fb1c26d3802caad532a4675f43a661f01fa6.tar.gz
kernel-a745fb1c26d3802caad532a4675f43a661f01fa6.zip
drm/gem: Update internal GEM vmap/vunmap interfaces to use struct dma_buf_map
GEM's vmap and vunmap interfaces now wrap memory pointers in struct dma_buf_map. Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Tested-by: Sam Ravnborg <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'drivers/gpu/drm/drm_prime.c')
-rw-r--r--drivers/gpu/drm/drm_prime.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index a7b61c2d9190..7db55fce35d8 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -667,21 +667,15 @@ EXPORT_SYMBOL(drm_gem_unmap_dma_buf);
*
* Sets up a kernel virtual mapping. This can be used as the &dma_buf_ops.vmap
* callback. Calls into &drm_gem_object_funcs.vmap for device specific handling.
+ * The kernel virtual address is returned in map.
*
- * Returns the kernel virtual address or NULL on failure.
+ * Returns 0 on success or a negative errno code otherwise.
*/
int drm_gem_dmabuf_vmap(struct dma_buf *dma_buf, struct dma_buf_map *map)
{
struct drm_gem_object *obj = dma_buf->priv;
- void *vaddr;
- vaddr = drm_gem_vmap(obj);
- if (IS_ERR(vaddr))
- return PTR_ERR(vaddr);
-
- dma_buf_map_set_vaddr(map, vaddr);
-
- return 0;
+ return drm_gem_vmap(obj, map);
}
EXPORT_SYMBOL(drm_gem_dmabuf_vmap);
@@ -697,7 +691,7 @@ void drm_gem_dmabuf_vunmap(struct dma_buf *dma_buf, struct dma_buf_map *map)
{
struct drm_gem_object *obj = dma_buf->priv;
- drm_gem_vunmap(obj, map->vaddr);
+ drm_gem_vunmap(obj, map);
}
EXPORT_SYMBOL(drm_gem_dmabuf_vunmap);