summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorVille Syrjälä2014-05-16 18:40:22 +0200
committerDaniel Vetter2014-05-22 15:06:07 +0200
commit56b80e1f0022e34f8f92aee867aa8982889cda00 (patch)
tree0306e2ee87e1f0fd138de0df12ea55f3141fc565 /drivers/gpu/drm/i915/intel_display.c
parentdrm/i915: Check for FIFO underuns when disabling reporting on gmch platforms (diff)
downloadkernel-qcow2-linux-56b80e1f0022e34f8f92aee867aa8982889cda00.tar.gz
kernel-qcow2-linux-56b80e1f0022e34f8f92aee867aa8982889cda00.tar.xz
kernel-qcow2-linux-56b80e1f0022e34f8f92aee867aa8982889cda00.zip
drm/i915: Check for FIFO underruns at the end of modeset on gmch
FIFO underruns don't generate interrupts on gmch platforms, so if we want to know whether a modeset triggered FIFO underruns we need to explicitly check for them. As a modeset on one pipe could cause underruns on other pipes, check for underruns on all pipes. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Thomas Wood <thomas.wood@intel.com> [danvet: Fix up merge error, kudos to Ville for noticing it.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 6c5db7c8caf4..8d960d240611 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4625,6 +4625,9 @@ static void valleyview_crtc_enable(struct drm_crtc *crtc)
intel_crtc_enable_planes(crtc);
drm_crtc_vblank_on(crtc);
+
+ /* Underruns don't raise interrupts, so check manually. */
+ i9xx_check_fifo_underruns(dev);
}
static void i9xx_set_pll_dividers(struct intel_crtc *crtc)
@@ -4704,6 +4707,9 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc)
intel_crtc_enable_planes(crtc);
drm_crtc_vblank_on(crtc);
+
+ /* Underruns don't raise interrupts, so check manually. */
+ i9xx_check_fifo_underruns(dev);
}
static void i9xx_pfit_disable(struct intel_crtc *crtc)