On Wed, Mar 15, 2017 at 11:06:32PM +0200, Ville Syrjälä wrote:
> > @@ -1608,6 +1619,21 @@ int drm_wait_vblank(struct drm_device *dev, void 
> > *data,
> >  
> >     vblank = &dev->vblank[pipe];
> >  
> > +   /* If the counter is currently enabled and accurate, short-circuit 
> > queries
> > +    * to return the cached timestamp of the last vblank.
> > +    */
> > +   if (dev->vblank_disable_immediate &&
> > +       drm_wait_vblank_is_query(vblwait) &&
> > +       vblank->enabled) {
> 
> Hmm. I'm wondering if this could give us something stale if we're just
> about to enable the vblank interrupt.
> 
> We seem to set enabled=true before we update the count/ts. So I'm 
> thinking we'd need to flip those around and make sure proper barriers
> are in place.

Yes, that is a valid concern.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to