drm/i915: Suppress assertion for i915_ggtt_disable_guc
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 20 Jul 2018 09:51:44 +0000 (10:51 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 20 Jul 2018 15:04:01 +0000 (16:04 +0100)
Another step in the drv_module_reload fault-injection saga, is that we
try to disable the guc twice. Probably. It's a little unclear exactly
what is going on in the unload sequence that catches us out, so for the
time being suppress the assertion to get the test re-enabled.

Testcase: igt/drv_module_reload/basic-reload-inject
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Michał Winiarski <michal.winiarski@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Acked-by: Michał Winiarski <michal.winiarski@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180720095144.5885-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_gtt.c

index f02f7848305d1c6388d37e2f5e1283de5afa4aee..81a2c340c09183d36757cdb3009e0e49abc93d25 100644 (file)
@@ -3654,6 +3654,10 @@ void i915_ggtt_enable_guc(struct drm_i915_private *i915)
 
 void i915_ggtt_disable_guc(struct drm_i915_private *i915)
 {
+       /* XXX Temporary pardon for error unload */
+       if (i915->ggtt.invalidate == gen6_ggtt_invalidate)
+               return;
+
        /* We should only be called after i915_ggtt_enable_guc() */
        GEM_BUG_ON(i915->ggtt.invalidate != guc_ggtt_invalidate);