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

Thomas Zimmermann tzimmermann at suse.de
Tue Sep 3 06:52:27 UTC 2019


Hi

Am 03.09.19 um 08:24 schrieb Gerd Hoffmann:
> On Mon, Sep 02, 2019 at 04:34:49PM +0200, Thomas Zimmermann wrote:
>> This patch seems unrelated.
> 
> Well, patch 5/5 depends on it because it hooks the
> drm_gem_ttm_print_info helper into the new
> qxl_object_funcs added by this patch.

Acked-by: Thomas Zimmermann <tzimmermann at suse.de>


> 
>> 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)
>>
> 
> 
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 

-- 
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/20190903/e74d0094/attachment.sig>


More information about the dri-devel mailing list