remove not needed patch
This commit is contained in:
parent
c470ed5093
commit
85c5391770
|
@ -1,55 +0,0 @@
|
||||||
commit 389a55581e30607af0fcde6cdb4e54f189cf46cf
|
|
||||||
Author: Chris Wilson <chris@chris-wilson.co.uk>
|
|
||||||
Date: Tue Nov 29 15:12:16 2011 +0000
|
|
||||||
|
|
||||||
drm/i915: Only clear the GPU domains upon a successful finish
|
|
||||||
|
|
||||||
By clearing the GPU read domains before waiting upon the buffer, we run
|
|
||||||
the risk of the wait being interrupted and the domains prematurely
|
|
||||||
cleared. The next time we attempt to wait upon the buffer (after
|
|
||||||
userspace handles the signal), we believe that the buffer is idle and so
|
|
||||||
skip the wait.
|
|
||||||
|
|
||||||
There are a number of bugs across all generations which show signs of an
|
|
||||||
overly haste reuse of active buffers.
|
|
||||||
|
|
||||||
Such as:
|
|
||||||
|
|
||||||
https://bugs.freedesktop.org/show_bug.cgi?id=29046
|
|
||||||
https://bugs.freedesktop.org/show_bug.cgi?id=35863
|
|
||||||
https://bugs.freedesktop.org/show_bug.cgi?id=38952
|
|
||||||
https://bugs.freedesktop.org/show_bug.cgi?id=40282
|
|
||||||
https://bugs.freedesktop.org/show_bug.cgi?id=41098
|
|
||||||
https://bugs.freedesktop.org/show_bug.cgi?id=41102
|
|
||||||
https://bugs.freedesktop.org/show_bug.cgi?id=41284
|
|
||||||
https://bugs.freedesktop.org/show_bug.cgi?id=42141
|
|
||||||
|
|
||||||
A couple of those pre-date i915_gem_object_finish_gpu(), so may be
|
|
||||||
unrelated (such as a wild write from a userspace command buffer), but
|
|
||||||
this does look like a convincing cause for most of those bugs.
|
|
||||||
|
|
||||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
||||||
Cc: stable@kernel.org
|
|
||||||
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
||||||
Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
|
|
||||||
index d560175..036bc58 100644
|
|
||||||
--- a/drivers/gpu/drm/i915/i915_gem.c
|
|
||||||
+++ b/drivers/gpu/drm/i915/i915_gem.c
|
|
||||||
@@ -3087,10 +3087,13 @@ i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj)
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ ret = i915_gem_object_wait_rendering(obj);
|
|
||||||
+ if (ret)
|
|
||||||
+ return ret;
|
|
||||||
+
|
|
||||||
/* Ensure that we invalidate the GPU's caches and TLBs. */
|
|
||||||
obj->base.read_domains &= ~I915_GEM_GPU_DOMAINS;
|
|
||||||
-
|
|
||||||
- return i915_gem_object_wait_rendering(obj);
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
Loading…
Reference in New Issue