[Intel-gfx] [PATCH] drm/i915/execlists: Always clear preempt status on cancelling all
Chris Wilson
chris at chris-wilson.co.uk
Sat Jul 14 09:52:33 UTC 2018
On reset/wedging, we cancel all pending replies from the HW and we also
want to cancel an outstanding preemption event. Since we use the same
function to cancel the pending replies for reset and for a preemption
event, we can simply clear the active tracking for all.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
drivers/gpu/drm/i915/intel_guc_submission.c | 2 --
drivers/gpu/drm/i915/intel_lrc.c | 5 +----
2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c b/drivers/gpu/drm/i915/intel_guc_submission.c
index cc444dc5f3ad..94d0674ea3c6 100644
--- a/drivers/gpu/drm/i915/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/intel_guc_submission.c
@@ -633,8 +633,6 @@ static void complete_preempt_context(struct intel_engine_cs *engine)
wait_for_guc_preempt_report(engine);
intel_write_status_page(engine, I915_GEM_HWS_PREEMPT_INDEX, 0);
-
- execlists_clear_active(execlists, EXECLISTS_ACTIVE_PREEMPT);
}
/**
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index 05567e30efe0..be2c19802b45 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -563,8 +563,6 @@ static void complete_preempt_context(struct intel_engine_execlists *execlists)
__unwind_incomplete_requests(container_of(execlists,
struct intel_engine_cs,
execlists));
-
- execlists_clear_active(execlists, EXECLISTS_ACTIVE_PREEMPT);
}
static void execlists_dequeue(struct intel_engine_cs *engine)
@@ -792,8 +790,7 @@ execlists_cancel_port_requests(struct intel_engine_execlists * const execlists)
port++;
}
- execlists_clear_active(execlists, EXECLISTS_ACTIVE_USER);
- execlists_user_end(execlists);
+ execlists->active = 0;
}
static void reset_csb_pointers(struct intel_engine_execlists *execlists)
--
2.18.0
More information about the Intel-gfx
mailing list