[Intel-gfx] [RFC] drm: drm_vblank_cleanup: WARN when refcount is more than 0
PrasannaKumar Muralidharan
prasannatsmkumar at gmail.com
Thu Oct 12 17:00:06 UTC 2017
Warn when refcount > 0 in drm_vblank_cleanup.
In i915 driver unload drm_vblank_get is added to test whether this patch
is working. This will be removed once the patch gets tested.
Signed-off-by: PrasannaKumar Muralidharan <prasannatsmkumar at gmail.com>
---
drivers/gpu/drm/drm_vblank.c | 2 ++
drivers/gpu/drm/i915/i915_drv.c | 1 +
2 files changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 70f2b95..2a6630a 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -402,6 +402,8 @@ void drm_vblank_cleanup(struct drm_device *dev)
if (dev->num_crtcs == 0)
return;
+ WARN_ON(atomic_read(&vblank->refcount) > 0);
+
for (pipe = 0; pipe < dev->num_crtcs; pipe++) {
struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 9f45cfe..c7a93a9 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1373,6 +1373,7 @@ void i915_driver_unload(struct drm_device *dev)
struct drm_i915_private *dev_priv = to_i915(dev);
struct pci_dev *pdev = dev_priv->drm.pdev;
+ drm_vblank_get(dev_priv, 0);
i915_driver_unregister(dev_priv);
if (i915_gem_suspend(dev_priv))
--
2.10.0
More information about the Intel-gfx
mailing list