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

Commit ab8905f1 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm: Really never disable vblank irqs for offdelay==0



With the new support for immediate vblank disabling we always disabled
the vblank interrupt right away, irrespective of the vblank offdelay
setting.

But being able to let vblanks run forever is fairly useful for
debugging, so restore that behaviour.

Suggested-by: default avatarMario Kleiner <mario.kleiner.de@gmail.com>
Cc: Mario Kleiner <mario.kleiner.de@gmail.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Reviewed-by: default avatarMario Kleiner <mario.kleiner.de@gmail.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
parent 2368ffb1
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1005,9 +1005,11 @@ void drm_vblank_put(struct drm_device *dev, int crtc)

	/* Last user schedules interrupt disable */
	if (atomic_dec_and_test(&vblank->refcount)) {
		if (dev->vblank_disable_immediate || drm_vblank_offdelay < 0)
		if (drm_vblank_offdelay == 0)
			return;
		else if (dev->vblank_disable_immediate || drm_vblank_offdelay < 0)
			vblank_disable_fn((unsigned long)vblank);
		else if (drm_vblank_offdelay > 0)
		else
			mod_timer(&vblank->disable_timer,
				  jiffies + ((drm_vblank_offdelay * HZ)/1000));
	}