drm/i915: Check for underruns after crtc disable
authorVille Syrjälä <[email protected]>
Fri, 20 Nov 2015 20:09:20 +0000 (22:09 +0200)
committerVille Syrjälä <[email protected]>
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ä <[email protected]>
Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
Reviewed-by: Daniel Vetter <[email protected]>
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);
                }
        }