Commit 41e4065a authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915: Rely on direct submission to the queue



Drop the pretense of kicking the tasklet (used only for the defunct guc
submission backend, it should just take ownership of the submit!) and so
remove the bh-kicking from around submission.

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200323092841.22240-5-chris@chris-wilson.co.uk
parent 93159e12
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -2386,9 +2386,7 @@ static void eb_request_add(struct i915_execbuffer *eb)
		__i915_request_skip(rq);
	}

	local_bh_disable();
	__i915_request_queue(rq, &attr);
	local_bh_enable(); /* Kick the execlists tasklet if just scheduled */

	/* Try to clean up the client's timeline after submitting the request */
	if (prev)
+1 −4
Original line number Diff line number Diff line
@@ -2891,10 +2891,7 @@ static void __submit_queue_imm(struct intel_engine_cs *engine)
	if (reset_in_progress(execlists))
		return; /* defer until we restart the engine following reset */

	if (execlists->tasklet.func == execlists_submission_tasklet)
	__execlists_submission_tasklet(engine);
	else
		tasklet_hi_schedule(&execlists->tasklet);
}

static void submit_queue(struct intel_engine_cs *engine,
+0 −2
Original line number Diff line number Diff line
@@ -1444,9 +1444,7 @@ void i915_request_add(struct i915_request *rq)
	if (list_empty(&rq->sched.signalers_list))
		attr.priority |= I915_PRIORITY_WAIT;

	local_bh_disable();
	__i915_request_queue(rq, &attr);
	local_bh_enable(); /* Kick the execlists tasklet if just scheduled */

	mutex_unlock(&tl->mutex);
}