[Intel-gfx] [-PATCH v5 1/5] drm/i915: update cursors asynchronously through atomic

Gustavo Padovan gustavo at padovan.org
Fri Sep 8 21:04:04 UTC 2017


2017-09-08 Chris Wilson <chris at chris-wilson.co.uk>:

> Quoting Gustavo Padovan (2017-09-08 20:24:15)
> > @@ -13167,6 +13170,26 @@ static int intel_atomic_commit(struct drm_device *dev,
> >         struct drm_i915_private *dev_priv = to_i915(dev);
> >         int ret = 0;
> >  
> > +       /*
> > +        * The atomic async update fast path takes care
> > +        * of avoiding the vblank waits for simple cursor
> > +        * movement and flips. For cursor on/off and size changes,
> > +        * we want to perform the vblank waits so that watermark
> > +        * updates happen during the correct frames. Gen9+ have
> > +        * double buffered watermarks and so shouldn't need this.
> > +        */
> > +       if (state->async_update) {
> > +               ret = mutex_lock_interruptible(&dev->struct_mutex);
> > +               if (ret)
> > +                       return ret;
> 
> This deadlock should be found by the test suite, or else we are missing
> tests!

It seems that I missed the fact that the driver changed when I rebased and
resent. I'll investigate this further and come back with another patch.

Gustavo


More information about the dri-devel mailing list