diff mbox series

[6/8] drm/vram: switch vram helper to &drm_gem_object_funcs.mmap()

Message ID 20190913122908.784-7-kraxel@redhat.com (mailing list archive)
State New, archived
Headers show
Series drm: rework mmap() workflow | expand

Commit Message

Gerd Hoffmann Sept. 13, 2019, 12:29 p.m. UTC
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>
---
 include/drm/drm_gem_vram_helper.h     |  9 +------
 drivers/gpu/drm/drm_gem_vram_helper.c | 34 +--------------------------
 2 files changed, 2 insertions(+), 41 deletions(-)

Comments

Thomas Zimmermann Sept. 13, 2019, 1:10 p.m. UTC | #1
Hi

Am 13.09.19 um 14:29 schrieb Gerd Hoffmann:
> 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>

> ---
>  include/drm/drm_gem_vram_helper.h     |  9 +------
>  drivers/gpu/drm/drm_gem_vram_helper.c | 34 +--------------------------
>  2 files changed, 2 insertions(+), 41 deletions(-)
> 
> diff --git a/include/drm/drm_gem_vram_helper.h b/include/drm/drm_gem_vram_helper.h
> index 9aaef4f8c327..9d5526650291 100644
> --- a/include/drm/drm_gem_vram_helper.h
> +++ b/include/drm/drm_gem_vram_helper.h
> @@ -180,13 +180,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
> @@ -200,7 +193,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 \
>  
> diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c
> index 7bee80c6b6e8..e100b97ea6e3 100644
> --- a/drivers/gpu/drm/drm_gem_vram_helper.c
> +++ b/drivers/gpu/drm/drm_gem_vram_helper.c
> @@ -681,6 +681,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,
>  };
>  
> @@ -915,12 +916,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
>   */
> @@ -976,30 +971,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);
>
diff mbox series

Patch

diff --git a/include/drm/drm_gem_vram_helper.h b/include/drm/drm_gem_vram_helper.h
index 9aaef4f8c327..9d5526650291 100644
--- a/include/drm/drm_gem_vram_helper.h
+++ b/include/drm/drm_gem_vram_helper.h
@@ -180,13 +180,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
@@ -200,7 +193,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 \
 
diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c
index 7bee80c6b6e8..e100b97ea6e3 100644
--- a/drivers/gpu/drm/drm_gem_vram_helper.c
+++ b/drivers/gpu/drm/drm_gem_vram_helper.c
@@ -681,6 +681,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,
 };
 
@@ -915,12 +916,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
  */
@@ -976,30 +971,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);