[PATCH 15/19] drm: Update vblank->last in drm_update_vblank_count()

ville.syrjala at linux.intel.com ville.syrjala at linux.intel.com
Wed Aug 6 04:49:58 PDT 2014

From: Ville Syrjälä <ville.syrjala at linux.intel.com>

We should update the last in drm_update_vblank_count() to avoid applying
the diff more than once. This could occur eg. if drm_vblank_off() gets
called multiple times for the crtc.

Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
 drivers/gpu/drm/drm_irq.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 0523f5b..67507a4 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -109,6 +109,8 @@ static void drm_update_vblank_count(struct drm_device *dev, int crtc)
 	if (diff == 0)
+	vblank->last = cur_vblank;
 	/* Reinitialize corresponding vblank timestamp if high-precision query
 	 * available. Skip this step if query unsupported or failed. Will
 	 * reinitialize delayed at next vblank interrupt in that case.

More information about the dri-devel mailing list