Unplugging MST displays usually causes underruns, so turn off underrun
reporting so people don't report false positives.

Signed-off-by: Lyude <cp...@redhat.com>
---
 drivers/gpu/drm/i915/intel_display.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 6e0d828..fa8a72b 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5146,6 +5146,10 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
        if (intel_crtc->config->has_pch_encoder)
                intel_set_pch_fifo_underrun_reporting(dev_priv, TRANSCODER_A,
                                                      false);
+       else if (intel_crtc->config->dp_encoder_is_mst)
+               intel_set_cpu_fifo_underrun_reporting(dev_priv,
+                                                     intel_crtc->pipe, false);
+
 
        for_each_encoder_on_crtc(dev, crtc, encoder) {
                intel_opregion_notify_encoder(encoder, false);
@@ -5182,7 +5186,10 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
 
                intel_set_pch_fifo_underrun_reporting(dev_priv, TRANSCODER_A,
                                                      true);
-       }
+       } else if (intel_crtc->config->dp_encoder_is_mst)
+               intel_set_cpu_fifo_underrun_reporting(dev_priv,
+                                                     intel_crtc->pipe, true);
+
 }
 
 static void i9xx_pfit_enable(struct intel_crtc *crtc)
-- 
2.5.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to