search for: qxl_destroy_monitors_object

Displaying 11 results from an estimated 11 matches for "qxl_destroy_monitors_object".

2020 Sep 08
1
[PATCH 1/3] drm/qxl: use drmm_mode_config_init
...- drm_mode_config_init(&qdev->ddev); + ret = drmm_mode_config_init(&qdev->ddev); + if (ret) + return ret; ret = qxl_create_monitors_object(qdev); if (ret) @@ -1223,5 +1225,4 @@ int qxl_modeset_init(struct qxl_device *qdev) void qxl_modeset_fini(struct qxl_device *qdev) { qxl_destroy_monitors_object(qdev); - drm_mode_config_cleanup(&qdev->ddev); } -- 2.27.0
2020 Feb 10
1
[PATCH v2 2/2] drm/qxl: add drm_driver.release callback.
..._device_fini() call should be in qxl_pci_remove(), >> + * reodering qxl_modeset_fini() + qxl_device_fini() calls is >> + * non-trivial though. >> + */ >> + qxl_modeset_fini(qdev); > > So the drm_mode_config_cleanup call in here belongs in ->release, but the > qxl_destroy_monitors_object feels like should be perfectly fine in the > remove hook. You might need to sprinkle a few drm_dev_enter/exit around to > protect code paths thought. > > Aside from this lgtm, for the series > > Acked-by: Daniel Vetter <daniel.vetter at ffwll.ch> > > And up to you w...
2018 Oct 02
1
[PATCH] qxl: fix null-pointer crash during suspend
...v->mode_config.crtc_list, head) { > - const struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; > - if (crtc->enabled) > - (*crtc_funcs->disable)(crtc); > - } > + ret = drm_mode_config_helper_suspend(dev); > + if (ret) > + return ret; > > qxl_destroy_monitors_object(qdev); > qxl_surf_evict(qdev); > @@ -175,14 +166,7 @@ static int qxl_drm_resume(struct drm_device *dev, bool thaw) > } > > qxl_create_monitors_object(qdev); > - drm_helper_resume_force_mode(dev); > - > - console_lock(); > - qxl_fbdev_set_suspend(qdev, 0); > - c...
2020 Feb 10
2
[PATCH v2 2/2] drm/qxl: add drm_driver.release callback.
Move final cleanups to qxl_drm_release() callback. Add drm_atomic_helper_shutdown() call to qxl_pci_remove(). Signed-off-by: Gerd Hoffmann <kraxel at redhat.com> --- drivers/gpu/drm/qxl/qxl_drv.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c index 1d601f57a6ba..4fda3f9b29f4
2020 Feb 10
2
[PATCH v2 2/2] drm/qxl: add drm_driver.release callback.
Move final cleanups to qxl_drm_release() callback. Add drm_atomic_helper_shutdown() call to qxl_pci_remove(). Signed-off-by: Gerd Hoffmann <kraxel at redhat.com> --- drivers/gpu/drm/qxl/qxl_drv.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c index 1d601f57a6ba..4fda3f9b29f4
2018 Dec 12
0
[PATCH v2 17/18] drm/qxl: use generic fbdev emulation
..._config_reset(&qdev->ddev); - - /* primary surface must be created by this point, to allow - * issuing command queue commands and having them read by - * spice server. */ - qxl_fbdev_init(qdev); return 0; } void qxl_modeset_fini(struct qxl_device *qdev) { - qxl_fbdev_fini(qdev); - qxl_destroy_monitors_object(qdev); drm_mode_config_cleanup(&qdev->ddev); } diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c index 13c8a662f9..3fce7d16df 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.c +++ b/drivers/gpu/drm/qxl/qxl_drv.c @@ -93,6 +93,8 @@ qxl_pci_probe(struct pci_dev *pdev, const...
2019 Nov 08
0
[PATCH AUTOSEL 4.19 085/205] qxl: fix null-pointer crash during suspend
...uffers */ - list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { - const struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; - if (crtc->enabled) - (*crtc_funcs->disable)(crtc); - } + ret = drm_mode_config_helper_suspend(dev); + if (ret) + return ret; qxl_destroy_monitors_object(qdev); qxl_surf_evict(qdev); @@ -175,14 +166,7 @@ static int qxl_drm_resume(struct drm_device *dev, bool thaw) } qxl_create_monitors_object(qdev); - drm_helper_resume_force_mode(dev); - - console_lock(); - qxl_fbdev_set_suspend(qdev, 0); - console_unlock(); - - drm_kms_helper_poll_enable(de...
2020 Feb 10
0
[PATCH v2 2/2] drm/qxl: add drm_driver.release callback.
...+ > + /* > + * TODO: qxl_device_fini() call should be in qxl_pci_remove(), > + * reodering qxl_modeset_fini() + qxl_device_fini() calls is > + * non-trivial though. > + */ > + qxl_modeset_fini(qdev); So the drm_mode_config_cleanup call in here belongs in ->release, but the qxl_destroy_monitors_object feels like should be perfectly fine in the remove hook. You might need to sprinkle a few drm_dev_enter/exit around to protect code paths thought. Aside from this lgtm, for the series Acked-by: Daniel Vetter <daniel.vetter at ffwll.ch> And up to you whether you want to fix this or not reall...
2020 Sep 08
0
[PATCH 2/3] drm/qxl: release shadow on shutdown
...++ b/drivers/gpu/drm/qxl/qxl_display.c @@ -1224,5 +1224,9 @@ int qxl_modeset_init(struct qxl_device *qdev) void qxl_modeset_fini(struct qxl_device *qdev) { + if (qdev->dumb_shadow_bo) { + drm_gem_object_put(&qdev->dumb_shadow_bo->tbo.base); + qdev->dumb_shadow_bo = NULL; + } qxl_destroy_monitors_object(qdev); } -- 2.27.0
2020 Sep 29
0
[PATCH v2 2/4] drm/qxl: release shadow on shutdown
...++ b/drivers/gpu/drm/qxl/qxl_display.c @@ -1220,5 +1220,9 @@ int qxl_modeset_init(struct qxl_device *qdev) void qxl_modeset_fini(struct qxl_device *qdev) { + if (qdev->dumb_shadow_bo) { + drm_gem_object_put(&qdev->dumb_shadow_bo->tbo.base); + qdev->dumb_shadow_bo = NULL; + } qxl_destroy_monitors_object(qdev); } -- 2.27.0
2020 Sep 29
0
[PATCH v2 1/4] drm/qxl: use drmm_mode_config_init
...- drm_mode_config_init(&qdev->ddev); + ret = drmm_mode_config_init(&qdev->ddev); + if (ret) + return ret; ret = qxl_create_monitors_object(qdev); if (ret) @@ -1219,5 +1221,4 @@ int qxl_modeset_init(struct qxl_device *qdev) void qxl_modeset_fini(struct qxl_device *qdev) { qxl_destroy_monitors_object(qdev); - drm_mode_config_cleanup(&qdev->ddev); } -- 2.27.0