All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers
@ 2017-06-21  8:28 Daniel Vetter
  2017-06-21  8:28 ` [PATCH 01/13] drm/amd|radeon: Drop drm_vblank_cleanup Daniel Vetter
                   ` (14 more replies)
  0 siblings, 15 replies; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development

Hi all,

This is the resend of the driver patches which haven't seen and ack/r-b yet and
so aren't merged yet. I'd really like to get them all merged. Review/acks very
much appreciated.

Thanks, Daniel

Daniel Vetter (13):
  drm/amd|radeon: Drop drm_vblank_cleanup
  drm/hibmc: Drop drm_vblank_cleanup
  drm/kirin: Drop drm_vblank_cleanup
  drm/i915: Drop drm_vblank_cleanup
  drm/mtk: Drop drm_vblank_cleanup
  drm/mxsfb: Drop drm_vblank_cleanup
  drm/nouveau: Drop drm_vblank_cleanup
  drm/rockchip: Drop drm_vblank_cleanup
  drm/shmob: Drop drm_vblank_cleanup
  drm/udl: Drop drm_vblank_cleanup
  drm/vmwgfx: Drop drm_vblank_cleanup
  drm/zte: Drop drm_vblank_cleanup
  drm/vblank: Unexport drm_vblank_cleanup

 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c         |  1 -
 drivers/gpu/drm/drm_internal.h                  |  1 +
 drivers/gpu/drm/drm_vblank.c                    | 19 ++---------------
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c |  3 ++-
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c |  1 -
 drivers/gpu/drm/i915/i915_drv.c                 |  6 +-----
 drivers/gpu/drm/mediatek/mtk_drm_drv.c          |  1 -
 drivers/gpu/drm/mxsfb/mxsfb_drv.c               |  1 -
 drivers/gpu/drm/nouveau/nouveau_display.c       |  2 --
 drivers/gpu/drm/radeon/radeon_irq_kms.c         |  1 -
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c     |  2 --
 drivers/gpu/drm/shmobile/shmob_drm_drv.c        |  4 +---
 drivers/gpu/drm/udl/udl_main.c                  |  2 --
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c             |  9 +++------
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.h             |  2 --
 drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c             |  4 ----
 drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c            |  9 ---------
 drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c            | 27 +------------------------
 drivers/gpu/drm/zte/zx_drm_drv.c                |  2 --
 include/drm/drm_vblank.h                        |  1 -
 20 files changed, 11 insertions(+), 87 deletions(-)

-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 01/13] drm/amd|radeon: Drop drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-22 12:54   ` Alex Deucher
  2017-06-21  8:28 ` [PATCH 02/13] drm/hibmc: " Daniel Vetter
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development
  Cc: Alex Deucher, Daniel Vetter, Intel Graphics Development,
	Christian König, Daniel Vetter

Both drivers shut down all crtc beforehand already, which will shut up
any pending vblank (the only thing vblank_cleanup really does is
disable the disable timer). Hence we don't need this here and can
remove it.

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 1 -
 drivers/gpu/drm/radeon/radeon_irq_kms.c | 1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
index 62da6c5c6095..2480273c1dca 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
@@ -263,7 +263,6 @@ void amdgpu_irq_fini(struct amdgpu_device *adev)
 {
 	unsigned i, j;
 
-	drm_vblank_cleanup(adev->ddev);
 	if (adev->irq.installed) {
 		drm_irq_uninstall(adev->ddev);
 		adev->irq.installed = false;
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
index 7aacb44df201..fff0d11b0600 100644
--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
@@ -324,7 +324,6 @@ int radeon_irq_kms_init(struct radeon_device *rdev)
  */
 void radeon_irq_kms_fini(struct radeon_device *rdev)
 {
-	drm_vblank_cleanup(rdev->ddev);
 	if (rdev->irq.installed) {
 		drm_irq_uninstall(rdev->ddev);
 		rdev->irq.installed = false;
-- 
2.11.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 02/13] drm/hibmc: Drop drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
  2017-06-21  8:28 ` [PATCH 01/13] drm/amd|radeon: Drop drm_vblank_cleanup Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-21  8:28 ` [PATCH 03/13] drm/kirin: " Daniel Vetter
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Xinliang Liu,
	Xinwei Kong, Chen Feng, Rongrong Zou, Daniel Vetter

So this seems to be the first driver that does it the right way round,
so fix it up by calling drm_atomic_helper_shutdown instead. We need to
do that before the last kms user is gone (fbdev emulation), but before
we start shutting down hw stuff like interrupts.

Cc: Xinliang Liu <z.liuxinliang@hisilicon.com>
Cc: Rongrong Zou <zourongrong@gmail.com>
Cc: Xinwei Kong <kong.kongxinwei@hisilicon.com>
Cc: Chen Feng <puck.chen@hisilicon.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index 2ffdbf9801bd..4d018ca98581 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -276,11 +276,12 @@ static int hibmc_unload(struct drm_device *dev)
 
 	hibmc_fbdev_fini(priv);
 
+	drm_atomic_helper_shutdown(dev);
+
 	if (dev->irq_enabled)
 		drm_irq_uninstall(dev);
 	if (priv->msi_enabled)
 		pci_disable_msi(dev->pdev);
-	drm_vblank_cleanup(dev);
 
 	hibmc_kms_fini(priv);
 	hibmc_mm_fini(priv);
-- 
2.11.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 03/13] drm/kirin: Drop drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
  2017-06-21  8:28 ` [PATCH 01/13] drm/amd|radeon: Drop drm_vblank_cleanup Daniel Vetter
  2017-06-21  8:28 ` [PATCH 02/13] drm/hibmc: " Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-21  8:28 ` [PATCH 04/13] drm/i915: " Daniel Vetter
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Xinliang Liu,
	Xinwei Kong, Chen Feng, Rongrong Zou, Daniel Vetter

Again we probably want a drm_atomic_helper_shutdown somewhere, but
that's a bit more analysis.

Cc: Xinliang Liu <z.liuxinliang@hisilicon.com>
Cc: Rongrong Zou <zourongrong@gmail.com>
Cc: Xinwei Kong <kong.kongxinwei@hisilicon.com>
Cc: Chen Feng <puck.chen@hisilicon.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
index 9c903672f582..8065d6cb1d7f 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
@@ -41,7 +41,6 @@ static int kirin_drm_kms_cleanup(struct drm_device *dev)
 	}
 #endif
 	drm_kms_helper_poll_fini(dev);
-	drm_vblank_cleanup(dev);
 	dc_ops->cleanup(to_platform_device(dev->dev));
 	drm_mode_config_cleanup(dev);
 	devm_kfree(dev->dev, priv);
-- 
2.11.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 04/13] drm/i915: Drop drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
                   ` (2 preceding siblings ...)
  2017-06-21  8:28 ` [PATCH 03/13] drm/kirin: " Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-21  8:28 ` [PATCH 05/13] drm/mtk: " Daniel Vetter
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter

On the load error path we can't have pending vblank interrupts, and on
unload we already call drm_atomic_helper_shutdown beforehand! So all
good to nuke it.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index d1aa10c9cc5d..eb5e93932caa 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1321,7 +1321,7 @@ int i915_driver_load(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 	ret = i915_load_modeset_init(&dev_priv->drm);
 	if (ret < 0)
-		goto out_cleanup_vblank;
+		goto out_cleanup_hw;
 
 	i915_driver_register(dev_priv);
 
@@ -1338,8 +1338,6 @@ int i915_driver_load(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 	return 0;
 
-out_cleanup_vblank:
-	drm_vblank_cleanup(&dev_priv->drm);
 out_cleanup_hw:
 	i915_driver_cleanup_hw(dev_priv);
 out_cleanup_mmio:
@@ -1375,8 +1373,6 @@ void i915_driver_unload(struct drm_device *dev)
 
 	i915_driver_unregister(dev_priv);
 
-	drm_vblank_cleanup(dev);
-
 	intel_modeset_cleanup(dev);
 
 	/*
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 05/13] drm/mtk: Drop drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
                   ` (3 preceding siblings ...)
  2017-06-21  8:28 ` [PATCH 04/13] drm/i915: " Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-21  8:28 ` [PATCH 06/13] drm/mxsfb: " Daniel Vetter
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development
  Cc: CK Hu, Daniel Vetter, Intel Graphics Development, Philipp Zabel,
	Daniel Vetter

Seems entirely cargo-culted.

Cc: CK Hu <ck.hu@mediatek.com>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index f6c8ec4c7dbc..56f802d0a51c 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -266,7 +266,6 @@ static void mtk_drm_kms_deinit(struct drm_device *drm)
 {
 	drm_kms_helper_poll_fini(drm);
 
-	drm_vblank_cleanup(drm);
 	component_unbind_all(drm->dev, drm);
 	drm_mode_config_cleanup(drm);
 }
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 06/13] drm/mxsfb: Drop drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
                   ` (4 preceding siblings ...)
  2017-06-21  8:28 ` [PATCH 05/13] drm/mtk: " Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-22 10:48   ` Marek Vasut
  2017-06-21  8:28 ` [PATCH 07/13] drm/nouveau: " Daniel Vetter
                   ` (8 subsequent siblings)
  14 siblings, 1 reply; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development
  Cc: Marek Vasut, Daniel Vetter, Intel Graphics Development, Daniel Vetter

Almost right but still racy, it's called before the interrupts are
uninstalled. So let's just drop it.

Cc: Marek Vasut <marex@denx.de>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/mxsfb/mxsfb_drv.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
index d1b9c34c7c00..1853557fef46 100644
--- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
@@ -256,7 +256,6 @@ static void mxsfb_unload(struct drm_device *drm)
 
 	drm_kms_helper_poll_fini(drm);
 	drm_mode_config_cleanup(drm);
-	drm_vblank_cleanup(drm);
 
 	pm_runtime_get_sync(drm->dev);
 	drm_irq_uninstall(drm);
-- 
2.11.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 07/13] drm/nouveau: Drop drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
                   ` (5 preceding siblings ...)
  2017-06-21  8:28 ` [PATCH 06/13] drm/mxsfb: " Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-21  8:28 ` [PATCH 08/13] drm/rockchip: " Daniel Vetter
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Daniel Vetter, Intel Graphics Development,
	Ben Skeggs, nouveau

nouveau_display_vblank_fini is called in the load error path (where it
doesn't matter) and module unload (where vblanks have been shut down
correctly already through drm_vblank_off), we can drop it.

Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: nouveau@lists.freedesktop.org
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/nouveau/nouveau_display.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c
index 8d1df5678eaa..b9a109be989c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -159,8 +159,6 @@ nouveau_display_vblank_fini(struct drm_device *dev)
 {
 	struct drm_crtc *crtc;
 
-	drm_vblank_cleanup(dev);
-
 	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
 		struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc);
 		nvif_notify_fini(&nv_crtc->vblank);
-- 
2.11.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 08/13] drm/rockchip: Drop drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
                   ` (6 preceding siblings ...)
  2017-06-21  8:28 ` [PATCH 07/13] drm/nouveau: " Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-23 14:06   ` Sean Paul
  2017-06-21  8:28 ` [PATCH 09/13] drm/shmob: " Daniel Vetter
                   ` (6 subsequent siblings)
  14 siblings, 1 reply; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Daniel Vetter, Intel Graphics Development

Either not relevant (in the load error paths) or done better already
(in the unload code, by calling drm_atomic_helper_shutdown). Drop it.

Cc: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index c6b1b7f3a2a3..b9fbf4b1e8f0 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -177,7 +177,6 @@ static int rockchip_drm_bind(struct device *dev)
 	rockchip_drm_fbdev_fini(drm_dev);
 err_kms_helper_poll_fini:
 	drm_kms_helper_poll_fini(drm_dev);
-	drm_vblank_cleanup(drm_dev);
 err_unbind_all:
 	component_unbind_all(dev, drm_dev);
 err_mode_config_cleanup:
@@ -200,7 +199,6 @@ static void rockchip_drm_unbind(struct device *dev)
 	drm_kms_helper_poll_fini(drm_dev);
 
 	drm_atomic_helper_shutdown(drm_dev);
-	drm_vblank_cleanup(drm_dev);
 	component_unbind_all(dev, drm_dev);
 	drm_mode_config_cleanup(drm_dev);
 	rockchip_iommu_cleanup(drm_dev);
-- 
2.11.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 09/13] drm/shmob: Drop drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
                   ` (7 preceding siblings ...)
  2017-06-21  8:28 ` [PATCH 08/13] drm/rockchip: " Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-21  9:12   ` Laurent Pinchart
  2017-06-21  8:28 ` [PATCH 10/13] drm/udl: " Daniel Vetter
                   ` (5 subsequent siblings)
  14 siblings, 1 reply; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Laurent Pinchart,
	Daniel Vetter

It doesn't do anything in the driver load error paths that the drm
core doesn't also do.

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/shmobile/shmob_drm_drv.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
index 800d1d2c435d..c2ca07357aac 100644
--- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
+++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
@@ -277,7 +277,7 @@ static int shmob_drm_probe(struct platform_device *pdev)
 	ret = drm_irq_install(ddev, platform_get_irq(pdev, 0));
 	if (ret < 0) {
 		dev_err(&pdev->dev, "failed to install IRQ handler\n");
-		goto err_vblank_cleanup;
+		goto err_modeset_cleanup;
 	}
 
 	/*
@@ -292,8 +292,6 @@ static int shmob_drm_probe(struct platform_device *pdev)
 
 err_irq_uninstall:
 	drm_irq_uninstall(ddev);
-err_vblank_cleanup:
-	drm_vblank_cleanup(ddev);
 err_modeset_cleanup:
 	drm_kms_helper_poll_fini(ddev);
 	drm_mode_config_cleanup(ddev);
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 10/13] drm/udl: Drop drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
                   ` (8 preceding siblings ...)
  2017-06-21  8:28 ` [PATCH 09/13] drm/shmob: " Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-21  8:28 ` [PATCH 11/13] drm/vmwgfx: " Daniel Vetter
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Daniel Vetter, Intel Graphics Development, Dave Airlie

udl doesn't shut down the display, so stopping the vblank isn't going
to do much good either. Just drop it.

Cc: Dave Airlie <airlied@redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/udl/udl_main.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c
index a9d93b871a15..0328b2c7b210 100644
--- a/drivers/gpu/drm/udl/udl_main.c
+++ b/drivers/gpu/drm/udl/udl_main.c
@@ -371,8 +371,6 @@ void udl_driver_unload(struct drm_device *dev)
 {
 	struct udl_device *udl = dev->dev_private;
 
-	drm_vblank_cleanup(dev);
-
 	if (udl->urbs.count)
 		udl_free_urb_list(dev);
 
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 11/13] drm/vmwgfx: Drop drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
                   ` (9 preceding siblings ...)
  2017-06-21  8:28 ` [PATCH 10/13] drm/udl: " Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-23 14:10   ` Sean Paul
  2017-06-21  8:28 ` [PATCH 12/13] drm/zte: " Daniel Vetter
                   ` (3 subsequent siblings)
  14 siblings, 1 reply; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Daniel Vetter, Intel Graphics Development,
	Thomas Hellstrom

Again stopping the vblank before uninstalling the irq handler is kinda
the wrong way round, but the fb_off stuff should take care of
disabling the dsiplay at least in most cases. So drop the
drm_vblank_cleanup code since it's not really doing anything, it looks
all cargo-culted.

v2: Appease gcc better.

Cc: Sinclair Yeh <syeh@vmware.com>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c  |  9 +++------
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.h  |  2 --
 drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c  |  4 ----
 drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c |  9 ---------
 drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 27 +--------------------------
 5 files changed, 4 insertions(+), 47 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
index 3d94ea67a825..a93c0bb73452 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
@@ -1658,7 +1658,7 @@ int vmw_kms_init(struct vmw_private *dev_priv)
 
 int vmw_kms_close(struct vmw_private *dev_priv)
 {
-	int ret;
+	int ret = 0;
 
 	/*
 	 * Docs says we should take the lock before calling this function
@@ -1666,11 +1666,8 @@ int vmw_kms_close(struct vmw_private *dev_priv)
 	 * drm_encoder_cleanup which takes the lock we deadlock.
 	 */
 	drm_mode_config_cleanup(dev_priv->dev);
-	if (dev_priv->active_display_unit == vmw_du_screen_object)
-		ret = vmw_kms_sou_close_display(dev_priv);
-	else if (dev_priv->active_display_unit == vmw_du_screen_target)
-		ret = vmw_kms_stdu_close_display(dev_priv);
-	else
+	if (dev_priv->active_display_unit != vmw_du_screen_object &&
+	    dev_priv->active_display_unit != vmw_du_screen_target)
 		ret = vmw_kms_ldu_close_display(dev_priv);
 
 	return ret;
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
index 5f8d678ae675..ff9c8389ff21 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
@@ -390,7 +390,6 @@ int vmw_kms_update_proxy(struct vmw_resource *res,
  * Screen Objects display functions - vmwgfx_scrn.c
  */
 int vmw_kms_sou_init_display(struct vmw_private *dev_priv);
-int vmw_kms_sou_close_display(struct vmw_private *dev_priv);
 int vmw_kms_sou_do_surface_dirty(struct vmw_private *dev_priv,
 				 struct vmw_framebuffer *framebuffer,
 				 struct drm_clip_rect *clips,
@@ -418,7 +417,6 @@ int vmw_kms_sou_readback(struct vmw_private *dev_priv,
  * Screen Target Display Unit functions - vmwgfx_stdu.c
  */
 int vmw_kms_stdu_init_display(struct vmw_private *dev_priv);
-int vmw_kms_stdu_close_display(struct vmw_private *dev_priv);
 int vmw_kms_stdu_surface_dirty(struct vmw_private *dev_priv,
 			       struct vmw_framebuffer *framebuffer,
 			       struct drm_clip_rect *clips,
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
index d3987bcf53f8..449ed4fba0f2 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
@@ -582,13 +582,9 @@ int vmw_kms_ldu_init_display(struct vmw_private *dev_priv)
 
 int vmw_kms_ldu_close_display(struct vmw_private *dev_priv)
 {
-	struct drm_device *dev = dev_priv->dev;
-
 	if (!dev_priv->ldu_priv)
 		return -ENOSYS;
 
-	drm_vblank_cleanup(dev);
-
 	BUG_ON(!list_empty(&dev_priv->ldu_priv->active));
 
 	kfree(dev_priv->ldu_priv);
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
index 8d7dc9def7c2..3b917c9b0c21 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
@@ -746,15 +746,6 @@ int vmw_kms_sou_init_display(struct vmw_private *dev_priv)
 	return 0;
 }
 
-int vmw_kms_sou_close_display(struct vmw_private *dev_priv)
-{
-	struct drm_device *dev = dev_priv->dev;
-
-	drm_vblank_cleanup(dev);
-
-	return 0;
-}
-
 static int do_dmabuf_define_gmrfb(struct vmw_private *dev_priv,
 				  struct vmw_framebuffer *framebuffer)
 {
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
index 50be1f034f9e..6aecba6cd5e2 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
@@ -1651,36 +1651,11 @@ int vmw_kms_stdu_init_display(struct vmw_private *dev_priv)
 
 		if (unlikely(ret != 0)) {
 			DRM_ERROR("Failed to initialize STDU %d", i);
-			goto err_vblank_cleanup;
+			return ret;
 		}
 	}
 
 	DRM_INFO("Screen Target Display device initialized\n");
 
 	return 0;
-
-err_vblank_cleanup:
-	drm_vblank_cleanup(dev);
-	return ret;
-}
-
-
-
-/**
- * vmw_kms_stdu_close_display - Cleans up after vmw_kms_stdu_init_display
- *
- * @dev_priv: VMW DRM device
- *
- * Frees up any resources allocated by vmw_kms_stdu_init_display
- *
- * RETURNS:
- * 0 on success
- */
-int vmw_kms_stdu_close_display(struct vmw_private *dev_priv)
-{
-	struct drm_device *dev = dev_priv->dev;
-
-	drm_vblank_cleanup(dev);
-
-	return 0;
 }
-- 
2.11.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 12/13] drm/zte: Drop drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
                   ` (10 preceding siblings ...)
  2017-06-21  8:28 ` [PATCH 11/13] drm/vmwgfx: " Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-21 11:59   ` Shawn Guo
  2017-06-21  8:28 ` [PATCH 13/13] drm/vblank: Unexport drm_vblank_cleanup Daniel Vetter
                   ` (2 subsequent siblings)
  14 siblings, 1 reply; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Shawn Guo, Daniel Vetter

It again looks all cargo-culted for no good reasons.

Cc: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/zte/zx_drm_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c
index f46c855d274b..fe1aa5315e19 100644
--- a/drivers/gpu/drm/zte/zx_drm_drv.c
+++ b/drivers/gpu/drm/zte/zx_drm_drv.c
@@ -149,7 +149,6 @@ static int zx_drm_bind(struct device *dev)
 out_poll_fini:
 	drm_kms_helper_poll_fini(drm);
 	drm_mode_config_cleanup(drm);
-	drm_vblank_cleanup(drm);
 out_unbind:
 	component_unbind_all(dev, drm);
 out_unregister:
@@ -171,7 +170,6 @@ static void zx_drm_unbind(struct device *dev)
 	}
 	drm_kms_helper_poll_fini(drm);
 	drm_mode_config_cleanup(drm);
-	drm_vblank_cleanup(drm);
 	component_unbind_all(dev, drm);
 	dev_set_drvdata(dev, NULL);
 	drm->dev_private = NULL;
-- 
2.11.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 13/13] drm/vblank: Unexport drm_vblank_cleanup
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
                   ` (11 preceding siblings ...)
  2017-06-21  8:28 ` [PATCH 12/13] drm/zte: " Daniel Vetter
@ 2017-06-21  8:28 ` Daniel Vetter
  2017-06-22 12:56   ` Alex Deucher
  2017-06-21  8:52 ` ✗ Fi.CI.BAT: warning for RESEND: remove drm_vblank_cleanup from drivers Patchwork
  2017-06-23 14:58 ` [PATCH 00/13] " Sean Paul
  14 siblings, 1 reply; 26+ messages in thread
From: Daniel Vetter @ 2017-06-21  8:28 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Thierry Reding,
	Jerome Glisse, Daniel Vetter

There's no reason for drivers to call this, and all the ones I've
removed looked very fishy:
- Proper quiescenting of the vblank machinery should be done by
  calling drm_crtc_vblank_off(), which is best done by shutting down
  the entire display engine with drm_atomic_helper_shutdown.

- Releasing of allocated memory is done by the core already, it calls
  drm_vblank_cleanup as a fallback.

- drm_vblank_cleanup also has checks for drivers which forget to clean
  up vblank interrupts.

This essentially reverts

commit e77cef9c2d87db835ad9d70cde4a9b00b0ca2262
Author: Jerome Glisse <jglisse@redhat.com>
Date:   Thu Jan 7 15:39:13 2010 +0100

    drm: Avoid calling vblank function is vblank wasn't initialized

which was done to fix a bug in radeon code with msi interrupts:

commit 003e69f9862bcda89a75c27750efdbc17ac02945
Author: Jerome Glisse <jglisse@redhat.com>
Date:   Thu Jan 7 15:39:14 2010 +0100

    drm/radeon/kms: Don't try to enable IRQ if we have no handler installed

Afaict from digging around in old code, this was needed to avoid
blowing up in the ums fallback, and has stopped serving it's purpose
long ago - if irq init fails, the driver fails to load, and there's
really no way to blow up anymore.

Long story short, this was most likely a small ums compat/fallback
hack that became a thing of it's own and got cargo-cult duplicated all
over the drm codebase for essentially no gain at all.

v2: Mention that for drivers with a ->release callback cleanup is
handled by drm_dev_fini() (Thierry).

Cc: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/drm_internal.h |  1 +
 drivers/gpu/drm/drm_vblank.c   | 19 ++-----------------
 include/drm/drm_vblank.h       |  1 -
 3 files changed, 3 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h
index f89371e920e6..068b685608cf 100644
--- a/drivers/gpu/drm/drm_internal.h
+++ b/drivers/gpu/drm/drm_internal.h
@@ -57,6 +57,7 @@ int drm_gem_name_info(struct seq_file *m, void *data);
 /* drm_vblank.c */
 extern unsigned int drm_timestamp_monotonic;
 void drm_vblank_disable_and_save(struct drm_device *dev, unsigned int pipe);
+void drm_vblank_cleanup(struct drm_device *dev);
 
 /* IOCTLS */
 int drm_wait_vblank_ioctl(struct drm_device *dev, void *data,
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 7e3f59182571..05d043e9219f 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -394,19 +394,6 @@ static void vblank_disable_fn(unsigned long arg)
 	spin_unlock_irqrestore(&dev->vbl_lock, irqflags);
 }
 
-/**
- * drm_vblank_cleanup - cleanup vblank support
- * @dev: DRM device
- *
- * This function cleans up any resources allocated in drm_vblank_init(). It is
- * called by the DRM core when @dev is finalized.
- *
- * Drivers can call drm_vblank_cleanup() if they need to quiescent the vblank
- * interrupt in their unload code. But in general this should be handled by
- * disabling all active &drm_crtc through e.g. drm_atomic_helper_shutdown, which
- * should end up calling drm_crtc_vblank_off().
- *
- */
 void drm_vblank_cleanup(struct drm_device *dev)
 {
 	unsigned int pipe;
@@ -428,7 +415,6 @@ void drm_vblank_cleanup(struct drm_device *dev)
 
 	dev->num_crtcs = 0;
 }
-EXPORT_SYMBOL(drm_vblank_cleanup);
 
 /**
  * drm_vblank_init - initialize vblank support
@@ -436,9 +422,8 @@ EXPORT_SYMBOL(drm_vblank_cleanup);
  * @num_crtcs: number of CRTCs supported by @dev
  *
  * This function initializes vblank support for @num_crtcs display pipelines.
- * Drivers do not need to call drm_vblank_cleanup(), cleanup is already handled
- * by the DRM core, or through calling drm_dev_fini() for drivers with a
- * &drm_driver.release callback.
+ * Cleanup is handled by the DRM core, or through calling drm_dev_fini() for
+ * drivers with a &drm_driver.release callback.
  *
  * Returns:
  * Zero on success or a negative error code on failure.
diff --git a/include/drm/drm_vblank.h b/include/drm/drm_vblank.h
index 4ceef128582f..7fba9efe4951 100644
--- a/include/drm/drm_vblank.h
+++ b/include/drm/drm_vblank.h
@@ -168,7 +168,6 @@ void drm_crtc_wait_one_vblank(struct drm_crtc *crtc);
 void drm_crtc_vblank_off(struct drm_crtc *crtc);
 void drm_crtc_vblank_reset(struct drm_crtc *crtc);
 void drm_crtc_vblank_on(struct drm_crtc *crtc);
-void drm_vblank_cleanup(struct drm_device *dev);
 u32 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc);
 
 bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev,
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* ✗ Fi.CI.BAT: warning for RESEND: remove drm_vblank_cleanup from drivers
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
                   ` (12 preceding siblings ...)
  2017-06-21  8:28 ` [PATCH 13/13] drm/vblank: Unexport drm_vblank_cleanup Daniel Vetter
@ 2017-06-21  8:52 ` Patchwork
  2017-06-23 14:58 ` [PATCH 00/13] " Sean Paul
  14 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2017-06-21  8:52 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Series Details ==

Series: RESEND: remove drm_vblank_cleanup from drivers
URL   : https://patchwork.freedesktop.org/series/26118/
State : warning

== Summary ==

Series 26118v1 RESEND: remove drm_vblank_cleanup from drivers
https://patchwork.freedesktop.org/api/1.0/series/26118/revisions/1/mbox/

Test gem_exec_flush:
        Subgroup basic-batch-kernel-default-uc:
                fail       -> PASS       (fi-snb-2600) fdo#100007
Test gem_exec_suspend:
        Subgroup basic-s4-devices:
                pass       -> DMESG-WARN (fi-kbl-7560u) fdo#100125
Test gem_ringfill:
        Subgroup basic-default:
                pass       -> SKIP       (fi-bsw-n3050)
Test prime_self_import:
        Subgroup basic-llseek-bad:
                pass       -> DMESG-WARN (fi-skl-6700hq) fdo#101515 +1

fdo#100007 https://bugs.freedesktop.org/show_bug.cgi?id=100007
fdo#100125 https://bugs.freedesktop.org/show_bug.cgi?id=100125
fdo#101515 https://bugs.freedesktop.org/show_bug.cgi?id=101515

fi-bdw-5557u     total:278  pass:267  dwarn:0   dfail:0   fail:0   skip:11  time:441s
fi-bdw-gvtdvm    total:278  pass:256  dwarn:8   dfail:0   fail:0   skip:14  time:434s
fi-bsw-n3050     total:278  pass:240  dwarn:1   dfail:0   fail:0   skip:37  time:533s
fi-bxt-j4205     total:278  pass:259  dwarn:0   dfail:0   fail:0   skip:19  time:511s
fi-byt-j1900     total:278  pass:252  dwarn:2   dfail:0   fail:0   skip:24  time:485s
fi-byt-n2820     total:278  pass:248  dwarn:2   dfail:0   fail:0   skip:28  time:484s
fi-glk-2a        total:278  pass:259  dwarn:0   dfail:0   fail:0   skip:19  time:586s
fi-hsw-4770      total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16  time:433s
fi-hsw-4770r     total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16  time:411s
fi-ilk-650       total:278  pass:228  dwarn:0   dfail:0   fail:0   skip:50  time:415s
fi-ivb-3520m     total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18  time:495s
fi-ivb-3770      total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18  time:474s
fi-kbl-7500u     total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18  time:476s
fi-kbl-7560u     total:278  pass:267  dwarn:1   dfail:0   fail:0   skip:10  time:571s
fi-kbl-r         total:278  pass:259  dwarn:1   dfail:0   fail:0   skip:18  time:576s
fi-skl-6260u     total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10  time:468s
fi-skl-6700hq    total:278  pass:220  dwarn:3   dfail:0   fail:30  skip:24  time:340s
fi-skl-6700k     total:278  pass:256  dwarn:4   dfail:0   fail:0   skip:18  time:470s
fi-skl-6770hq    total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10  time:474s
fi-skl-gvtdvm    total:278  pass:265  dwarn:0   dfail:0   fail:0   skip:13  time:431s
fi-snb-2520m     total:278  pass:250  dwarn:0   dfail:0   fail:0   skip:28  time:536s
fi-snb-2600      total:278  pass:249  dwarn:0   dfail:0   fail:0   skip:29  time:410s

5d186f98ac57d530e6ecd718cdd239cd5ee46803 drm-tip: 2017y-06m-21d-07h-50m-34s UTC integration manifest
594efef drm/vblank: Unexport drm_vblank_cleanup
c5731ee8 drm/zte: Drop drm_vblank_cleanup
6bc7bd7 drm/vmwgfx: Drop drm_vblank_cleanup
7b88bbb drm/udl: Drop drm_vblank_cleanup
08eee24 drm/shmob: Drop drm_vblank_cleanup
ca887d7 drm/rockchip: Drop drm_vblank_cleanup
5579f50 drm/nouveau: Drop drm_vblank_cleanup
9f8432f drm/mxsfb: Drop drm_vblank_cleanup
0c7fa8d drm/mtk: Drop drm_vblank_cleanup
ef21ec4 drm/i915: Drop drm_vblank_cleanup
fbb9f8e drm/kirin: Drop drm_vblank_cleanup
c2b4518 drm/hibmc: Drop drm_vblank_cleanup
c02a28a drm/amd|radeon: Drop drm_vblank_cleanup

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_5006/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 09/13] drm/shmob: Drop drm_vblank_cleanup
  2017-06-21  8:28 ` [PATCH 09/13] drm/shmob: " Daniel Vetter
@ 2017-06-21  9:12   ` Laurent Pinchart
  2017-06-22  6:40     ` Daniel Vetter
  0 siblings, 1 reply; 26+ messages in thread
From: Laurent Pinchart @ 2017-06-21  9:12 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, Intel Graphics Development, DRI Development

Hi Daniel,

Thank you for the patch.

On Wednesday 21 Jun 2017 10:28:46 Daniel Vetter wrote:
> It doesn't do anything in the driver load error paths that the drm
> core doesn't also do.

If I understand the code correctly, this patch is fine because drm_dev_fini(), 
called ultimately from drm_dev_release(), calls drm_vblank_cleanup(). The 
commit message could be a bit more explicit. Apart from that,

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  drivers/gpu/drm/shmobile/shmob_drm_drv.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> b/drivers/gpu/drm/shmobile/shmob_drm_drv.c index 800d1d2c435d..c2ca07357aac
> 100644
> --- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> +++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> @@ -277,7 +277,7 @@ static int shmob_drm_probe(struct platform_device *pdev)
> ret = drm_irq_install(ddev, platform_get_irq(pdev, 0));
>  	if (ret < 0) {
>  		dev_err(&pdev->dev, "failed to install IRQ handler\n");
> -		goto err_vblank_cleanup;
> +		goto err_modeset_cleanup;
>  	}
> 
>  	/*
> @@ -292,8 +292,6 @@ static int shmob_drm_probe(struct platform_device *pdev)
> 
>  err_irq_uninstall:
>  	drm_irq_uninstall(ddev);
> -err_vblank_cleanup:
> -	drm_vblank_cleanup(ddev);
>  err_modeset_cleanup:
>  	drm_kms_helper_poll_fini(ddev);
>  	drm_mode_config_cleanup(ddev);

-- 
Regards,

Laurent Pinchart

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 12/13] drm/zte: Drop drm_vblank_cleanup
  2017-06-21  8:28 ` [PATCH 12/13] drm/zte: " Daniel Vetter
@ 2017-06-21 11:59   ` Shawn Guo
  0 siblings, 0 replies; 26+ messages in thread
From: Shawn Guo @ 2017-06-21 11:59 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, Intel Graphics Development, DRI Development

On Wed, Jun 21, 2017 at 10:28:49AM +0200, Daniel Vetter wrote:
> It again looks all cargo-culted for no good reasons.
> 
> Cc: Shawn Guo <shawnguo@kernel.org>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Acked-by: Shawn Guo <shawnguo@kernel.org>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 09/13] drm/shmob: Drop drm_vblank_cleanup
  2017-06-21  9:12   ` Laurent Pinchart
@ 2017-06-22  6:40     ` Daniel Vetter
  0 siblings, 0 replies; 26+ messages in thread
From: Daniel Vetter @ 2017-06-22  6:40 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Daniel Vetter, Intel Graphics Development, DRI Development,
	Daniel Vetter

On Wed, Jun 21, 2017 at 12:12:02PM +0300, Laurent Pinchart wrote:
> Hi Daniel,
> 
> Thank you for the patch.
> 
> On Wednesday 21 Jun 2017 10:28:46 Daniel Vetter wrote:
> > It doesn't do anything in the driver load error paths that the drm
> > core doesn't also do.
> 
> If I understand the code correctly, this patch is fine because drm_dev_fini(), 
> called ultimately from drm_dev_release(), calls drm_vblank_cleanup(). The 
> commit message could be a bit more explicit. Apart from that,

Added a small note and merged, but yeah after the 20th instance of the
same cargo-cult (this series here is just the leftovers) I got bored
typing longer commit messages. The kernel doc and core patches explain the
full story.
> 
> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Thanks, Daniel

> 
> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> >  drivers/gpu/drm/shmobile/shmob_drm_drv.c | 4 +---
> >  1 file changed, 1 insertion(+), 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> > b/drivers/gpu/drm/shmobile/shmob_drm_drv.c index 800d1d2c435d..c2ca07357aac
> > 100644
> > --- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> > +++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> > @@ -277,7 +277,7 @@ static int shmob_drm_probe(struct platform_device *pdev)
> > ret = drm_irq_install(ddev, platform_get_irq(pdev, 0));
> >  	if (ret < 0) {
> >  		dev_err(&pdev->dev, "failed to install IRQ handler\n");
> > -		goto err_vblank_cleanup;
> > +		goto err_modeset_cleanup;
> >  	}
> > 
> >  	/*
> > @@ -292,8 +292,6 @@ static int shmob_drm_probe(struct platform_device *pdev)
> > 
> >  err_irq_uninstall:
> >  	drm_irq_uninstall(ddev);
> > -err_vblank_cleanup:
> > -	drm_vblank_cleanup(ddev);
> >  err_modeset_cleanup:
> >  	drm_kms_helper_poll_fini(ddev);
> >  	drm_mode_config_cleanup(ddev);
> 
> -- 
> Regards,
> 
> Laurent Pinchart
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 06/13] drm/mxsfb: Drop drm_vblank_cleanup
  2017-06-21  8:28 ` [PATCH 06/13] drm/mxsfb: " Daniel Vetter
@ 2017-06-22 10:48   ` Marek Vasut
  0 siblings, 0 replies; 26+ messages in thread
From: Marek Vasut @ 2017-06-22 10:48 UTC (permalink / raw)
  To: Daniel Vetter, DRI Development; +Cc: Daniel Vetter, Intel Graphics Development

On 06/21/2017 10:28 AM, Daniel Vetter wrote:
> Almost right but still racy, it's called before the interrupts are
> uninstalled. So let's just drop it.
> 
> Cc: Marek Vasut <marex@denx.de>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Reviewed-by: Marek Vasut <marex@denx.de>

> ---
>  drivers/gpu/drm/mxsfb/mxsfb_drv.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> index d1b9c34c7c00..1853557fef46 100644
> --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> @@ -256,7 +256,6 @@ static void mxsfb_unload(struct drm_device *drm)
>  
>  	drm_kms_helper_poll_fini(drm);
>  	drm_mode_config_cleanup(drm);
> -	drm_vblank_cleanup(drm);
>  
>  	pm_runtime_get_sync(drm->dev);
>  	drm_irq_uninstall(drm);
> 


-- 
Best regards,
Marek Vasut
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 01/13] drm/amd|radeon: Drop drm_vblank_cleanup
  2017-06-21  8:28 ` [PATCH 01/13] drm/amd|radeon: Drop drm_vblank_cleanup Daniel Vetter
@ 2017-06-22 12:54   ` Alex Deucher
  2017-06-23  8:41     ` Daniel Vetter
  0 siblings, 1 reply; 26+ messages in thread
From: Alex Deucher @ 2017-06-22 12:54 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Alex Deucher, Daniel Vetter, Intel Graphics Development,
	Christian König, DRI Development

On Wed, Jun 21, 2017 at 4:28 AM, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> Both drivers shut down all crtc beforehand already, which will shut up
> any pending vblank (the only thing vblank_cleanup really does is
> disable the disable timer). Hence we don't need this here and can
> remove it.
>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: Christian König <christian.koenig@amd.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Acked-by: Alex Deucher <alexander.deucher@amd.com>

Do you want me to pick this up or are you trying to land the whole
series as one?

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 1 -
>  drivers/gpu/drm/radeon/radeon_irq_kms.c | 1 -
>  2 files changed, 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> index 62da6c5c6095..2480273c1dca 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> @@ -263,7 +263,6 @@ void amdgpu_irq_fini(struct amdgpu_device *adev)
>  {
>         unsigned i, j;
>
> -       drm_vblank_cleanup(adev->ddev);
>         if (adev->irq.installed) {
>                 drm_irq_uninstall(adev->ddev);
>                 adev->irq.installed = false;
> diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
> index 7aacb44df201..fff0d11b0600 100644
> --- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
> +++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
> @@ -324,7 +324,6 @@ int radeon_irq_kms_init(struct radeon_device *rdev)
>   */
>  void radeon_irq_kms_fini(struct radeon_device *rdev)
>  {
> -       drm_vblank_cleanup(rdev->ddev);
>         if (rdev->irq.installed) {
>                 drm_irq_uninstall(rdev->ddev);
>                 rdev->irq.installed = false;
> --
> 2.11.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 13/13] drm/vblank: Unexport drm_vblank_cleanup
  2017-06-21  8:28 ` [PATCH 13/13] drm/vblank: Unexport drm_vblank_cleanup Daniel Vetter
@ 2017-06-22 12:56   ` Alex Deucher
  0 siblings, 0 replies; 26+ messages in thread
From: Alex Deucher @ 2017-06-22 12:56 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Daniel Vetter, Intel Graphics Development, Thierry Reding,
	Jerome Glisse, DRI Development

On Wed, Jun 21, 2017 at 4:28 AM, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> There's no reason for drivers to call this, and all the ones I've
> removed looked very fishy:
> - Proper quiescenting of the vblank machinery should be done by
>   calling drm_crtc_vblank_off(), which is best done by shutting down
>   the entire display engine with drm_atomic_helper_shutdown.
>
> - Releasing of allocated memory is done by the core already, it calls
>   drm_vblank_cleanup as a fallback.
>
> - drm_vblank_cleanup also has checks for drivers which forget to clean
>   up vblank interrupts.
>
> This essentially reverts
>
> commit e77cef9c2d87db835ad9d70cde4a9b00b0ca2262
> Author: Jerome Glisse <jglisse@redhat.com>
> Date:   Thu Jan 7 15:39:13 2010 +0100
>
>     drm: Avoid calling vblank function is vblank wasn't initialized
>
> which was done to fix a bug in radeon code with msi interrupts:
>
> commit 003e69f9862bcda89a75c27750efdbc17ac02945
> Author: Jerome Glisse <jglisse@redhat.com>
> Date:   Thu Jan 7 15:39:14 2010 +0100
>
>     drm/radeon/kms: Don't try to enable IRQ if we have no handler installed
>
> Afaict from digging around in old code, this was needed to avoid
> blowing up in the ums fallback, and has stopped serving it's purpose
> long ago - if irq init fails, the driver fails to load, and there's
> really no way to blow up anymore.
>
> Long story short, this was most likely a small ums compat/fallback
> hack that became a thing of it's own and got cargo-cult duplicated all
> over the drm codebase for essentially no gain at all.
>
> v2: Mention that for drivers with a ->release callback cleanup is
> handled by drm_dev_fini() (Thierry).
>
> Cc: Thierry Reding <treding@nvidia.com>
> Acked-by: Thierry Reding <treding@nvidia.com>
> Cc: Jerome Glisse <jglisse@redhat.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Acked-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/drm_internal.h |  1 +
>  drivers/gpu/drm/drm_vblank.c   | 19 ++-----------------
>  include/drm/drm_vblank.h       |  1 -
>  3 files changed, 3 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h
> index f89371e920e6..068b685608cf 100644
> --- a/drivers/gpu/drm/drm_internal.h
> +++ b/drivers/gpu/drm/drm_internal.h
> @@ -57,6 +57,7 @@ int drm_gem_name_info(struct seq_file *m, void *data);
>  /* drm_vblank.c */
>  extern unsigned int drm_timestamp_monotonic;
>  void drm_vblank_disable_and_save(struct drm_device *dev, unsigned int pipe);
> +void drm_vblank_cleanup(struct drm_device *dev);
>
>  /* IOCTLS */
>  int drm_wait_vblank_ioctl(struct drm_device *dev, void *data,
> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> index 7e3f59182571..05d043e9219f 100644
> --- a/drivers/gpu/drm/drm_vblank.c
> +++ b/drivers/gpu/drm/drm_vblank.c
> @@ -394,19 +394,6 @@ static void vblank_disable_fn(unsigned long arg)
>         spin_unlock_irqrestore(&dev->vbl_lock, irqflags);
>  }
>
> -/**
> - * drm_vblank_cleanup - cleanup vblank support
> - * @dev: DRM device
> - *
> - * This function cleans up any resources allocated in drm_vblank_init(). It is
> - * called by the DRM core when @dev is finalized.
> - *
> - * Drivers can call drm_vblank_cleanup() if they need to quiescent the vblank
> - * interrupt in their unload code. But in general this should be handled by
> - * disabling all active &drm_crtc through e.g. drm_atomic_helper_shutdown, which
> - * should end up calling drm_crtc_vblank_off().
> - *
> - */
>  void drm_vblank_cleanup(struct drm_device *dev)
>  {
>         unsigned int pipe;
> @@ -428,7 +415,6 @@ void drm_vblank_cleanup(struct drm_device *dev)
>
>         dev->num_crtcs = 0;
>  }
> -EXPORT_SYMBOL(drm_vblank_cleanup);
>
>  /**
>   * drm_vblank_init - initialize vblank support
> @@ -436,9 +422,8 @@ EXPORT_SYMBOL(drm_vblank_cleanup);
>   * @num_crtcs: number of CRTCs supported by @dev
>   *
>   * This function initializes vblank support for @num_crtcs display pipelines.
> - * Drivers do not need to call drm_vblank_cleanup(), cleanup is already handled
> - * by the DRM core, or through calling drm_dev_fini() for drivers with a
> - * &drm_driver.release callback.
> + * Cleanup is handled by the DRM core, or through calling drm_dev_fini() for
> + * drivers with a &drm_driver.release callback.
>   *
>   * Returns:
>   * Zero on success or a negative error code on failure.
> diff --git a/include/drm/drm_vblank.h b/include/drm/drm_vblank.h
> index 4ceef128582f..7fba9efe4951 100644
> --- a/include/drm/drm_vblank.h
> +++ b/include/drm/drm_vblank.h
> @@ -168,7 +168,6 @@ void drm_crtc_wait_one_vblank(struct drm_crtc *crtc);
>  void drm_crtc_vblank_off(struct drm_crtc *crtc);
>  void drm_crtc_vblank_reset(struct drm_crtc *crtc);
>  void drm_crtc_vblank_on(struct drm_crtc *crtc);
> -void drm_vblank_cleanup(struct drm_device *dev);
>  u32 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc);
>
>  bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev,
> --
> 2.11.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 01/13] drm/amd|radeon: Drop drm_vblank_cleanup
  2017-06-22 12:54   ` Alex Deucher
@ 2017-06-23  8:41     ` Daniel Vetter
  0 siblings, 0 replies; 26+ messages in thread
From: Daniel Vetter @ 2017-06-23  8:41 UTC (permalink / raw)
  To: Alex Deucher
  Cc: Daniel Vetter, Intel Graphics Development, DRI Development,
	Alex Deucher, Daniel Vetter, Christian König

On Thu, Jun 22, 2017 at 08:54:51AM -0400, Alex Deucher wrote:
> On Wed, Jun 21, 2017 at 4:28 AM, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> > Both drivers shut down all crtc beforehand already, which will shut up
> > any pending vblank (the only thing vblank_cleanup really does is
> > disable the disable timer). Hence we don't need this here and can
> > remove it.
> >
> > Cc: Alex Deucher <alexander.deucher@amd.com>
> > Cc: Christian König <christian.koenig@amd.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> 
> Acked-by: Alex Deucher <alexander.deucher@amd.com>
> 
> Do you want me to pick this up or are you trying to land the whole
> series as one?

I'd like to get the final patch in soonish, so all going through drm-misc
would be less coordination.

Thanks for taking a look.
-Daniel

> 
> > ---
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 1 -
> >  drivers/gpu/drm/radeon/radeon_irq_kms.c | 1 -
> >  2 files changed, 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> > index 62da6c5c6095..2480273c1dca 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> > @@ -263,7 +263,6 @@ void amdgpu_irq_fini(struct amdgpu_device *adev)
> >  {
> >         unsigned i, j;
> >
> > -       drm_vblank_cleanup(adev->ddev);
> >         if (adev->irq.installed) {
> >                 drm_irq_uninstall(adev->ddev);
> >                 adev->irq.installed = false;
> > diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
> > index 7aacb44df201..fff0d11b0600 100644
> > --- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
> > +++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
> > @@ -324,7 +324,6 @@ int radeon_irq_kms_init(struct radeon_device *rdev)
> >   */
> >  void radeon_irq_kms_fini(struct radeon_device *rdev)
> >  {
> > -       drm_vblank_cleanup(rdev->ddev);
> >         if (rdev->irq.installed) {
> >                 drm_irq_uninstall(rdev->ddev);
> >                 rdev->irq.installed = false;
> > --
> > 2.11.0
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 08/13] drm/rockchip: Drop drm_vblank_cleanup
  2017-06-21  8:28 ` [PATCH 08/13] drm/rockchip: " Daniel Vetter
@ 2017-06-23 14:06   ` Sean Paul
  0 siblings, 0 replies; 26+ messages in thread
From: Sean Paul @ 2017-06-23 14:06 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, Intel Graphics Development, DRI Development

On Wed, Jun 21, 2017 at 10:28:45AM +0200, Daniel Vetter wrote:
> Either not relevant (in the load error paths) or done better already
> (in the unload code, by calling drm_atomic_helper_shutdown). Drop it.
> 
> Cc: Mark Yao <mark.yao@rock-chips.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Reviewed-by: Sean Paul <seanpaul@chromium.org>

> ---
>  drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> index c6b1b7f3a2a3..b9fbf4b1e8f0 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> @@ -177,7 +177,6 @@ static int rockchip_drm_bind(struct device *dev)
>  	rockchip_drm_fbdev_fini(drm_dev);
>  err_kms_helper_poll_fini:
>  	drm_kms_helper_poll_fini(drm_dev);
> -	drm_vblank_cleanup(drm_dev);
>  err_unbind_all:
>  	component_unbind_all(dev, drm_dev);
>  err_mode_config_cleanup:
> @@ -200,7 +199,6 @@ static void rockchip_drm_unbind(struct device *dev)
>  	drm_kms_helper_poll_fini(drm_dev);
>  
>  	drm_atomic_helper_shutdown(drm_dev);
> -	drm_vblank_cleanup(drm_dev);
>  	component_unbind_all(dev, drm_dev);
>  	drm_mode_config_cleanup(drm_dev);
>  	rockchip_iommu_cleanup(drm_dev);
> -- 
> 2.11.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Sean Paul, Software Engineer, Google / Chromium OS
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 11/13] drm/vmwgfx: Drop drm_vblank_cleanup
  2017-06-21  8:28 ` [PATCH 11/13] drm/vmwgfx: " Daniel Vetter
@ 2017-06-23 14:10   ` Sean Paul
  2017-06-26 12:22     ` Thomas Hellstrom
  0 siblings, 1 reply; 26+ messages in thread
From: Sean Paul @ 2017-06-23 14:10 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Daniel Vetter, Intel Graphics Development, Thomas Hellstrom,
	DRI Development

On Wed, Jun 21, 2017 at 10:28:48AM +0200, Daniel Vetter wrote:
> Again stopping the vblank before uninstalling the irq handler is kinda
> the wrong way round, but the fb_off stuff should take care of
> disabling the dsiplay at least in most cases. So drop the
> drm_vblank_cleanup code since it's not really doing anything, it looks
> all cargo-culted.
> 
> v2: Appease gcc better.
> 
> Cc: Sinclair Yeh <syeh@vmware.com>
> Cc: Thomas Hellstrom <thellstrom@vmware.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  drivers/gpu/drm/vmwgfx/vmwgfx_kms.c  |  9 +++------
>  drivers/gpu/drm/vmwgfx/vmwgfx_kms.h  |  2 --
>  drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c  |  4 ----
>  drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c |  9 ---------
>  drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 27 +--------------------------
>  5 files changed, 4 insertions(+), 47 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> index 3d94ea67a825..a93c0bb73452 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> @@ -1658,7 +1658,7 @@ int vmw_kms_init(struct vmw_private *dev_priv)
>  
>  int vmw_kms_close(struct vmw_private *dev_priv)
>  {
> -	int ret;
> +	int ret = 0;
>  
>  	/*
>  	 * Docs says we should take the lock before calling this function
> @@ -1666,11 +1666,8 @@ int vmw_kms_close(struct vmw_private *dev_priv)
>  	 * drm_encoder_cleanup which takes the lock we deadlock.
>  	 */
>  	drm_mode_config_cleanup(dev_priv->dev);
> -	if (dev_priv->active_display_unit == vmw_du_screen_object)
> -		ret = vmw_kms_sou_close_display(dev_priv);
> -	else if (dev_priv->active_display_unit == vmw_du_screen_target)
> -		ret = vmw_kms_stdu_close_display(dev_priv);
> -	else
> +	if (dev_priv->active_display_unit != vmw_du_screen_object &&
> +	    dev_priv->active_display_unit != vmw_du_screen_target)

I think this is equivalent to:

if (dev_priv->active_display_unit == vmw_du_legacy)

>  		ret = vmw_kms_ldu_close_display(dev_priv);
>  
>  	return ret;
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
> index 5f8d678ae675..ff9c8389ff21 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
> @@ -390,7 +390,6 @@ int vmw_kms_update_proxy(struct vmw_resource *res,
>   * Screen Objects display functions - vmwgfx_scrn.c
>   */
>  int vmw_kms_sou_init_display(struct vmw_private *dev_priv);
> -int vmw_kms_sou_close_display(struct vmw_private *dev_priv);
>  int vmw_kms_sou_do_surface_dirty(struct vmw_private *dev_priv,
>  				 struct vmw_framebuffer *framebuffer,
>  				 struct drm_clip_rect *clips,
> @@ -418,7 +417,6 @@ int vmw_kms_sou_readback(struct vmw_private *dev_priv,
>   * Screen Target Display Unit functions - vmwgfx_stdu.c
>   */
>  int vmw_kms_stdu_init_display(struct vmw_private *dev_priv);
> -int vmw_kms_stdu_close_display(struct vmw_private *dev_priv);
>  int vmw_kms_stdu_surface_dirty(struct vmw_private *dev_priv,
>  			       struct vmw_framebuffer *framebuffer,
>  			       struct drm_clip_rect *clips,
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
> index d3987bcf53f8..449ed4fba0f2 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
> @@ -582,13 +582,9 @@ int vmw_kms_ldu_init_display(struct vmw_private *dev_priv)
>  
>  int vmw_kms_ldu_close_display(struct vmw_private *dev_priv)
>  {
> -	struct drm_device *dev = dev_priv->dev;
> -
>  	if (!dev_priv->ldu_priv)
>  		return -ENOSYS;
>  
> -	drm_vblank_cleanup(dev);
> -
>  	BUG_ON(!list_empty(&dev_priv->ldu_priv->active));
>  
>  	kfree(dev_priv->ldu_priv);
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> index 8d7dc9def7c2..3b917c9b0c21 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> @@ -746,15 +746,6 @@ int vmw_kms_sou_init_display(struct vmw_private *dev_priv)
>  	return 0;
>  }
>  
> -int vmw_kms_sou_close_display(struct vmw_private *dev_priv)
> -{
> -	struct drm_device *dev = dev_priv->dev;
> -
> -	drm_vblank_cleanup(dev);
> -
> -	return 0;
> -}
> -
>  static int do_dmabuf_define_gmrfb(struct vmw_private *dev_priv,
>  				  struct vmw_framebuffer *framebuffer)
>  {
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
> index 50be1f034f9e..6aecba6cd5e2 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
> @@ -1651,36 +1651,11 @@ int vmw_kms_stdu_init_display(struct vmw_private *dev_priv)
>  
>  		if (unlikely(ret != 0)) {
>  			DRM_ERROR("Failed to initialize STDU %d", i);
> -			goto err_vblank_cleanup;
> +			return ret;
>  		}
>  	}
>  
>  	DRM_INFO("Screen Target Display device initialized\n");
>  
>  	return 0;
> -
> -err_vblank_cleanup:
> -	drm_vblank_cleanup(dev);
> -	return ret;
> -}
> -
> -
> -
> -/**
> - * vmw_kms_stdu_close_display - Cleans up after vmw_kms_stdu_init_display
> - *
> - * @dev_priv: VMW DRM device
> - *
> - * Frees up any resources allocated by vmw_kms_stdu_init_display
> - *
> - * RETURNS:
> - * 0 on success
> - */
> -int vmw_kms_stdu_close_display(struct vmw_private *dev_priv)
> -{
> -	struct drm_device *dev = dev_priv->dev;
> -
> -	drm_vblank_cleanup(dev);
> -
> -	return 0;
>  }
> -- 
> 2.11.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Sean Paul, Software Engineer, Google / Chromium OS
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers
  2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
                   ` (13 preceding siblings ...)
  2017-06-21  8:52 ` ✗ Fi.CI.BAT: warning for RESEND: remove drm_vblank_cleanup from drivers Patchwork
@ 2017-06-23 14:58 ` Sean Paul
  14 siblings, 0 replies; 26+ messages in thread
From: Sean Paul @ 2017-06-23 14:58 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Intel Graphics Development, DRI Development

On Wed, Jun 21, 2017 at 10:28:37AM +0200, Daniel Vetter wrote:
> Hi all,
> 
> This is the resend of the driver patches which haven't seen and ack/r-b yet and
> so aren't merged yet. I'd really like to get them all merged. Review/acks very
> much appreciated.
> 
> Thanks, Daniel
> 
> Daniel Vetter (13):
>   drm/amd|radeon: Drop drm_vblank_cleanup
>   drm/hibmc: Drop drm_vblank_cleanup
>   drm/kirin: Drop drm_vblank_cleanup
>   drm/i915: Drop drm_vblank_cleanup
>   drm/mtk: Drop drm_vblank_cleanup
>   drm/mxsfb: Drop drm_vblank_cleanup
>   drm/nouveau: Drop drm_vblank_cleanup
>   drm/rockchip: Drop drm_vblank_cleanup
>   drm/shmob: Drop drm_vblank_cleanup
>   drm/udl: Drop drm_vblank_cleanup
>   drm/vmwgfx: Drop drm_vblank_cleanup
>   drm/zte: Drop drm_vblank_cleanup
>   drm/vblank: Unexport drm_vblank_cleanup

For the whole set (with vmwgfx nit resolved):

Reviewed-by: Sean Paul <seanpaul@chromium.org>

> 
>  drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c         |  1 -
>  drivers/gpu/drm/drm_internal.h                  |  1 +
>  drivers/gpu/drm/drm_vblank.c                    | 19 ++---------------
>  drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c |  3 ++-
>  drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c |  1 -
>  drivers/gpu/drm/i915/i915_drv.c                 |  6 +-----
>  drivers/gpu/drm/mediatek/mtk_drm_drv.c          |  1 -
>  drivers/gpu/drm/mxsfb/mxsfb_drv.c               |  1 -
>  drivers/gpu/drm/nouveau/nouveau_display.c       |  2 --
>  drivers/gpu/drm/radeon/radeon_irq_kms.c         |  1 -
>  drivers/gpu/drm/rockchip/rockchip_drm_drv.c     |  2 --
>  drivers/gpu/drm/shmobile/shmob_drm_drv.c        |  4 +---
>  drivers/gpu/drm/udl/udl_main.c                  |  2 --
>  drivers/gpu/drm/vmwgfx/vmwgfx_kms.c             |  9 +++------
>  drivers/gpu/drm/vmwgfx/vmwgfx_kms.h             |  2 --
>  drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c             |  4 ----
>  drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c            |  9 ---------
>  drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c            | 27 +------------------------
>  drivers/gpu/drm/zte/zx_drm_drv.c                |  2 --
>  include/drm/drm_vblank.h                        |  1 -
>  20 files changed, 11 insertions(+), 87 deletions(-)
> 
> -- 
> 2.11.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Sean Paul, Software Engineer, Google / Chromium OS
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 11/13] drm/vmwgfx: Drop drm_vblank_cleanup
  2017-06-23 14:10   ` Sean Paul
@ 2017-06-26 12:22     ` Thomas Hellstrom
  0 siblings, 0 replies; 26+ messages in thread
From: Thomas Hellstrom @ 2017-06-26 12:22 UTC (permalink / raw)
  To: Sean Paul, Daniel Vetter
  Cc: Daniel Vetter, Intel Graphics Development, DRI Development

With the below fixed,

Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>


On 06/23/2017 04:10 PM, Sean Paul wrote:
> On Wed, Jun 21, 2017 at 10:28:48AM +0200, Daniel Vetter wrote:
>> Again stopping the vblank before uninstalling the irq handler is kinda
>> the wrong way round, but the fb_off stuff should take care of
>> disabling the dsiplay at least in most cases. So drop the
>> drm_vblank_cleanup code since it's not really doing anything, it looks
>> all cargo-culted.
>>
>> v2: Appease gcc better.
>>
>> Cc: Sinclair Yeh <syeh@vmware.com>
>> Cc: Thomas Hellstrom <thellstrom@vmware.com>
>> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
>> ---
>>   drivers/gpu/drm/vmwgfx/vmwgfx_kms.c  |  9 +++------
>>   drivers/gpu/drm/vmwgfx/vmwgfx_kms.h  |  2 --
>>   drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c  |  4 ----
>>   drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c |  9 ---------
>>   drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 27 +--------------------------
>>   5 files changed, 4 insertions(+), 47 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
>> index 3d94ea67a825..a93c0bb73452 100644
>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
>> @@ -1658,7 +1658,7 @@ int vmw_kms_init(struct vmw_private *dev_priv)
>>   
>>   int vmw_kms_close(struct vmw_private *dev_priv)
>>   {
>> -	int ret;
>> +	int ret = 0;
>>   
>>   	/*
>>   	 * Docs says we should take the lock before calling this function
>> @@ -1666,11 +1666,8 @@ int vmw_kms_close(struct vmw_private *dev_priv)
>>   	 * drm_encoder_cleanup which takes the lock we deadlock.
>>   	 */
>>   	drm_mode_config_cleanup(dev_priv->dev);
>> -	if (dev_priv->active_display_unit == vmw_du_screen_object)
>> -		ret = vmw_kms_sou_close_display(dev_priv);
>> -	else if (dev_priv->active_display_unit == vmw_du_screen_target)
>> -		ret = vmw_kms_stdu_close_display(dev_priv);
>> -	else
>> +	if (dev_priv->active_display_unit != vmw_du_screen_object &&
>> +	    dev_priv->active_display_unit != vmw_du_screen_target)
> I think this is equivalent to:
>
> if (dev_priv->active_display_unit == vmw_du_legacy)
>
>>   		ret = vmw_kms_ldu_close_display(dev_priv);
>>   
>>   	return ret;
>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
>> index 5f8d678ae675..ff9c8389ff21 100644
>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
>> @@ -390,7 +390,6 @@ int vmw_kms_update_proxy(struct vmw_resource *res,
>>    * Screen Objects display functions - vmwgfx_scrn.c
>>    */
>>   int vmw_kms_sou_init_display(struct vmw_private *dev_priv);
>> -int vmw_kms_sou_close_display(struct vmw_private *dev_priv);
>>   int vmw_kms_sou_do_surface_dirty(struct vmw_private *dev_priv,
>>   				 struct vmw_framebuffer *framebuffer,
>>   				 struct drm_clip_rect *clips,
>> @@ -418,7 +417,6 @@ int vmw_kms_sou_readback(struct vmw_private *dev_priv,
>>    * Screen Target Display Unit functions - vmwgfx_stdu.c
>>    */
>>   int vmw_kms_stdu_init_display(struct vmw_private *dev_priv);
>> -int vmw_kms_stdu_close_display(struct vmw_private *dev_priv);
>>   int vmw_kms_stdu_surface_dirty(struct vmw_private *dev_priv,
>>   			       struct vmw_framebuffer *framebuffer,
>>   			       struct drm_clip_rect *clips,
>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
>> index d3987bcf53f8..449ed4fba0f2 100644
>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
>> @@ -582,13 +582,9 @@ int vmw_kms_ldu_init_display(struct vmw_private *dev_priv)
>>   
>>   int vmw_kms_ldu_close_display(struct vmw_private *dev_priv)
>>   {
>> -	struct drm_device *dev = dev_priv->dev;
>> -
>>   	if (!dev_priv->ldu_priv)
>>   		return -ENOSYS;
>>   
>> -	drm_vblank_cleanup(dev);
>> -
>>   	BUG_ON(!list_empty(&dev_priv->ldu_priv->active));
>>   
>>   	kfree(dev_priv->ldu_priv);
>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
>> index 8d7dc9def7c2..3b917c9b0c21 100644
>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
>> @@ -746,15 +746,6 @@ int vmw_kms_sou_init_display(struct vmw_private *dev_priv)
>>   	return 0;
>>   }
>>   
>> -int vmw_kms_sou_close_display(struct vmw_private *dev_priv)
>> -{
>> -	struct drm_device *dev = dev_priv->dev;
>> -
>> -	drm_vblank_cleanup(dev);
>> -
>> -	return 0;
>> -}
>> -
>>   static int do_dmabuf_define_gmrfb(struct vmw_private *dev_priv,
>>   				  struct vmw_framebuffer *framebuffer)
>>   {
>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
>> index 50be1f034f9e..6aecba6cd5e2 100644
>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
>> @@ -1651,36 +1651,11 @@ int vmw_kms_stdu_init_display(struct vmw_private *dev_priv)
>>   
>>   		if (unlikely(ret != 0)) {
>>   			DRM_ERROR("Failed to initialize STDU %d", i);
>> -			goto err_vblank_cleanup;
>> +			return ret;
>>   		}
>>   	}
>>   
>>   	DRM_INFO("Screen Target Display device initialized\n");
>>   
>>   	return 0;
>> -
>> -err_vblank_cleanup:
>> -	drm_vblank_cleanup(dev);
>> -	return ret;
>> -}
>> -
>> -
>> -
>> -/**
>> - * vmw_kms_stdu_close_display - Cleans up after vmw_kms_stdu_init_display
>> - *
>> - * @dev_priv: VMW DRM device
>> - *
>> - * Frees up any resources allocated by vmw_kms_stdu_init_display
>> - *
>> - * RETURNS:
>> - * 0 on success
>> - */
>> -int vmw_kms_stdu_close_display(struct vmw_private *dev_priv)
>> -{
>> -	struct drm_device *dev = dev_priv->dev;
>> -
>> -	drm_vblank_cleanup(dev);
>> -
>> -	return 0;
>>   }
>> -- 
>> 2.11.0
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freedesktop.org_mailman_listinfo_dri-2Ddevel&d=DwIBAg&c=uilaK90D4TOVoH58JNXRgQ&r=wnSlgOCqfpNS4d02vP68_E9q2BNMCwfD2OZ_6dCFVQQ&m=SJKJc5bNyeaTecQ5ygKQsN-9XVZSCWUtM90cLY6uCwg&s=x2_NlUiPI4px-JC4k-ZDsMw_PPTJv8lq-J7AnjxbuVQ&e=


_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2017-06-26 12:22 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-21  8:28 [PATCH 00/13] RESEND: remove drm_vblank_cleanup from drivers Daniel Vetter
2017-06-21  8:28 ` [PATCH 01/13] drm/amd|radeon: Drop drm_vblank_cleanup Daniel Vetter
2017-06-22 12:54   ` Alex Deucher
2017-06-23  8:41     ` Daniel Vetter
2017-06-21  8:28 ` [PATCH 02/13] drm/hibmc: " Daniel Vetter
2017-06-21  8:28 ` [PATCH 03/13] drm/kirin: " Daniel Vetter
2017-06-21  8:28 ` [PATCH 04/13] drm/i915: " Daniel Vetter
2017-06-21  8:28 ` [PATCH 05/13] drm/mtk: " Daniel Vetter
2017-06-21  8:28 ` [PATCH 06/13] drm/mxsfb: " Daniel Vetter
2017-06-22 10:48   ` Marek Vasut
2017-06-21  8:28 ` [PATCH 07/13] drm/nouveau: " Daniel Vetter
2017-06-21  8:28 ` [PATCH 08/13] drm/rockchip: " Daniel Vetter
2017-06-23 14:06   ` Sean Paul
2017-06-21  8:28 ` [PATCH 09/13] drm/shmob: " Daniel Vetter
2017-06-21  9:12   ` Laurent Pinchart
2017-06-22  6:40     ` Daniel Vetter
2017-06-21  8:28 ` [PATCH 10/13] drm/udl: " Daniel Vetter
2017-06-21  8:28 ` [PATCH 11/13] drm/vmwgfx: " Daniel Vetter
2017-06-23 14:10   ` Sean Paul
2017-06-26 12:22     ` Thomas Hellstrom
2017-06-21  8:28 ` [PATCH 12/13] drm/zte: " Daniel Vetter
2017-06-21 11:59   ` Shawn Guo
2017-06-21  8:28 ` [PATCH 13/13] drm/vblank: Unexport drm_vblank_cleanup Daniel Vetter
2017-06-22 12:56   ` Alex Deucher
2017-06-21  8:52 ` ✗ Fi.CI.BAT: warning for RESEND: remove drm_vblank_cleanup from drivers Patchwork
2017-06-23 14:58 ` [PATCH 00/13] " Sean Paul

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.