OSDN Git Service

drm/vram: switch vram helper to &drm_gem_object_funcs.mmap()
authorGerd Hoffmann <kraxel@redhat.com>
Wed, 16 Oct 2019 11:52:01 +0000 (13:52 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Thu, 17 Oct 2019 11:59:16 +0000 (13:59 +0200)
Wire up the new drm_gem_ttm_mmap() helper function,
use generic drm_gem_mmap for &fops.mmap and
delete dead drm_vram_mm_file_operations_mmap().

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20191016115203.20095-10-kraxel@redhat.com
drivers/gpu/drm/drm_gem_vram_helper.c
include/drm/drm_gem_vram_helper.h

index dc79429..ec868bf 100644 (file)
@@ -737,6 +737,7 @@ static const struct drm_gem_object_funcs drm_gem_vram_object_funcs = {
        .unpin  = drm_gem_vram_object_unpin,
        .vmap   = drm_gem_vram_object_vmap,
        .vunmap = drm_gem_vram_object_vunmap,
+       .mmap   = drm_gem_ttm_mmap,
        .print_info = drm_gem_ttm_print_info,
 };
 
@@ -971,12 +972,6 @@ static void drm_vram_mm_cleanup(struct drm_vram_mm *vmm)
        ttm_bo_device_release(&vmm->bdev);
 }
 
-static int drm_vram_mm_mmap(struct file *filp, struct vm_area_struct *vma,
-                           struct drm_vram_mm *vmm)
-{
-       return ttm_bo_mmap(filp, vma, &vmm->bdev);
-}
-
 /*
  * Helpers for integration with struct drm_device
  */
@@ -1032,30 +1027,3 @@ void drm_vram_helper_release_mm(struct drm_device *dev)
        dev->vram_mm = NULL;
 }
 EXPORT_SYMBOL(drm_vram_helper_release_mm);
-
-/*
- * Helpers for &struct file_operations
- */
-
-/**
- * drm_vram_mm_file_operations_mmap() - \
-       Implements &struct file_operations.mmap()
- * @filp:      the mapping's file structure
- * @vma:       the mapping's memory area
- *
- * Returns:
- * 0 on success, or
- * a negative error code otherwise.
- */
-int drm_vram_mm_file_operations_mmap(
-       struct file *filp, struct vm_area_struct *vma)
-{
-       struct drm_file *file_priv = filp->private_data;
-       struct drm_device *dev = file_priv->minor->dev;
-
-       if (WARN_ONCE(!dev->vram_mm, "VRAM MM not initialized"))
-               return -EINVAL;
-
-       return drm_vram_mm_mmap(filp, vma, dev->vram_mm);
-}
-EXPORT_SYMBOL(drm_vram_mm_file_operations_mmap);
index 354a9cd..5e48fda 100644 (file)
@@ -184,13 +184,6 @@ struct drm_vram_mm *drm_vram_helper_alloc_mm(
        struct drm_device *dev, uint64_t vram_base, size_t vram_size);
 void drm_vram_helper_release_mm(struct drm_device *dev);
 
-/*
- * Helpers for &struct file_operations
- */
-
-int drm_vram_mm_file_operations_mmap(
-       struct file *filp, struct vm_area_struct *vma);
-
 /**
  * define DRM_VRAM_MM_FILE_OPERATIONS - default callback functions for \
        &struct file_operations
@@ -204,7 +197,7 @@ int drm_vram_mm_file_operations_mmap(
        .poll           = drm_poll, \
        .unlocked_ioctl = drm_ioctl, \
        .compat_ioctl   = drm_compat_ioctl, \
-       .mmap           = drm_vram_mm_file_operations_mmap, \
+       .mmap           = drm_gem_mmap, \
        .open           = drm_open, \
        .release        = drm_release \