On 26/08/16 20:55, Chris Wilson wrote:
On Fri, Aug 26, 2016 at 08:46:25PM +0100, Dave Gordon wrote:
@@ -1520,6 +1528,14 @@ static void eb_export_fence(struct drm_i915_gem_object *obj,
if (ret)
return ret;
+ if (instp_mode != I915_EXEC_CONSTANTS_REL_GENERAL) {
+ /* Restore default value of INSTPM */
+ ret = emit_instpm(params->request, instp_mask,
+ I915_EXEC_CONSTANTS_REL_GENERAL);
+ if (ret)
+ return ret;
We can't return an error at this point, we are committed to executing
the batch. And we do expect to see at least an EINTR here occasionally.
-Chris
Note the 'if (ret) return ret' just above. We already quit early on
error, this just adds yet one more case. If you want to throw
half-formed command streams at the GPU you'll need to fix all the other
early exits, so adding one more doesn't really make it any worse.
In any case, it's the result from the ring_begin() which universally
triggers an early exit, but on the other hand should never fail because
we reserved enough space up front.
.Dave.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx