@@ -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)
Unplugging MST displays usually causes underruns, so turn off underrun reporting so people don't report false positives. Signed-off-by: Lyude <cpaul@redhat.com> --- drivers/gpu/drm/i915/intel_display.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)