]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
drm/i915: Simplify ilk-ivb underrun suppression
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 24 May 2018 19:04:06 +0000 (22:04 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 25 May 2018 19:19:29 +0000 (22:19 +0300)
Let's suppress the underruns around every modeset sequence instead
of trying to avoid it. Planes are disabled at this point anyway so
we don't really gain anything from keeping the underrun reporting
enabled. Also for PCH ports we already suppress all underruns here
anyway so trying avoid it for the CPU eDP doesn't seem all that
important.

Maybe this gets rid of some lingering spurious underruns?

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180524190406.2973-2-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/intel_display.c

index 90a6ff00c79db1b403492d5f4f0f76f3a7f74f4b..8d4c9e249c44fa0e0785177ac79e0059d41d7996 100644 (file)
@@ -5470,10 +5470,8 @@ static void ironlake_crtc_enable(struct intel_crtc_state *pipe_config,
         *
         * Spurious PCH underruns also occur during PCH enabling.
         */
-       if (intel_crtc->config->has_pch_encoder || IS_GEN5(dev_priv))
-               intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, false);
-       if (intel_crtc->config->has_pch_encoder)
-               intel_set_pch_fifo_underrun_reporting(dev_priv, pipe, false);
+       intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, false);
+       intel_set_pch_fifo_underrun_reporting(dev_priv, pipe, false);
 
        if (intel_crtc->config->has_pch_encoder)
                intel_prepare_shared_dpll(intel_crtc);
@@ -5717,10 +5715,8 @@ static void ironlake_crtc_disable(struct intel_crtc_state *old_crtc_state,
         * pipe is already disabled, but FDI RX/TX is still enabled.
         * Happens at least with VGA+HDMI cloning. Suppress them.
         */
-       if (intel_crtc->config->has_pch_encoder) {
-               intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, false);
-               intel_set_pch_fifo_underrun_reporting(dev_priv, pipe, false);
-       }
+       intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, false);
+       intel_set_pch_fifo_underrun_reporting(dev_priv, pipe, false);
 
        intel_encoders_disable(crtc, old_crtc_state, old_state);