2017-09-08 Chris Wilson chris@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