Re: [PATCH] drm/i915: Fix pre-CTG vblank counter

Daniel Vetter
2013-09-25T20:55:19Z

On Wed, Sep 25, 2013 at 07:55:26PM +0300, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> The old style frame counter increments at the start of active video.
> However for i915_get_vblank_counter() we want a counter that increments
> at the start of vblank.
>
> Fortunately the low frame counter register also contains the pixel
> counter for the current frame. We can can compare that against the
> vblank start pixel count to determine if we need to increment the
> frame counter by 1 to get the correct answer.
>
> Also reorganize the function pointer assignments in intel_irq_init() a
> bit to avoid confusing people.
>
> Cc: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>
> Just another small vblank related gem I forgot to polish up and send
> out until Imre started asking me questions about the vblank counter
> functions.

Hm, I've thought the magic fixup code does take care of that for us? But I
agree that we should do this explicitly ...

This could explain some of the strange vblank timestamp off failures QA
has reported (if there's too much delay and the fixup doesn't fire any
more), care to attach this patch to the relevant bug reports? Searching
for ts jitter + pre-gen5 should be good enough.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch