aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_request.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2019-08-09 19:25:18 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2019-08-09 20:18:30 +0100
commit75d0a7f31eec8ec4a53b4485905800e09dc5091f (patch)
tree6dddb910c41c88bc0d48d261daa10f09e4b1f608 /drivers/gpu/drm/i915/i915_request.c
parentdrm/i915: Push the ring creation flags to the backend (diff)
downloadlinux-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.c10
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;