drm/vc4: Initialize vc4_drm_driver with CMA helper defaults
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 14 Jan 2021 08:49:49 +0000 (09:49 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Fri, 15 Jan 2021 09:39:05 +0000 (10:39 +0100)
The function vc4_prime_import_sg_table() is an otherwise empty wrapper
around CMA's drm_gem_cma_prime_import_sg_table(). Removing it in favor
of the latter allows to initialize vc4_drm_driver with CMA's initializer
macro.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210114084949.29014-1-tzimmermann@suse.de
drivers/gpu/drm/vc4/vc4_bo.c
drivers/gpu/drm/vc4/vc4_drv.c
drivers/gpu/drm/vc4/vc4_drv.h

index 28e48ef..fddaeb0 100644 (file)
@@ -738,20 +738,6 @@ static const struct drm_gem_object_funcs vc4_gem_object_funcs = {
        .vm_ops = &vc4_vm_ops,
 };
 
-struct drm_gem_object *
-vc4_prime_import_sg_table(struct drm_device *dev,
-                         struct dma_buf_attachment *attach,
-                         struct sg_table *sgt)
-{
-       struct drm_gem_object *obj;
-
-       obj = drm_gem_cma_prime_import_sg_table(dev, attach, sgt);
-       if (IS_ERR(obj))
-               return obj;
-
-       return obj;
-}
-
 static int vc4_grab_bin_bo(struct vc4_dev *vc4, struct vc4_file *vc4file)
 {
        int ret;
index d9b3bba..556ad0f 100644 (file)
@@ -180,12 +180,7 @@ static struct drm_driver vc4_drm_driver = {
 
        .gem_create_object = vc4_create_object,
 
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-       .gem_prime_import_sg_table = vc4_prime_import_sg_table,
-       .gem_prime_mmap = drm_gem_prime_mmap,
-
-       .dumb_create = vc4_dumb_create,
+       DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(vc4_dumb_create),
 
        .ioctls = vc4_drm_ioctls,
        .num_ioctls = ARRAY_SIZE(vc4_drm_ioctls),
index 0d9c0ec..a750071 100644 (file)
@@ -801,9 +801,6 @@ int vc4_get_hang_state_ioctl(struct drm_device *dev, void *data,
                             struct drm_file *file_priv);
 int vc4_label_bo_ioctl(struct drm_device *dev, void *data,
                       struct drm_file *file_priv);
-struct drm_gem_object *vc4_prime_import_sg_table(struct drm_device *dev,
-                                                struct dma_buf_attachment *attach,
-                                                struct sg_table *sgt);
 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);