|
@@ -217,10 +217,8 @@ static int reset_all_global_seqno(struct drm_i915_private *i915, u32 seqno)
|
|
|
struct intel_timeline *tl = engine->timeline;
|
|
|
|
|
|
if (!i915_seqno_passed(seqno, tl->seqno)) {
|
|
|
- /* spin until threads are complete */
|
|
|
- while (intel_breadcrumbs_busy(engine))
|
|
|
- cond_resched();
|
|
|
-
|
|
|
+ /* Flush any waiters before we reuse the seqno */
|
|
|
+ intel_engine_disarm_breadcrumbs(engine);
|
|
|
GEM_BUG_ON(!list_empty(&engine->breadcrumbs.signals));
|
|
|
}
|
|
|
|