Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e32ee7fa authored by Jesse Barnes's avatar Jesse Barnes Committed by Dave Airlie
Browse files

drm: make sure vblank interrupts are disabled at DPMS time



When we call drm_vblank_off() at DPMS off time (to wake any clients so
they don't hang) we need to make sure interrupts are actually disabled.
If drm_vblank_off() gets called before the vblank usage timer expires,
it'll prevent the timer from disabling interrupts since it also clears
the vblank_enabled flag for the pipe.

Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent c6f8505e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -475,6 +475,7 @@ void drm_vblank_off(struct drm_device *dev, int crtc)
	unsigned long irqflags;

	spin_lock_irqsave(&dev->vbl_lock, irqflags);
	dev->driver->disable_vblank(dev, crtc);
	DRM_WAKEUP(&dev->vbl_queue[crtc]);
	dev->vblank_enabled[crtc] = 0;
	dev->last_vblank[crtc] = dev->driver->get_vblank_counter(dev, crtc);