aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Harrison <[email protected]>2014-11-24 18:49:41 +0000
committerDaniel Vetter <[email protected]>2014-12-03 09:35:22 +0100
commitff79e857024143f54aff5257c14595e949f46d8a (patch)
tree7566e16ff7dea7027b18178171b147a3cd1fc967
parent44cdd6d219bc64f6810b8ed0023a4d4db9e0fe68 (diff)
drm/i915: Connect requests to rings at creation not submission
It makes a lot more sense (and makes future seqno -> request conversion patches simpler) to fill in the 'ring' field of the request structure at the point of creation rather than submission. Given that the request structure is assigned by ring specific code and thus is locked to a ring from the start, there really is no reason to defer this assignment. For: VIZ-4377 Signed-off-by: John Harrison <[email protected]> Reviewed-by: Thomas Daniel <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c1
-rw-r--r--drivers/gpu/drm/i915/intel_lrc.c1
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.c1
3 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index e79815531e1a..8285c08d78c1 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2463,7 +2463,6 @@ int __i915_add_request(struct intel_engine_cs *ring,
return ret;
}
- request->ring = ring;
request->head = request_start;
request->tail = request_ring_position;
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index 1ed25a120159..b13221b86b05 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -898,6 +898,7 @@ static int logical_ring_alloc_request(struct intel_engine_cs *ring,
}
kref_init(&request->ref);
+ request->ring = ring;
ret = i915_gem_get_seqno(ring->dev, &request->seqno);
if (ret) {
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index abdaafd73c77..788e1b6648ac 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -2044,6 +2044,7 @@ intel_ring_alloc_request(struct intel_engine_cs *ring)
return -ENOMEM;
kref_init(&request->ref);
+ request->ring = ring;
ret = i915_gem_get_seqno(ring->dev, &request->seqno);
if (ret) {