提交 9bb1af44 编写于 作者: J John Harrison 提交者: 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: NJohn Harrison <John.C.Harrison@Intel.com>
Reviewed-by: NThomas Daniel <thomas.daniel@intel.com>
Reviewed-by: NTomas Elf <tomas.elf@intel.com>
Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册