summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_breadcrumbs.c
diff options
context:
space:
mode:
authorChris Wilson2018-02-22 10:25:45 +0100
committerChris Wilson2018-03-06 13:12:46 +0100
commit9792e213a4c9b16b814c0865ea0cc5d5125e052b (patch)
tree72acadc51a19b19d3f0a3da9a954c0b792b2e95a /drivers/gpu/drm/i915/intel_breadcrumbs.c
parentdrm/i915/breadcrumbs: Reduce signaler rbtree to a sorted list (diff)
downloadkernel-qcow2-linux-9792e213a4c9b16b814c0865ea0cc5d5125e052b.tar.gz
kernel-qcow2-linux-9792e213a4c9b16b814c0865ea0cc5d5125e052b.tar.xz
kernel-qcow2-linux-9792e213a4c9b16b814c0865ea0cc5d5125e052b.zip
drm/i915/breadcrumbs: Assert all missed breadcrumbs were signaled
When parking the engines and their breadcrumbs, if we have waiters left then they missed their wakeup. Verify that each waiter's seqno did complete. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180222092545.17216-2-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/intel_breadcrumbs.c')
-rw-r--r--drivers/gpu/drm/i915/intel_breadcrumbs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_breadcrumbs.c b/drivers/gpu/drm/i915/intel_breadcrumbs.c
index 03bbc1dfbc51..6a740618863c 100644
--- a/drivers/gpu/drm/i915/intel_breadcrumbs.c
+++ b/drivers/gpu/drm/i915/intel_breadcrumbs.c
@@ -247,6 +247,8 @@ void intel_engine_disarm_breadcrumbs(struct intel_engine_cs *engine)
spin_unlock(&b->irq_lock);
rbtree_postorder_for_each_entry_safe(wait, n, &b->waiters, node) {
+ GEM_BUG_ON(!i915_seqno_passed(intel_engine_get_seqno(engine),
+ wait->seqno));
RB_CLEAR_NODE(&wait->node);
wake_up_process(wait->tsk);
}