drm/i915: Make LRC pinning own a reference to the context

Will simplify the following fix and sounds logical.

v2: Add some whitespace to separate logic better. (Chris Wilson)

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Nick Hoath <nicholas.hoath@intel.com>
This commit is contained in:
Tvrtko Ursulin 2016-01-28 10:29:55 +00:00
parent e5292823c1
commit 321fe304f1
1 changed files with 4 additions and 0 deletions

View File

@ -1116,6 +1116,8 @@ static int intel_lr_context_pin(struct intel_context *ctx,
ret = intel_lr_context_do_pin(ctx, engine);
if (ret)
goto reset_pin_count;
i915_gem_context_reference(ctx);
}
return ret;
@ -1141,6 +1143,8 @@ void intel_lr_context_unpin(struct intel_context *ctx,
ctx->engine[engine->id].lrc_vma = NULL;
ctx->engine[engine->id].lrc_desc = 0;
ctx->engine[engine->id].lrc_reg_state = NULL;
i915_gem_context_unreference(ctx);
}
}