Use drm_accurate_vblank_count so we have the full 32 bit to represent
the frame counter and userspace has a simpler way of knowing when the
counter wraps around.

Signed-off-by: Tomeu Vizoso <tomeu.viz...@collabora.com>
Reviewed-by: Emil Velikov <emil.veli...@collabora.com>
---

 drivers/gpu/drm/i915/i915_irq.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 2eac6ed0f653..a395fe0fb4f3 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -1557,7 +1557,6 @@ static void display_pipe_crc_irq_handler(struct 
drm_i915_private *dev_priv,
        struct drm_driver *driver = dev_priv->drm.driver;
        uint32_t crcs[5];
        int head, tail, ret;
-       u32 frame;
 
        spin_lock(&pipe_crc->lock);
        if (pipe_crc->source) {
@@ -1612,8 +1611,9 @@ static void display_pipe_crc_irq_handler(struct 
drm_i915_private *dev_priv,
                crcs[2] = crc2;
                crcs[3] = crc3;
                crcs[4] = crc4;
-               frame = driver->get_vblank_counter(&dev_priv->drm, pipe);
-               ret = drm_crtc_add_crc_entry(&crtc->base, true, frame, crcs);
+               ret = drm_crtc_add_crc_entry(&crtc->base, true,
+                                            
drm_accurate_vblank_count(&crtc->base),
+                                            crcs);
                if (!ret)
                        wake_up_interruptible(&crtc->base.crc.wq);
        }
-- 
2.7.4

Reply via email to