All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Flush the irq and tasklets before asserting engine is idle
@ 2017-11-01 20:21 Chris Wilson
  2017-11-01 21:28 ` ✗ Fi.CI.BAT: warning for " Patchwork
  2017-11-02  9:57 ` [PATCH] " Mika Kuoppala
  0 siblings, 2 replies; 4+ messages in thread
From: Chris Wilson @ 2017-11-01 20:21 UTC (permalink / raw)
  To: intel-gfx

Before we assert that the engine is idle, make sure we flush any
residual tasklet. After that point, if the engine is not idle, more work
may be queued despite us trying to park the engine and go to sleep.

References: https://bugs.freedesktop.org/show_bug.cgi?id=103479
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_engine_cs.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
index 0f8c542f0af2..70eeafe8a6ec 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -1542,6 +1542,10 @@ void intel_engines_park(struct drm_i915_private *i915)
 	enum intel_engine_id id;
 
 	for_each_engine(engine, i915, id) {
+		/* Flush the residual irq tasklets first. */
+		intel_engine_disarm_breadcrumbs(engine);
+		tasklet_kill(&engine->execlists.irq_tasklet);
+
 		/*
 		 * We are committed now to parking the engines, make sure there
 		 * will be no more interrupts arriving later and the engines
@@ -1558,9 +1562,6 @@ void intel_engines_park(struct drm_i915_private *i915)
 		if (engine->park)
 			engine->park(engine);
 
-		intel_engine_disarm_breadcrumbs(engine);
-		tasklet_kill(&engine->execlists.irq_tasklet);
-
 		i915_gem_batch_pool_fini(&engine->batch_pool);
 		engine->execlists.no_priolist = false;
 	}
-- 
2.15.0.rc2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-11-02 11:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-01 20:21 [PATCH] drm/i915: Flush the irq and tasklets before asserting engine is idle Chris Wilson
2017-11-01 21:28 ` ✗ Fi.CI.BAT: warning for " Patchwork
2017-11-02  9:57 ` [PATCH] " Mika Kuoppala
2017-11-02 11:25   ` Chris Wilson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.