]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm/i915/display/adlp: Disable underrun recovery
authorJosé Roberto de Souza <jose.souza@intel.com>
Thu, 4 Nov 2021 01:08:58 +0000 (18:08 -0700)
committerJosé Roberto de Souza <jose.souza@intel.com>
Fri, 5 Nov 2021 22:02:15 +0000 (15:02 -0700)
It was also defeatured for ADL-P and other platforms.

BSpec: 55424
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211104010858.43559-1-jose.souza@intel.com
drivers/gpu/drm/i915/display/intel_display.c

index 0b43650b0e4fec08abaecbddbbfa268784ed8873..4cd268ca52fbb14b153fa4ae499cdcadc2a3b4bd 100644 (file)
@@ -956,26 +956,6 @@ void intel_display_finish_reset(struct drm_i915_private *dev_priv)
        clear_bit_unlock(I915_RESET_MODESET, &dev_priv->gt.reset.flags);
 }
 
-static bool underrun_recovery_supported(const struct intel_crtc_state *crtc_state)
-{
-       if (crtc_state->pch_pfit.enabled &&
-           (crtc_state->pipe_src_w > drm_rect_width(&crtc_state->pch_pfit.dst) ||
-            crtc_state->pipe_src_h > drm_rect_height(&crtc_state->pch_pfit.dst) ||
-            crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420))
-               return false;
-
-       if (crtc_state->dsc.compression_enable)
-               return false;
-
-       if (crtc_state->has_psr2)
-               return false;
-
-       if (crtc_state->splitter.enable)
-               return false;
-
-       return true;
-}
-
 static void icl_set_pipe_chicken(const struct intel_crtc_state *crtc_state)
 {
        struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
@@ -999,19 +979,14 @@ static void icl_set_pipe_chicken(const struct intel_crtc_state *crtc_state)
         */
        tmp |= PIXEL_ROUNDING_TRUNC_FB_PASSTHRU;
 
-       if (IS_DG2(dev_priv)) {
-               /*
-                * Underrun recovery must always be disabled on DG2.  However
-                * the chicken bit meaning is inverted compared to other
-                * platforms.
-                */
+       /*
+        * Underrun recovery must always be disabled on display 13+.
+        * DG2 chicken bit meaning is inverted compared to other platforms.
+        */
+       if (IS_DG2(dev_priv))
                tmp &= ~UNDERRUN_RECOVERY_ENABLE_DG2;
-       } else if (DISPLAY_VER(dev_priv) >= 13) {
-               if (underrun_recovery_supported(crtc_state))
-                       tmp &= ~UNDERRUN_RECOVERY_DISABLE_ADLP;
-               else
-                       tmp |= UNDERRUN_RECOVERY_DISABLE_ADLP;
-       }
+       else if (DISPLAY_VER(dev_priv) >= 13)
+               tmp |= UNDERRUN_RECOVERY_DISABLE_ADLP;
 
        intel_de_write(dev_priv, PIPE_CHICKEN(pipe), tmp);
 }