Op 30-03-16 om 15:13 schreef Ville Syrjälä: > On Tue, Mar 29, 2016 at 03:38:55PM +0200, Maarten Lankhorst wrote: >> This function is useful for gen2 intel devices which have no frame >> counter, but need a way to determine the current vblank count without >> racing with the vblank interrupt handler. >> >> intel_pipe_update_start checks if no vblank interrupt will occur >> during vblank evasion, but cannot check whether the vblank handler has >> run to completion. This function uses the timestamps to determine >> when the last vblank has happened, and interpolates from there. > Didn't really read it in detail, but on a glance it seems too > complicated to me. All we should really need is something like this: > > drm_vblank_get(); > drm_update_vblank_count(); > accurate = drm_vblank_count(); > Updating from non vblank irq context might cause the vblank clock to drift, or at least contend the vblank lock. This is why I call drm_vblank_count_and_time, and then interpolate as if update_vblank_count was called on the result. ~Maarten _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx