diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2019-08-09 19:25:18 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2019-08-09 20:18:30 +0100 |
commit | 75d0a7f31eec8ec4a53b4485905800e09dc5091f (patch) | |
tree | 6dddb910c41c88bc0d48d261daa10f09e4b1f608 /drivers/gpu/drm/i915/i915_request.c | |
parent | drm/i915: Push the ring creation flags to the backend (diff) | |
download | linux-dev-75d0a7f31eec8ec4a53b4485905800e09dc5091f.tar.xz linux-dev-75d0a7f31eec8ec4a53b4485905800e09dc5091f.zip |
drm/i915: Lift timeline into intel_context
Move the timeline from being inside the intel_ring to intel_context
itself. This saves much pointer dancing and makes the relations of the
context to its timeline much clearer.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190809182518.20486-4-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/i915_request.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_request.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c index 9b2b18f0196b..43175bada09e 100644 --- a/drivers/gpu/drm/i915/i915_request.c +++ b/drivers/gpu/drm/i915/i915_request.c @@ -306,12 +306,12 @@ static bool i915_request_retire(struct i915_request *rq) local_irq_enable(); - intel_context_exit(rq->hw_context); - intel_context_unpin(rq->hw_context); - i915_request_remove_from_client(rq); list_del(&rq->link); + intel_context_exit(rq->hw_context); + intel_context_unpin(rq->hw_context); + free_capture_list(rq); i915_sched_node_fini(&rq->sched); i915_request_put(rq); @@ -608,7 +608,7 @@ out: struct i915_request * __i915_request_create(struct intel_context *ce, gfp_t gfp) { - struct intel_timeline *tl = ce->ring->timeline; + struct intel_timeline *tl = ce->timeline; struct i915_request *rq; u32 seqno; int ret; @@ -760,7 +760,7 @@ i915_request_create(struct intel_context *ce) goto err_unlock; /* Check that we do not interrupt ourselves with a new request */ - rq->cookie = lockdep_pin_lock(&ce->ring->timeline->mutex); + rq->cookie = lockdep_pin_lock(&ce->timeline->mutex); return rq; |