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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx