drm/i915: Ensure that the mode change flushing is currently uninterruptible
Introduced by 48b956c5
, I had thought I had already fixed this. Oh well.
Reported-by: Sitsofe Wheeler <sitsofe@yahoo.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
53b2087d21
commit
ced270fa89
1 changed files with 8 additions and 1 deletions
|
@ -2858,10 +2858,17 @@ i915_gem_object_set_to_display_plane(struct drm_gem_object *obj,
|
|||
if (obj_priv->gtt_space == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
ret = i915_gem_object_flush_gpu_write_domain(obj, pipelined);
|
||||
ret = i915_gem_object_flush_gpu_write_domain(obj, true);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* Currently, we are always called from an non-interruptible context. */
|
||||
if (!pipelined) {
|
||||
ret = i915_gem_object_wait_rendering(obj, false);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
i915_gem_object_flush_cpu_write_domain(obj);
|
||||
|
||||
old_read_domains = obj->read_domains;
|
||||
|
|
Loading…
Add table
Reference in a new issue