The primary purpose of i915_gem_suspend_late is to ensure all writes into memory from the GPU are flushed before we relinquish control of the device. However, if we abort GEM initialisation, we ideally want to leave the GPU marked as wedged, but still allow KMS in order to avoid the black screen of doom. In this case, a path through suspend_late causes a redundant and quite noisy reset as we have to then repeat it on wedging. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/i915_gem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 460f256114f7..e937977a4f7b 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -5571,8 +5571,6 @@ int i915_gem_init(struct drm_i915_private *dev_priv) mutex_unlock(&dev_priv->drm.struct_mutex); WARN_ON(i915_gem_suspend(dev_priv)); - i915_gem_suspend_late(dev_priv); - i915_gem_drain_workqueue(dev_priv); mutex_lock(&dev_priv->drm.struct_mutex); @@ -5619,6 +5617,8 @@ int i915_gem_init(struct drm_i915_private *dev_priv) intel_init_clock_gating(dev_priv); mutex_unlock(&dev_priv->drm.struct_mutex); + } else { + i915_gem_sanitize(dev_priv); } i915_gem_drain_freed_objects(dev_priv); -- 2.18.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx