drm/i915: Check for underruns after crtc disable
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 20 Nov 2015 20:09:20 +0000 (22:09 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 24 Nov 2015 14:22:39 +0000 (16:22 +0200)
To get a better idea if underruns occurred during crtc disabling,
let's check for them explicitly. This helps in cases where the
error interrupt isn't active, or there is no underrun interrupt
support at all.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1448050160-14124-3-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index 9c8718366cc2ae71161f6be8f841a44c36bc8a81..3df22f0c84dfd4ce07a339d742ff5dd38dca85cf 100644 (file)
@@ -13402,6 +13402,13 @@ static int intel_atomic_commit(struct drm_device *dev,
                        dev_priv->display.crtc_disable(crtc);
                        intel_crtc->active = false;
                        intel_disable_shared_dpll(intel_crtc);
+
+                       /*
+                        * Underruns don't always raise
+                        * interrupts, so check manually.
+                        */
+                       intel_check_cpu_fifo_underruns(dev_priv);
+                       intel_check_pch_fifo_underruns(dev_priv);
                }
        }