On Mon, Jan 16, 2017 at 10:12:36AM +0100, Tomeu Vizoso wrote: > On 10 January 2017 at 17:31, Daniel Vetter <daniel@xxxxxxxx> wrote: > > On Tue, Jan 10, 2017 at 05:54:57PM +0200, Ville Syrjälä wrote: > >> On Tue, Jan 10, 2017 at 02:43:05PM +0100, Tomeu Vizoso wrote: > >> > 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.vizoso@xxxxxxxxxxxxx> > >> > Reviewed-by: Emil Velikov <emil.velikov@xxxxxxxxxxxxx> > >> > Reviewed-by: Robert Foss <robert.foss@xxxxxxxxxxxxx> > >> > --- > >> > > >> > 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 b9beb5955dae..75fb1f66cc0c 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; > >> > - 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); > >> > - drm_crtc_add_crc_entry(&crtc->base, true, frame, crcs); > >> > + drm_crtc_add_crc_entry(&crtc->base, true, > >> > + drm_accurate_vblank_count(&crtc->base), > >> > >> My assumption would be that this gets called after the vblank irq > >> handler, so using the _accurate version seems a bit overkill. > > > > Since we're at like v15 of this I figured I'll pull this in, and we can > > polish this a bit more later. Tomeu, can you pls do that follow-up patch > > and get Ville to review+merge it. > > At least on the SKL and SNB I have here, the -sequence subtests in > kms_pipe_crc_basic fail if I replace the call to > drm_accurate_vblank_count with drm_crtc_vblank_count. > > Any ideas on why this could be? No idea at all, on a quick check things seem ordered correctly. Can you pls paste how the test falls over? -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel