OSDN Git Service

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 9c87183..3df22f0 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);
                }
        }