drm/i915: Pretend the engine is always idle when mocking
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 11 Apr 2017 23:44:26 +0000 (00:44 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 12 Apr 2017 12:37:24 +0000 (13:37 +0100)
If we have a mock engine and it has no more requests in flight, report
it as idle as there is no hardware to contradict us! Otherwise we
attempt to query the hw that doesn't exist and find that the hw hasn't
set its idle bit and we get upset.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20170411234427.14841-2-chris@chris-wilson.co.uk
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/intel_engine_cs.c

index ee87ca7420de038838be5562018b2934128f5655..402769d9d840f3bb9626f780c3472b48f832aeca 100644 (file)
@@ -1140,6 +1140,9 @@ bool intel_engine_is_idle(struct intel_engine_cs *engine)
                               intel_engine_last_submit(engine)))
                return false;
 
+       if (I915_SELFTEST_ONLY(engine->breadcrumbs.mock))
+               return true;
+
        /* Interrupt/tasklet pending? */
        if (test_bit(ENGINE_IRQ_EXECLIST, &engine->irq_posted))
                return false;