drm/i915: Don't ban default context when stop_rings!=0
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 21 Feb 2014 14:26:47 +0000 (16:26 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 5 Mar 2014 20:30:14 +0000 (21:30 +0100)
If we've explicitly stopped the rings for testing purposes, don't ban
the default context. Fixes kms_flip hang tests.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c

index 6978e692cd82d9cd86fd59fcbeaf46d183842782..0ec1080b19123d981cb7730810d80da0a724ddc2 100644 (file)
@@ -2255,14 +2255,13 @@ static bool i915_context_is_banned(struct drm_i915_private *dev_priv,
                return true;
 
        if (elapsed <= DRM_I915_CTX_BAN_PERIOD) {
-               if (dev_priv->gpu_error.stop_rings == 0 &&
-                   i915_gem_context_is_default(ctx)) {
-                       DRM_ERROR("gpu hanging too fast, banning!\n");
-               } else {
+               if (!i915_gem_context_is_default(ctx)) {
                        DRM_DEBUG("context hanging too fast, banning!\n");
+                       return true;
+               } else if (dev_priv->gpu_error.stop_rings == 0) {
+                       DRM_ERROR("gpu hanging too fast, banning!\n");
+                       return true;
                }
-
-               return true;
        }
 
        return false;