Commit f33a8a51 authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915: Merge wait_for_timelines with retire_request



wait_for_timelines is essentially the same loop as retiring requests
(with an extra timeout), so merge the two into one routine.

v2: i915_retire_requests_timeout and keep VT'd w/a as !interruptible

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/20191004134015.13204-10-chris@chris-wilson.co.uk
parent 33d85644
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -432,9 +432,7 @@ static int create_mmap_offset(struct drm_i915_gem_object *obj)

	/* Attempt to reap some mmap space from dead objects */
	do {
		err = i915_gem_wait_for_idle(i915,
					     I915_WAIT_INTERRUPTIBLE,
					     MAX_SCHEDULE_TIMEOUT);
		err = i915_gem_wait_for_idle(i915, MAX_SCHEDULE_TIMEOUT);
		if (err)
			break;

+1 −3
Original line number Diff line number Diff line
@@ -59,9 +59,7 @@ static bool switch_to_kernel_context_sync(struct intel_gt *gt)
{
	bool result = !intel_gt_is_wedged(gt);

	if (i915_gem_wait_for_idle(gt->i915,
				   I915_WAIT_FOR_IDLE_BOOST,
				   I915_GEM_IDLE_TIMEOUT) == -ETIME) {
	if (i915_gem_wait_for_idle(gt->i915, I915_GEM_IDLE_TIMEOUT) == -ETIME) {
		/* XXX hide warning from gem_eio */
		if (i915_modparams.reset) {
			dev_err(gt->i915->drm.dev,
+1 −1
Original line number Diff line number Diff line
@@ -1137,7 +1137,7 @@ out:

	if ((flags & TEST_IDLE) && ret == 0) {
		ret = i915_gem_wait_for_idle(ce->engine->i915,
					     0, MAX_SCHEDULE_TIMEOUT);
					     MAX_SCHEDULE_TIMEOUT);
		if (ret)
			return ret;

+1 −2
Original line number Diff line number Diff line
@@ -196,8 +196,7 @@ int intel_gt_resume(struct intel_gt *gt)

static void wait_for_idle(struct intel_gt *gt)
{
	if (i915_gem_wait_for_idle(gt->i915, 0,
				   I915_GEM_IDLE_TIMEOUT) == -ETIME) {
	if (i915_gem_wait_for_idle(gt->i915, I915_GEM_IDLE_TIMEOUT) == -ETIME) {
		/*
		 * Forcibly cancel outstanding work and leave
		 * the gpu quiet.
+1 −3
Original line number Diff line number Diff line
@@ -3635,9 +3635,7 @@ i915_drop_caches_set(void *data, u64 val)
		i915_retire_requests(i915);

	if (val & (DROP_IDLE | DROP_ACTIVE)) {
		ret = i915_gem_wait_for_idle(i915,
					     I915_WAIT_INTERRUPTIBLE,
					     MAX_SCHEDULE_TIMEOUT);
		ret = i915_gem_wait_for_idle(i915, MAX_SCHEDULE_TIMEOUT);
		if (ret)
			return ret;
	}
Loading