Re: [PATCH 13/20] drm/gem: create drm_gem_dumb_destroy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Daniel Vetter [mailto:daniel.vetter@xxxxxxxx]
> Sent: Tuesday, July 16, 2013 4:12 PM
> To: DRI Development
> Cc: Daniel Vetter; Inki Dae; Laurent Pinchart; Intel Graphics Development;
> Ben Skeggs; Rob Clark; Alex Deucher
> Subject: [PATCH 13/20] drm/gem: create drm_gem_dumb_destroy
> 
> All the gem based kms drivers really want the same function to
> destroy a dumb framebuffer backing storage object.
> 
> So give it to them and roll it out in all drivers.
> 
> This still leaves the option open for kms drivers which don't use GEM
> for backing storage, but it does decently simplify matters for gem
> drivers.
> 
> Cc: Inki Dae <inki.dae@xxxxxxxxxxx>
> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> Cc: Intel Graphics Development <intel-gfx@xxxxxxxxxxxxxxxxxxxxx>
> Cc: Ben Skeggs <skeggsb@xxxxxxxxx>
> Cc: Rob Clark <robdclark@xxxxxxxxx>
> Cc: Alex Deucher <alexdeucher@xxxxxxxxx>
> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>

Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx>

Thanks,
Inki Dae

> ---
>  drivers/gpu/drm/ast/ast_drv.c             |  2 +-
>  drivers/gpu/drm/ast/ast_drv.h             |  3 ---
>  drivers/gpu/drm/ast/ast_main.c            |  7 -------
>  drivers/gpu/drm/cirrus/cirrus_drv.c       |  2 +-
>  drivers/gpu/drm/cirrus/cirrus_drv.h       |  3 ---
>  drivers/gpu/drm/cirrus/cirrus_main.c      |  7 -------
>  drivers/gpu/drm/drm_gem.c                 | 14 ++++++++++++++
>  drivers/gpu/drm/drm_gem_cma_helper.c      | 10 ----------
>  drivers/gpu/drm/exynos/exynos_drm_drv.c   |  2 +-
>  drivers/gpu/drm/exynos/exynos_drm_gem.c   | 20 --------------------
>  drivers/gpu/drm/exynos/exynos_drm_gem.h   |  9 ---------
>  drivers/gpu/drm/gma500/gem.c              | 17 -----------------
>  drivers/gpu/drm/gma500/psb_drv.c          |  2 +-
>  drivers/gpu/drm/gma500/psb_drv.h          |  2 --
>  drivers/gpu/drm/i915/i915_drv.c           |  2 +-
>  drivers/gpu/drm/i915/i915_drv.h           |  2 --
>  drivers/gpu/drm/i915/i915_gem.c           |  7 -------
>  drivers/gpu/drm/mgag200/mgag200_drv.c     |  2 +-
>  drivers/gpu/drm/mgag200/mgag200_drv.h     |  3 ---
>  drivers/gpu/drm/mgag200/mgag200_main.c    |  7 -------
>  drivers/gpu/drm/nouveau/nouveau_display.c |  7 -------
>  drivers/gpu/drm/nouveau/nouveau_display.h |  2 --
>  drivers/gpu/drm/nouveau/nouveau_drm.c     |  2 +-
>  drivers/gpu/drm/omapdrm/omap_drv.c        |  2 +-
>  drivers/gpu/drm/omapdrm/omap_drv.h        |  2 --
>  drivers/gpu/drm/omapdrm/omap_gem.c        | 15 ---------------
>  drivers/gpu/drm/qxl/qxl_drv.c             |  2 +-
>  drivers/gpu/drm/qxl/qxl_drv.h             |  3 ---
>  drivers/gpu/drm/qxl/qxl_dumb.c            |  7 -------
>  drivers/gpu/drm/radeon/radeon.h           |  3 ---
>  drivers/gpu/drm/radeon/radeon_drv.c       |  5 +----
>  drivers/gpu/drm/radeon/radeon_gem.c       |  7 -------
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c     |  2 +-
>  drivers/gpu/drm/shmobile/shmob_drm_drv.c  |  2 +-
>  drivers/gpu/drm/tilcdc/tilcdc_drv.c       |  2 +-
>  drivers/gpu/drm/udl/udl_drv.c             |  2 +-
>  drivers/gpu/drm/udl/udl_drv.h             |  2 --
>  drivers/gpu/drm/udl/udl_gem.c             |  6 ------
>  drivers/gpu/host1x/drm/drm.c              |  2 +-
>  drivers/gpu/host1x/drm/gem.c              |  6 ------
>  drivers/gpu/host1x/drm/gem.h              |  2 --
>  drivers/staging/imx-drm/imx-drm-core.c    |  2 +-
>  include/drm/drmP.h                        |  3 +++
>  include/drm/drm_gem_cma_helper.h          |  8 --------
>  44 files changed, 33 insertions(+), 186 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ast/ast_drv.c b/drivers/gpu/drm/ast/ast_drv.c
> index df0d0a0..a144fb0 100644
> --- a/drivers/gpu/drm/ast/ast_drv.c
> +++ b/drivers/gpu/drm/ast/ast_drv.c
> @@ -216,7 +216,7 @@ static struct drm_driver driver = {
>  	.gem_free_object = ast_gem_free_object,
>  	.dumb_create = ast_dumb_create,
>  	.dumb_map_offset = ast_dumb_mmap_offset,
> -	.dumb_destroy = ast_dumb_destroy,
> +	.dumb_destroy = drm_gem_dumb_destroy,
> 
>  };
> 
> diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h
> index 622d4ae..796dbb2 100644
> --- a/drivers/gpu/drm/ast/ast_drv.h
> +++ b/drivers/gpu/drm/ast/ast_drv.h
> @@ -322,9 +322,6 @@ ast_bo(struct ttm_buffer_object *bo)
>  extern int ast_dumb_create(struct drm_file *file,
>  			   struct drm_device *dev,
>  			   struct drm_mode_create_dumb *args);
> -extern int ast_dumb_destroy(struct drm_file *file,
> -			    struct drm_device *dev,
> -			    uint32_t handle);
> 
>  extern int ast_gem_init_object(struct drm_gem_object *obj);
>  extern void ast_gem_free_object(struct drm_gem_object *obj);
> diff --git a/drivers/gpu/drm/ast/ast_main.c
> b/drivers/gpu/drm/ast/ast_main.c
> index f60fd7b..0ef4228 100644
> --- a/drivers/gpu/drm/ast/ast_main.c
> +++ b/drivers/gpu/drm/ast/ast_main.c
> @@ -449,13 +449,6 @@ int ast_dumb_create(struct drm_file *file,
>  	return 0;
>  }
> 
> -int ast_dumb_destroy(struct drm_file *file,
> -		     struct drm_device *dev,
> -		     uint32_t handle)
> -{
> -	return drm_gem_handle_delete(file, handle);
> -}
> -
>  int ast_gem_init_object(struct drm_gem_object *obj)
>  {
>  	BUG();
> diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c
> b/drivers/gpu/drm/cirrus/cirrus_drv.c
> index 8ecb601..d35d99c 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_drv.c
> +++ b/drivers/gpu/drm/cirrus/cirrus_drv.c
> @@ -102,7 +102,7 @@ static struct drm_driver driver = {
>  	.gem_free_object = cirrus_gem_free_object,
>  	.dumb_create = cirrus_dumb_create,
>  	.dumb_map_offset = cirrus_dumb_mmap_offset,
> -	.dumb_destroy = cirrus_dumb_destroy,
> +	.dumb_destroy = drm_gem_dumb_destroy,
>  };
> 
>  static struct pci_driver cirrus_pci_driver = {
> diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.h
> b/drivers/gpu/drm/cirrus/cirrus_drv.h
> index bae5560..9b0bb91 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_drv.h
> +++ b/drivers/gpu/drm/cirrus/cirrus_drv.h
> @@ -203,9 +203,6 @@ int cirrus_gem_create(struct drm_device *dev,
>  int cirrus_dumb_create(struct drm_file *file,
>  		    struct drm_device *dev,
>  		       struct drm_mode_create_dumb *args);
> -int cirrus_dumb_destroy(struct drm_file *file,
> -		     struct drm_device *dev,
> -			uint32_t handle);
> 
>  int cirrus_framebuffer_init(struct drm_device *dev,
>  			   struct cirrus_framebuffer *gfb,
> diff --git a/drivers/gpu/drm/cirrus/cirrus_main.c
> b/drivers/gpu/drm/cirrus/cirrus_main.c
> index 35cbae8..c1ed9e1 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_main.c
> +++ b/drivers/gpu/drm/cirrus/cirrus_main.c
> @@ -255,13 +255,6 @@ int cirrus_dumb_create(struct drm_file *file,
>  	return 0;
>  }
> 
> -int cirrus_dumb_destroy(struct drm_file *file,
> -		     struct drm_device *dev,
> -		     uint32_t handle)
> -{
> -	return drm_gem_handle_delete(file, handle);
> -}
> -
>  int cirrus_gem_init_object(struct drm_gem_object *obj)
>  {
>  	BUG();
> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> index 3b5305c..1609a3d 100644
> --- a/drivers/gpu/drm/drm_gem.c
> +++ b/drivers/gpu/drm/drm_gem.c
> @@ -303,6 +303,20 @@ drm_gem_handle_delete(struct drm_file *filp, u32
> handle)
>  EXPORT_SYMBOL(drm_gem_handle_delete);
> 
>  /**
> + * drm_gem_dumb_destroy - dumb fb callback helper for gem based drivers
> + *
> + * This implements the ->dumb_destroy kms driver callback for drivers
> which use
> + * gem to manage their backing storage.
> + */
> +int drm_gem_dumb_destroy(struct drm_file *file,
> +			 struct drm_device *dev,
> +			 uint32_t handle)
> +{
> +	return drm_gem_handle_delete(file, handle);
> +}
> +EXPORT_SYMBOL(drm_gem_dumb_destroy);
> +
> +/**
>   * Create a handle for this object. This adds a handle reference
>   * to the object, which includes a regular reference count. Callers
>   * will likely want to dereference the object afterwards.
> diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c
> b/drivers/gpu/drm/drm_gem_cma_helper.c
> index ece72a8..2e4840d 100644
> --- a/drivers/gpu/drm/drm_gem_cma_helper.c
> +++ b/drivers/gpu/drm/drm_gem_cma_helper.c
> @@ -286,16 +286,6 @@ int drm_gem_cma_mmap(struct file *filp, struct
> vm_area_struct *vma)
>  }
>  EXPORT_SYMBOL_GPL(drm_gem_cma_mmap);
> 
> -/*
> - * drm_gem_cma_dumb_destroy - (struct drm_driver)->dumb_destroy callback
> function
> - */
> -int drm_gem_cma_dumb_destroy(struct drm_file *file_priv,
> -		struct drm_device *drm, unsigned int handle)
> -{
> -	return drm_gem_handle_delete(file_priv, handle);
> -}
> -EXPORT_SYMBOL_GPL(drm_gem_cma_dumb_destroy);
> -
>  #ifdef CONFIG_DEBUG_FS
>  void drm_gem_cma_describe(struct drm_gem_cma_object *cma_obj, struct
> seq_file *m)
>  {
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> index ca2729a..21fc28a 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> @@ -271,7 +271,7 @@ static struct drm_driver exynos_drm_driver = {
>  	.gem_vm_ops		= &exynos_drm_gem_vm_ops,
>  	.dumb_create		= exynos_drm_gem_dumb_create,
>  	.dumb_map_offset	= exynos_drm_gem_dumb_map_offset,
> -	.dumb_destroy		= exynos_drm_gem_dumb_destroy,
> +	.dumb_destroy		= drm_gem_dumb_destroy,
>  	.prime_handle_to_fd	= drm_gem_prime_handle_to_fd,
>  	.prime_fd_to_handle	= drm_gem_prime_fd_to_handle,
>  	.gem_prime_export	= exynos_dmabuf_prime_export,
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c
> b/drivers/gpu/drm/exynos/exynos_drm_gem.c
> index 16963ca..2ecd945 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
> @@ -719,26 +719,6 @@ unlock:
>  	return ret;
>  }
> 
> -int exynos_drm_gem_dumb_destroy(struct drm_file *file_priv,
> -				struct drm_device *dev,
> -				unsigned int handle)
> -{
> -	int ret;
> -
> -	/*
> -	 * obj->refcount and obj->handle_count are decreased and
> -	 * if both them are 0 then exynos_drm_gem_free_object()
> -	 * would be called by callback to release resources.
> -	 */
> -	ret = drm_gem_handle_delete(file_priv, handle);
> -	if (ret < 0) {
> -		DRM_ERROR("failed to delete drm_gem_handle.\n");
> -		return ret;
> -	}
> -
> -	return 0;
> -}
> -
>  int exynos_drm_gem_fault(struct vm_area_struct *vma, struct vm_fault
*vmf)
>  {
>  	struct drm_gem_object *obj = vma->vm_private_data;
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.h
> b/drivers/gpu/drm/exynos/exynos_drm_gem.h
> index 468766b..09555af 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_gem.h
> +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.h
> @@ -151,15 +151,6 @@ int exynos_drm_gem_dumb_map_offset(struct drm_file
> *file_priv,
>  				   struct drm_device *dev, uint32_t handle,
>  				   uint64_t *offset);
> 
> -/*
> - * destroy memory region allocated.
> - *	- a gem handle and physical memory region pointed by a gem object
> - *	would be released by drm_gem_handle_delete().
> - */
> -int exynos_drm_gem_dumb_destroy(struct drm_file *file_priv,
> -				struct drm_device *dev,
> -				unsigned int handle);
> -
>  /* page fault handler and mmap fault address(virtual) to physical memory.
> */
>  int exynos_drm_gem_fault(struct vm_area_struct *vma, struct vm_fault
> *vmf);
> 
> diff --git a/drivers/gpu/drm/gma500/gem.c b/drivers/gpu/drm/gma500/gem.c
> index eefd6cc..5ac9741 100644
> --- a/drivers/gpu/drm/gma500/gem.c
> +++ b/drivers/gpu/drm/gma500/gem.c
> @@ -165,23 +165,6 @@ int psb_gem_dumb_create(struct drm_file *file, struct
> drm_device *dev,
>  }
> 
>  /**
> - *	psb_gem_dumb_destroy	-	destroy a dumb buffer
> - *	@file: client file
> - *	@dev: our DRM device
> - *	@handle: the object handle
> - *
> - *	Destroy a handle that was created via psb_gem_dumb_create, at least
> - *	we hope it was created that way. i915 seems to assume the caller
> - *	does the checking but that might be worth review ! FIXME
> - */
> -int psb_gem_dumb_destroy(struct drm_file *file, struct drm_device *dev,
> -			uint32_t handle)
> -{
> -	/* No special work needed, drop the reference and see what falls
> out */
> -	return drm_gem_handle_delete(file, handle);
> -}
> -
> -/**
>   *	psb_gem_fault		-	pagefault handler for GEM objects
>   *	@vma: the VMA of the GEM object
>   *	@vmf: fault detail
> diff --git a/drivers/gpu/drm/gma500/psb_drv.c
> b/drivers/gpu/drm/gma500/psb_drv.c
> index bddea58..ed06d5c 100644
> --- a/drivers/gpu/drm/gma500/psb_drv.c
> +++ b/drivers/gpu/drm/gma500/psb_drv.c
> @@ -652,7 +652,7 @@ static struct drm_driver driver = {
>  	.gem_vm_ops = &psb_gem_vm_ops,
>  	.dumb_create = psb_gem_dumb_create,
>  	.dumb_map_offset = psb_gem_dumb_map_gtt,
> -	.dumb_destroy = psb_gem_dumb_destroy,
> +	.dumb_destroy = drm_gem_dumb_destroy,
>  	.fops = &psb_gem_fops,
>  	.name = DRIVER_NAME,
>  	.desc = DRIVER_DESC,
> diff --git a/drivers/gpu/drm/gma500/psb_drv.h
> b/drivers/gpu/drm/gma500/psb_drv.h
> index 6053b8a..984cacf 100644
> --- a/drivers/gpu/drm/gma500/psb_drv.h
> +++ b/drivers/gpu/drm/gma500/psb_drv.h
> @@ -838,8 +838,6 @@ extern int psb_gem_get_aperture(struct drm_device
*dev,
> void *data,
>  			struct drm_file *file);
>  extern int psb_gem_dumb_create(struct drm_file *file, struct drm_device
> *dev,
>  			struct drm_mode_create_dumb *args);
> -extern int psb_gem_dumb_destroy(struct drm_file *file, struct drm_device
> *dev,
> -			uint32_t handle);
>  extern int psb_gem_dumb_map_gtt(struct drm_file *file, struct drm_device
> *dev,
>  			uint32_t handle, uint64_t *offset);
>  extern int psb_gem_fault(struct vm_area_struct *vma, struct vm_fault
> *vmf);
> diff --git a/drivers/gpu/drm/i915/i915_drv.c
> b/drivers/gpu/drm/i915/i915_drv.c
> index b07362f..cca12db 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -1163,7 +1163,7 @@ static struct drm_driver driver = {
> 
>  	.dumb_create = i915_gem_dumb_create,
>  	.dumb_map_offset = i915_gem_mmap_gtt,
> -	.dumb_destroy = i915_gem_dumb_destroy,
> +	.dumb_destroy = drm_gem_dumb_destroy,
>  	.ioctls = i915_ioctls,
>  	.fops = &i915_driver_fops,
>  	.name = DRIVER_NAME,
> diff --git a/drivers/gpu/drm/i915/i915_drv.h
> b/drivers/gpu/drm/i915/i915_drv.h
> index cef35d3..5cb3e4d 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1732,8 +1732,6 @@ int i915_gem_dumb_create(struct drm_file *file_priv,
>  			 struct drm_mode_create_dumb *args);
>  int i915_gem_mmap_gtt(struct drm_file *file_priv, struct drm_device *dev,
>  		      uint32_t handle, uint64_t *offset);
> -int i915_gem_dumb_destroy(struct drm_file *file_priv, struct drm_device
> *dev,
> -			  uint32_t handle);
>  /**
>   * Returns true if seq1 is later than seq2.
>   */
> diff --git a/drivers/gpu/drm/i915/i915_gem.c
> b/drivers/gpu/drm/i915/i915_gem.c
> index 46bf7e3..10b8c43 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -246,13 +246,6 @@ i915_gem_dumb_create(struct drm_file *file,
>  			       args->size, &args->handle);
>  }
> 
> -int i915_gem_dumb_destroy(struct drm_file *file,
> -			  struct drm_device *dev,
> -			  uint32_t handle)
> -{
> -	return drm_gem_handle_delete(file, handle);
> -}
> -
>  /**
>   * Creates a new mm object and returns a handle to it.
>   */
> diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c
> b/drivers/gpu/drm/mgag200/mgag200_drv.c
> index 122b571..bd91964 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_drv.c
> +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c
> @@ -104,7 +104,7 @@ static struct drm_driver driver = {
>  	.gem_free_object = mgag200_gem_free_object,
>  	.dumb_create = mgag200_dumb_create,
>  	.dumb_map_offset = mgag200_dumb_mmap_offset,
> -	.dumb_destroy = mgag200_dumb_destroy,
> +	.dumb_destroy = drm_gem_dumb_destroy,
>  };
> 
>  static struct pci_driver mgag200_pci_driver = {
> diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.h
> b/drivers/gpu/drm/mgag200/mgag200_drv.h
> index 12e2499..baaae19 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_drv.h
> +++ b/drivers/gpu/drm/mgag200/mgag200_drv.h
> @@ -264,9 +264,6 @@ int mgag200_gem_init_object(struct drm_gem_object
> *obj);
>  int mgag200_dumb_create(struct drm_file *file,
>  			struct drm_device *dev,
>  			struct drm_mode_create_dumb *args);
> -int mgag200_dumb_destroy(struct drm_file *file,
> -			 struct drm_device *dev,
> -			 uint32_t handle);
>  void mgag200_gem_free_object(struct drm_gem_object *obj);
>  int
>  mgag200_dumb_mmap_offset(struct drm_file *file,
> diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c
> b/drivers/gpu/drm/mgag200/mgag200_main.c
> index 9fa5685..8d46c22 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_main.c
> +++ b/drivers/gpu/drm/mgag200/mgag200_main.c
> @@ -310,13 +310,6 @@ int mgag200_dumb_create(struct drm_file *file,
>  	return 0;
>  }
> 
> -int mgag200_dumb_destroy(struct drm_file *file,
> -		     struct drm_device *dev,
> -		     uint32_t handle)
> -{
> -	return drm_gem_handle_delete(file, handle);
> -}
> -
>  int mgag200_gem_init_object(struct drm_gem_object *obj)
>  {
>  	BUG();
> diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c
> b/drivers/gpu/drm/nouveau/nouveau_display.c
> index 708b2d1..e6dfaaa 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_display.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_display.c
> @@ -681,13 +681,6 @@ nouveau_display_dumb_create(struct drm_file
> *file_priv, struct drm_device *dev,
>  }
> 
>  int
> -nouveau_display_dumb_destroy(struct drm_file *file_priv, struct
> drm_device *dev,
> -			     uint32_t handle)
> -{
> -	return drm_gem_handle_delete(file_priv, handle);
> -}
> -
> -int
>  nouveau_display_dumb_map_offset(struct drm_file *file_priv,
>  				struct drm_device *dev,
>  				uint32_t handle, uint64_t *poffset)
> diff --git a/drivers/gpu/drm/nouveau/nouveau_display.h
> b/drivers/gpu/drm/nouveau/nouveau_display.h
> index 1ea3e47..185e741 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_display.h
> +++ b/drivers/gpu/drm/nouveau/nouveau_display.h
> @@ -68,8 +68,6 @@ int  nouveau_display_dumb_create(struct drm_file *,
> struct drm_device *,
>  				 struct drm_mode_create_dumb *args);
>  int  nouveau_display_dumb_map_offset(struct drm_file *, struct drm_device
> *,
>  				     u32 handle, u64 *offset);
> -int  nouveau_display_dumb_destroy(struct drm_file *, struct drm_device *,
> -				  u32 handle);
> 
>  void nouveau_hdmi_mode_set(struct drm_encoder *, struct drm_display_mode
> *);
> 
> diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c
> b/drivers/gpu/drm/nouveau/nouveau_drm.c
> index 218a4b5..c683bae 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_drm.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
> @@ -715,7 +715,7 @@ driver = {
> 
>  	.dumb_create = nouveau_display_dumb_create,
>  	.dumb_map_offset = nouveau_display_dumb_map_offset,
> -	.dumb_destroy = nouveau_display_dumb_destroy,
> +	.dumb_destroy = drm_gem_dumb_destroy,
> 
>  	.name = DRIVER_NAME,
>  	.desc = DRIVER_DESC,
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c
> b/drivers/gpu/drm/omapdrm/omap_drv.c
> index 826586f..75886a3 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> @@ -618,7 +618,7 @@ static struct drm_driver omap_drm_driver = {
>  		.gem_vm_ops = &omap_gem_vm_ops,
>  		.dumb_create = omap_gem_dumb_create,
>  		.dumb_map_offset = omap_gem_dumb_map_offset,
> -		.dumb_destroy = omap_gem_dumb_destroy,
> +		.dumb_destroy = drm_gem_dumb_destroy,
>  		.ioctls = ioctls,
>  		.num_ioctls = DRM_OMAP_NUM_IOCTLS,
>  		.fops = &omapdriver_fops,
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h
> b/drivers/gpu/drm/omapdrm/omap_drv.h
> index 215a20d..fd13601 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.h
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.h
> @@ -224,8 +224,6 @@ int omap_gem_init_object(struct drm_gem_object *obj);
>  void *omap_gem_vaddr(struct drm_gem_object *obj);
>  int omap_gem_dumb_map_offset(struct drm_file *file, struct drm_device
> *dev,
>  		uint32_t handle, uint64_t *offset);
> -int omap_gem_dumb_destroy(struct drm_file *file, struct drm_device *dev,
> -		uint32_t handle);
>  int omap_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
>  		struct drm_mode_create_dumb *args);
>  int omap_gem_mmap(struct file *filp, struct vm_area_struct *vma);
> diff --git a/drivers/gpu/drm/omapdrm/omap_gem.c
> b/drivers/gpu/drm/omapdrm/omap_gem.c
> index ebbdf41..9c30aaa 100644
> --- a/drivers/gpu/drm/omapdrm/omap_gem.c
> +++ b/drivers/gpu/drm/omapdrm/omap_gem.c
> @@ -629,21 +629,6 @@ int omap_gem_dumb_create(struct drm_file *file,
> struct drm_device *dev,
>  }
> 
>  /**
> - * omap_gem_dumb_destroy	-	destroy a dumb buffer
> - * @file: client file
> - * @dev: our DRM device
> - * @handle: the object handle
> - *
> - * Destroy a handle that was created via omap_gem_dumb_create.
> - */
> -int omap_gem_dumb_destroy(struct drm_file *file, struct drm_device *dev,
> -		uint32_t handle)
> -{
> -	/* No special work needed, drop the reference and see what falls
> out */
> -	return drm_gem_handle_delete(file, handle);
> -}
> -
> -/**
>   * omap_gem_dumb_map	-	buffer mapping for dumb interface
>   * @file: our drm client file
>   * @dev: drm device
> diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c
> index df0b577..48f2dfd 100644
> --- a/drivers/gpu/drm/qxl/qxl_drv.c
> +++ b/drivers/gpu/drm/qxl/qxl_drv.c
> @@ -221,7 +221,7 @@ static struct drm_driver qxl_driver = {
> 
>  	.dumb_create = qxl_mode_dumb_create,
>  	.dumb_map_offset = qxl_mode_dumb_mmap,
> -	.dumb_destroy = qxl_mode_dumb_destroy,
> +	.dumb_destroy = drm_gem_dumb_destroy,
>  #if defined(CONFIG_DEBUG_FS)
>  	.debugfs_init = qxl_debugfs_init,
>  	.debugfs_cleanup = qxl_debugfs_takedown,
> diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
> index aacb791..57cb7a8 100644
> --- a/drivers/gpu/drm/qxl/qxl_drv.h
> +++ b/drivers/gpu/drm/qxl/qxl_drv.h
> @@ -418,9 +418,6 @@ int qxl_bo_kmap(struct qxl_bo *bo, void **ptr);
>  int qxl_mode_dumb_create(struct drm_file *file_priv,
>  			 struct drm_device *dev,
>  			 struct drm_mode_create_dumb *args);
> -int qxl_mode_dumb_destroy(struct drm_file *file_priv,
> -			  struct drm_device *dev,
> -			  uint32_t handle);
>  int qxl_mode_dumb_mmap(struct drm_file *filp,
>  		       struct drm_device *dev,
>  		       uint32_t handle, uint64_t *offset_p);
> diff --git a/drivers/gpu/drm/qxl/qxl_dumb.c
> b/drivers/gpu/drm/qxl/qxl_dumb.c
> index 847c4ee..d34bb41 100644
> --- a/drivers/gpu/drm/qxl/qxl_dumb.c
> +++ b/drivers/gpu/drm/qxl/qxl_dumb.c
> @@ -68,13 +68,6 @@ int qxl_mode_dumb_create(struct drm_file *file_priv,
>  	return 0;
>  }
> 
> -int qxl_mode_dumb_destroy(struct drm_file *file_priv,
> -			     struct drm_device *dev,
> -			     uint32_t handle)
> -{
> -	return drm_gem_handle_delete(file_priv, handle);
> -}
> -
>  int qxl_mode_dumb_mmap(struct drm_file *file_priv,
>  		       struct drm_device *dev,
>  		       uint32_t handle, uint64_t *offset_p)
> diff --git a/drivers/gpu/drm/radeon/radeon.h
> b/drivers/gpu/drm/radeon/radeon.h
> index 9b7025d..39e5be8 100644
> --- a/drivers/gpu/drm/radeon/radeon.h
> +++ b/drivers/gpu/drm/radeon/radeon.h
> @@ -490,9 +490,6 @@ int radeon_mode_dumb_create(struct drm_file
*file_priv,
>  int radeon_mode_dumb_mmap(struct drm_file *filp,
>  			  struct drm_device *dev,
>  			  uint32_t handle, uint64_t *offset_p);
> -int radeon_mode_dumb_destroy(struct drm_file *file_priv,
> -			     struct drm_device *dev,
> -			     uint32_t handle);
> 
>  /*
>   * Semaphores.
> diff --git a/drivers/gpu/drm/radeon/radeon_drv.c
> b/drivers/gpu/drm/radeon/radeon_drv.c
> index e5419b3..f01a218 100644
> --- a/drivers/gpu/drm/radeon/radeon_drv.c
> +++ b/drivers/gpu/drm/radeon/radeon_drv.c
> @@ -120,9 +120,6 @@ int radeon_mode_dumb_mmap(struct drm_file *filp,
>  int radeon_mode_dumb_create(struct drm_file *file_priv,
>  			    struct drm_device *dev,
>  			    struct drm_mode_create_dumb *args);
> -int radeon_mode_dumb_destroy(struct drm_file *file_priv,
> -			     struct drm_device *dev,
> -			     uint32_t handle);
>  struct sg_table *radeon_gem_prime_get_sg_table(struct drm_gem_object
> *obj);
>  struct drm_gem_object *radeon_gem_prime_import_sg_table(struct drm_device
> *dev,
>  							size_t size,
> @@ -420,7 +417,7 @@ static struct drm_driver kms_driver = {
>  	.dma_ioctl = radeon_dma_ioctl_kms,
>  	.dumb_create = radeon_mode_dumb_create,
>  	.dumb_map_offset = radeon_mode_dumb_mmap,
> -	.dumb_destroy = radeon_mode_dumb_destroy,
> +	.dumb_destroy = drm_gem_dumb_destroy,
>  	.fops = &radeon_driver_kms_fops,
> 
>  	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
> diff --git a/drivers/gpu/drm/radeon/radeon_gem.c
> b/drivers/gpu/drm/radeon/radeon_gem.c
> index aa79603..dce99c8 100644
> --- a/drivers/gpu/drm/radeon/radeon_gem.c
> +++ b/drivers/gpu/drm/radeon/radeon_gem.c
> @@ -570,13 +570,6 @@ int radeon_mode_dumb_create(struct drm_file
> *file_priv,
>  	return 0;
>  }
> 
> -int radeon_mode_dumb_destroy(struct drm_file *file_priv,
> -			     struct drm_device *dev,
> -			     uint32_t handle)
> -{
> -	return drm_gem_handle_delete(file_priv, handle);
> -}
> -
>  #if defined(CONFIG_DEBUG_FS)
>  static int radeon_debugfs_gem_info(struct seq_file *m, void *data)
>  {
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-
> du/rcar_du_drv.c
> index ff82877..3ebd419 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -253,7 +253,7 @@ static struct drm_driver rcar_du_driver = {
>  	.gem_prime_export	= drm_gem_cma_dmabuf_export,
>  	.dumb_create		= rcar_du_dumb_create,
>  	.dumb_map_offset	= drm_gem_cma_dumb_map_offset,
> -	.dumb_destroy		= drm_gem_cma_dumb_destroy,
> +	.dumb_destroy		= drm_gem_dumb_destroy,
>  	.fops			= &rcar_du_fops,
>  	.name			= "rcar-du",
>  	.desc			= "Renesas R-Car Display Unit",
> diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> index edc1018..7e1843f 100644
> --- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> +++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> @@ -280,7 +280,7 @@ static struct drm_driver shmob_drm_driver = {
>  	.gem_prime_export	= drm_gem_cma_dmabuf_export,
>  	.dumb_create		= drm_gem_cma_dumb_create,
>  	.dumb_map_offset	= drm_gem_cma_dumb_map_offset,
> -	.dumb_destroy		= drm_gem_cma_dumb_destroy,
> +	.dumb_destroy		= drm_gem_dumb_destroy,
>  	.fops			= &shmob_drm_fops,
>  	.name			= "shmob-drm",
>  	.desc			= "Renesas SH Mobile DRM",
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> index 40b71da..14801c2 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> @@ -519,7 +519,7 @@ static struct drm_driver tilcdc_driver = {
>  	.gem_vm_ops         = &drm_gem_cma_vm_ops,
>  	.dumb_create        = drm_gem_cma_dumb_create,
>  	.dumb_map_offset    = drm_gem_cma_dumb_map_offset,
> -	.dumb_destroy       = drm_gem_cma_dumb_destroy,
> +	.dumb_destroy       = drm_gem_dumb_destroy,
>  #ifdef CONFIG_DEBUG_FS
>  	.debugfs_init       = tilcdc_debugfs_init,
>  	.debugfs_cleanup    = tilcdc_debugfs_cleanup,
> diff --git a/drivers/gpu/drm/udl/udl_drv.c b/drivers/gpu/drm/udl/udl_drv.c
> index c0770db..bb0af58 100644
> --- a/drivers/gpu/drm/udl/udl_drv.c
> +++ b/drivers/gpu/drm/udl/udl_drv.c
> @@ -84,7 +84,7 @@ static struct drm_driver driver = {
> 
>  	.dumb_create = udl_dumb_create,
>  	.dumb_map_offset = udl_gem_mmap,
> -	.dumb_destroy = udl_dumb_destroy,
> +	.dumb_destroy = drm_gem_dumb_destroy,
>  	.fops = &udl_driver_fops,
> 
>  	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
> diff --git a/drivers/gpu/drm/udl/udl_drv.h b/drivers/gpu/drm/udl/udl_drv.h
> index cc6d90f..56aec94 100644
> --- a/drivers/gpu/drm/udl/udl_drv.h
> +++ b/drivers/gpu/drm/udl/udl_drv.h
> @@ -114,8 +114,6 @@ int udl_dumb_create(struct drm_file *file_priv,
>  		    struct drm_mode_create_dumb *args);
>  int udl_gem_mmap(struct drm_file *file_priv, struct drm_device *dev,
>  		 uint32_t handle, uint64_t *offset);
> -int udl_dumb_destroy(struct drm_file *file_priv, struct drm_device *dev,
> -		     uint32_t handle);
> 
>  int udl_gem_init_object(struct drm_gem_object *obj);
>  void udl_gem_free_object(struct drm_gem_object *gem_obj);
> diff --git a/drivers/gpu/drm/udl/udl_gem.c b/drivers/gpu/drm/udl/udl_gem.c
> index ef034fa..c82c84a 100644
> --- a/drivers/gpu/drm/udl/udl_gem.c
> +++ b/drivers/gpu/drm/udl/udl_gem.c
> @@ -66,12 +66,6 @@ int udl_dumb_create(struct drm_file *file,
>  			      args->size, &args->handle);
>  }
> 
> -int udl_dumb_destroy(struct drm_file *file, struct drm_device *dev,
> -		     uint32_t handle)
> -{
> -	return drm_gem_handle_delete(file, handle);
> -}
> -
>  int udl_drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
>  {
>  	int ret;
> diff --git a/drivers/gpu/host1x/drm/drm.c b/drivers/gpu/host1x/drm/drm.c
> index e184b00..87aa09b 100644
> --- a/drivers/gpu/host1x/drm/drm.c
> +++ b/drivers/gpu/host1x/drm/drm.c
> @@ -633,7 +633,7 @@ struct drm_driver tegra_drm_driver = {
>  	.gem_vm_ops = &tegra_bo_vm_ops,
>  	.dumb_create = tegra_bo_dumb_create,
>  	.dumb_map_offset = tegra_bo_dumb_map_offset,
> -	.dumb_destroy = tegra_bo_dumb_destroy,
> +	.dumb_destroy = drm_gem_dumb_destroy,
> 
>  	.ioctls = tegra_drm_ioctls,
>  	.num_ioctls = ARRAY_SIZE(tegra_drm_ioctls),
> diff --git a/drivers/gpu/host1x/drm/gem.c b/drivers/gpu/host1x/drm/gem.c
> index c5e9a9b..e4fbd78 100644
> --- a/drivers/gpu/host1x/drm/gem.c
> +++ b/drivers/gpu/host1x/drm/gem.c
> @@ -262,9 +262,3 @@ int tegra_drm_mmap(struct file *file, struct
> vm_area_struct *vma)
> 
>  	return ret;
>  }
> -
> -int tegra_bo_dumb_destroy(struct drm_file *file, struct drm_device *drm,
> -			  unsigned int handle)
> -{
> -	return drm_gem_handle_delete(file, handle);
> -}
> diff --git a/drivers/gpu/host1x/drm/gem.h b/drivers/gpu/host1x/drm/gem.h
> index 34de2b4..2e93b03 100644
> --- a/drivers/gpu/host1x/drm/gem.h
> +++ b/drivers/gpu/host1x/drm/gem.h
> @@ -49,8 +49,6 @@ int tegra_bo_dumb_create(struct drm_file *file, struct
> drm_device *drm,
>  			 struct drm_mode_create_dumb *args);
>  int tegra_bo_dumb_map_offset(struct drm_file *file, struct drm_device
> *drm,
>  			     uint32_t handle, uint64_t *offset);
> -int tegra_bo_dumb_destroy(struct drm_file *file, struct drm_device *drm,
> -			  unsigned int handle);
> 
>  int tegra_drm_mmap(struct file *file, struct vm_area_struct *vma);
> 
> diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-
> drm/imx-drm-core.c
> index 6455305..9b16b56 100644
> --- a/drivers/staging/imx-drm/imx-drm-core.c
> +++ b/drivers/staging/imx-drm/imx-drm-core.c
> @@ -800,7 +800,7 @@ static struct drm_driver imx_drm_driver = {
>  	.gem_vm_ops		= &drm_gem_cma_vm_ops,
>  	.dumb_create		= drm_gem_cma_dumb_create,
>  	.dumb_map_offset	= drm_gem_cma_dumb_map_offset,
> -	.dumb_destroy		= drm_gem_cma_dumb_destroy,
> +	.dumb_destroy		= drm_gem_dumb_destroy,
> 
>  	.get_vblank_counter	= drm_vblank_count,
>  	.enable_vblank		= imx_drm_enable_vblank,
> diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> index 1da1ca2..4d7ea3d 100644
> --- a/include/drm/drmP.h
> +++ b/include/drm/drmP.h
> @@ -1670,6 +1670,9 @@ int drm_gem_handle_create(struct drm_file
*file_priv,
>  			  u32 *handlep);
>  int drm_gem_handle_delete(struct drm_file *filp, u32 handle);
> 
> +int drm_gem_dumb_destroy(struct drm_file *file,
> +			 struct drm_device *dev,
> +			 uint32_t handle);
> 
>  void drm_gem_free_mmap_offset(struct drm_gem_object *obj);
>  int drm_gem_create_mmap_offset(struct drm_gem_object *obj);
> diff --git a/include/drm/drm_gem_cma_helper.h
> b/include/drm/drm_gem_cma_helper.h
> index c34f27f..89b4d7d 100644
> --- a/include/drm/drm_gem_cma_helper.h
> +++ b/include/drm/drm_gem_cma_helper.h
> @@ -30,14 +30,6 @@ int drm_gem_cma_dumb_map_offset(struct drm_file
> *file_priv,
>  /* set vm_flags and we can change the vm attribute to other one at here.
> */
>  int drm_gem_cma_mmap(struct file *filp, struct vm_area_struct *vma);
> 
> -/*
> - * destroy memory region allocated.
> - *	- a gem handle and physical memory region pointed by a gem object
> - *	would be released by drm_gem_handle_delete().
> - */
> -int drm_gem_cma_dumb_destroy(struct drm_file *file_priv,
> -		struct drm_device *drm, unsigned int handle);
> -
>  /* allocate physical memory. */
>  struct drm_gem_cma_object *drm_gem_cma_create(struct drm_device *drm,
>  		unsigned int size);
> --
> 1.8.3.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux