Commit 9bb1af44 authored by John Harrison's avatar John Harrison Committed by Daniel Vetter

drm/i915: Remove 'faked' request from LRC submission

The LRC submission code requires a request for tracking purposes. It does not
actually require that request to 'complete' it simply uses it for keeping hold
of reference counts on contexts and such like.

Previously, the fall back path of polling for space in the ring would start by
submitting any outstanding work that was sat in the buffer. This submission was
not done as part of the request that that work was owned by because that would
lead to complications with the request being submitted twice. Instead, a null
request structure was passed in to the submit call and a fake one was created.

That fall back path has long since been obsoleted and has now been removed. Thus
there is never any need to fake up a request structure. This patch removes that
code. A couple of sanity check warnings are added as well, just in case.

For: VIZ-5115
Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Reviewed-by: default avatarThomas Daniel <thomas.daniel@intel.com>
Reviewed-by: default avatarTomas Elf <tomas.elf@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent fcfa423c
...@@ -555,22 +555,11 @@ static int execlists_context_queue(struct intel_engine_cs *ring, ...@@ -555,22 +555,11 @@ static int execlists_context_queue(struct intel_engine_cs *ring,
if (to != ring->default_context) if (to != ring->default_context)
intel_lr_context_pin(ring, to); intel_lr_context_pin(ring, to);
if (!request) { WARN_ON(!request);
/* WARN_ON(to != request->ctx);
* If there isn't a request associated with this submission,
* create one as a temporary holder. i915_gem_request_reference(request);
*/
request = kzalloc(sizeof(*request), GFP_KERNEL);
if (request == NULL)
return -ENOMEM;
request->ring = ring;
request->ctx = to;
kref_init(&request->ref);
i915_gem_context_reference(request->ctx);
} else {
i915_gem_request_reference(request);
WARN_ON(to != request->ctx);
}
request->tail = tail; request->tail = tail;
spin_lock_irq(&ring->execlist_lock); spin_lock_irq(&ring->execlist_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment