Re: [Spice-devel] [PATCH 4/5] drm/qxl: use drm_gem_object_funcs callbacks
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 > >> 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 >>> --- >>> 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 = _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 = _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-de...@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) signature.asc Description: OpenPGP digital signature ___ Spice-devel mailing list Spice-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/spice-devel
Re: [Spice-devel] [PATCH 4/5] drm/qxl: use drm_gem_object_funcs callbacks
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. > 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 > > --- > > 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 = _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 = _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) > ___ Spice-devel mailing list Spice-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/spice-devel
Re: [Spice-devel] [PATCH 4/5] drm/qxl: use drm_gem_object_funcs callbacks
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 > --- > 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 = _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 = _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) signature.asc Description: OpenPGP digital signature ___ Spice-devel mailing list Spice-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/spice-devel