[PATCH 4/5] drm/qxl: use drm_gem_object_funcs callbacks

Thomas Zimmermann tzimmermann at suse.de
Mon Sep 2 14:34:49 UTC 2019


This patch seems unrelated.

Am 02.09.19 um 14:41 schrieb Gerd Hoffmann:
> Switch qxl to use drm_gem_object_funcs callbacks
> instead of drm_driver callbacks.
> 
> Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
> ---
>  drivers/gpu/drm/qxl/qxl_drv.c    |  8 --------
>  drivers/gpu/drm/qxl/qxl_object.c | 12 ++++++++++++
>  2 files changed, 12 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c
> index 2b726a51a302..996d428fa7e6 100644
> --- a/drivers/gpu/drm/qxl/qxl_drv.c
> +++ b/drivers/gpu/drm/qxl/qxl_drv.c
> @@ -258,16 +258,8 @@ static struct drm_driver qxl_driver = {
>  #endif
>  	.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
>  	.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
> -	.gem_prime_pin = qxl_gem_prime_pin,
> -	.gem_prime_unpin = qxl_gem_prime_unpin,
> -	.gem_prime_get_sg_table = qxl_gem_prime_get_sg_table,
>  	.gem_prime_import_sg_table = qxl_gem_prime_import_sg_table,
> -	.gem_prime_vmap = qxl_gem_prime_vmap,
> -	.gem_prime_vunmap = qxl_gem_prime_vunmap,
>  	.gem_prime_mmap = qxl_gem_prime_mmap,
> -	.gem_free_object_unlocked = qxl_gem_object_free,
> -	.gem_open_object = qxl_gem_object_open,
> -	.gem_close_object = qxl_gem_object_close,
>  	.fops = &qxl_fops,
>  	.ioctls = qxl_ioctls,
>  	.irq_handler = qxl_irq_handler,
> diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c
> index 548dfe6f3b26..29aab7b14513 100644
> --- a/drivers/gpu/drm/qxl/qxl_object.c
> +++ b/drivers/gpu/drm/qxl/qxl_object.c
> @@ -77,6 +77,17 @@ void qxl_ttm_placement_from_domain(struct qxl_bo *qbo, u32 domain, bool pinned)
>  	}
>  }
>  
> +static const struct drm_gem_object_funcs qxl_object_funcs = {
> +	.free = qxl_gem_object_free,
> +	.open = qxl_gem_object_open,
> +	.close = qxl_gem_object_close,
> +	.pin = qxl_gem_prime_pin,
> +	.unpin = qxl_gem_prime_unpin,
> +	.get_sg_table = qxl_gem_prime_get_sg_table,
> +	.vmap = qxl_gem_prime_vmap,
> +	.vunmap = qxl_gem_prime_vunmap,
> +};
> +
>  int qxl_bo_create(struct qxl_device *qdev,
>  		  unsigned long size, bool kernel, bool pinned, u32 domain,
>  		  struct qxl_surface *surf,
> @@ -100,6 +111,7 @@ int qxl_bo_create(struct qxl_device *qdev,
>  		kfree(bo);
>  		return r;
>  	}
> +	bo->tbo.base.funcs = &qxl_object_funcs;
>  	bo->type = domain;
>  	bo->pin_count = pinned ? 1 : 0;
>  	bo->surface_id = 0;
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG Nürnberg)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20190902/f97f7c68/attachment.sig>


More information about the dri-devel mailing list