[Intel-gfx] [PATCH 4/4] drm/i915: Subsume intel_ctx_submit_request in to drm_i915_gem_request
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Thu Jan 29 07:42:03 PST 2015
On 01/15/2015 01:10 PM, Nick Hoath wrote:
> void intel_execlists_retire_requests(struct intel_engine_cs *ring)
> {
> - struct intel_ctx_submit_request *req, *tmp;
> + struct drm_i915_gem_request *req, *tmp;
> struct drm_i915_private *dev_priv = ring->dev->dev_private;
> unsigned long flags;
> struct list_head retired_list;
> @@ -776,7 +771,7 @@ void intel_execlists_retire_requests(struct intel_engine_cs *ring)
> spin_unlock_irqrestore(&ring->execlist_lock, flags);
>
> list_for_each_entry_safe(req, tmp, &retired_list, execlist_link) {
> - struct intel_context *ctx = req->request->ctx;
> + struct intel_context *ctx = req->ctx;
> struct drm_i915_gem_object *ctx_obj =
> ctx->engine[ring->id].state;
>
> @@ -784,9 +779,8 @@ void intel_execlists_retire_requests(struct intel_engine_cs *ring)
> intel_lr_context_unpin(ring, ctx);
> intel_runtime_pm_put(dev_priv);
> i915_gem_context_unreference(ctx);
> - i915_gem_request_unreference(req->request);
> + i915_gem_request_unreference(req);
> list_del(&req->execlist_link);
It looks like the this req unreference can be the last one in which case
list_del explodes. I don't know if it was intended that it cannot be the
last unreference, but I have a log which proves it can be. :)
Regards,
Tvrtko
More information about the Intel-gfx
mailing list