diff options
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_irq.c')
-rw-r--r-- | drivers/gpu/drm/omapdrm/omap_irq.c | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_irq.c b/drivers/gpu/drm/omapdrm/omap_irq.c index 26a3c06aa14d..115104cdcc59 100644 --- a/drivers/gpu/drm/omapdrm/omap_irq.c +++ b/drivers/gpu/drm/omapdrm/omap_irq.c | |||
@@ -285,25 +285,11 @@ int omap_drm_irq_install(struct drm_device *dev) | |||
285 | void omap_drm_irq_uninstall(struct drm_device *dev) | 285 | void omap_drm_irq_uninstall(struct drm_device *dev) |
286 | { | 286 | { |
287 | struct omap_drm_private *priv = dev->dev_private; | 287 | struct omap_drm_private *priv = dev->dev_private; |
288 | unsigned long irqflags; | ||
289 | int i; | ||
290 | 288 | ||
291 | if (!dev->irq_enabled) | 289 | if (!dev->irq_enabled) |
292 | return; | 290 | return; |
293 | 291 | ||
294 | dev->irq_enabled = false; | 292 | dev->irq_enabled = false; |
295 | 293 | ||
296 | /* Wake up any waiters so they don't hang. */ | ||
297 | if (dev->num_crtcs) { | ||
298 | spin_lock_irqsave(&dev->vbl_lock, irqflags); | ||
299 | for (i = 0; i < dev->num_crtcs; i++) { | ||
300 | wake_up(&dev->vblank[i].queue); | ||
301 | dev->vblank[i].enabled = false; | ||
302 | dev->vblank[i].last = | ||
303 | dev->driver->get_vblank_counter(dev, i); | ||
304 | } | ||
305 | spin_unlock_irqrestore(&dev->vbl_lock, irqflags); | ||
306 | } | ||
307 | |||
308 | priv->dispc_ops->free_irq(dev); | 294 | priv->dispc_ops->free_irq(dev); |
309 | } | 295 | } |