drm/vc4: Use drm_gem_cma_vmap() directly
authorThomas Zimmermann <tzimmermann@suse.de>
Fri, 8 Jan 2021 14:08:06 +0000 (15:08 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Wed, 13 Jan 2021 11:52:08 +0000 (12:52 +0100)
Validated shaders cannot be exported. There's no need for testing this in
the BO's vmap implementation. Call drm_gem_cma_vmap() directly instead.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210108140808.25775-2-tzimmermann@suse.de
drivers/gpu/drm/vc4/vc4_bo.c
drivers/gpu/drm/vc4/vc4_drv.h

index dc316cb79e003c2b71069cd1179b20a99aff6eb9..eff12be616b0505a701260bf325ad55cb5e3219e 100644 (file)
@@ -386,7 +386,7 @@ static const struct drm_gem_object_funcs vc4_gem_object_funcs = {
        .free = vc4_free_object,
        .export = vc4_prime_export,
        .get_sg_table = drm_gem_cma_get_sg_table,
-       .vmap = vc4_prime_vmap,
+       .vmap = drm_gem_cma_vmap,
        .vm_ops = &vc4_vm_ops,
 };
 
@@ -785,18 +785,6 @@ int vc4_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma)
        return drm_gem_prime_mmap(obj, vma);
 }
 
-int vc4_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
-{
-       struct vc4_bo *bo = to_vc4_bo(obj);
-
-       if (bo->validated_shader) {
-               DRM_DEBUG("mmaping of shader BOs not allowed.\n");
-               return -EINVAL;
-       }
-
-       return drm_gem_cma_vmap(obj, map);
-}
-
 struct drm_gem_object *
 vc4_prime_import_sg_table(struct drm_device *dev,
                          struct dma_buf_attachment *attach,
index 051ad4e31e529eda7e7a7159c677dacd890aa70f..61848c6f85ad670b1c298a782be5d0c2f1b42209 100644 (file)
@@ -808,7 +808,6 @@ int vc4_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma);
 struct drm_gem_object *vc4_prime_import_sg_table(struct drm_device *dev,
                                                 struct dma_buf_attachment *attach,
                                                 struct sg_table *sgt);
-int vc4_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map);
 int vc4_bo_cache_init(struct drm_device *dev);
 int vc4_bo_inc_usecnt(struct vc4_bo *bo);
 void vc4_bo_dec_usecnt(struct vc4_bo *bo);