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

From: Thomas Zimmermann
Date: Tue Sep 03 2019 - 02:52:35 EST


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@xxxxxxx>


>
>> 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@xxxxxxxxxx>
>>> ---
>>> 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@xxxxxxxxxxxxxxxxxxxxx
> 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)

Attachment: signature.asc
Description: OpenPGP digital signature