@@ -2482,14 +2482,7 @@ int __i915_add_request(struct intel_engine_cs *ring,
WARN_ON(request->batch_obj && obj);
request->batch_obj = obj;
- if (!i915.enable_execlists) {
- /* Hold a reference to the current context so that we can inspect
- * it later in case a hangcheck error event fires.
- */
- request->ctx = ring->last_context;
- if (request->ctx)
- i915_gem_context_reference(request->ctx);
- }
+ WARN_ON(request->ctx != ring->last_context);
request->emitted_jiffies = jiffies;
list_add_tail(&request->list, &ring->request_list);
@@ -2244,6 +2244,9 @@ intel_ring_alloc_request(struct intel_engine_cs *ring,
return ret;
}
+ request->ctx = ctx;
+ i915_gem_context_reference(request->ctx);
+
*req_out = ring->outstanding_lazy_request = request;
return 0;
}