Merge tag 'drm-intel-next-fixes-2016-05-25' of git://anongit.freedesktop.org/drm...
[cascardo/linux.git] / drivers / gpu / drm / i915 / intel_display.c
index 46f9be3..2113f40 100644 (file)
@@ -12005,6 +12005,9 @@ static int intel_crtc_atomic_check(struct drm_crtc *crtc,
                        DRM_DEBUG_KMS("No valid intermediate pipe watermarks are possible\n");
                        return ret;
                }
+       } else if (dev_priv->display.compute_intermediate_wm) {
+               if (HAS_PCH_SPLIT(dev_priv) && INTEL_GEN(dev_priv) < 9)
+                       pipe_config->wm.intermediate = pipe_config->wm.optimal.ilk;
        }
 
        if (INTEL_INFO(dev)->gen >= 9) {
@@ -15990,6 +15993,9 @@ retry:
 
                state->acquire_ctx = &ctx;
 
+               /* ignore any reset values/BIOS leftovers in the WM registers */
+               to_intel_atomic_state(state)->skip_intermediate_wm = true;
+
                for_each_crtc_in_state(state, crtc, crtc_state, i) {
                        /*
                         * Force recalculation even if we restore