Message ID | 20190902124126.7700-5-kraxel@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: add some ttm/vram info to debugfs | expand |
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@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; >
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 <kraxel@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) >
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@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@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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel >
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;
Switch qxl to use drm_gem_object_funcs callbacks instead of drm_driver callbacks. Signed-off-by: Gerd Hoffmann <kraxel@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(-)