OSDN Git Service

drm/i915: Restore lost glk FBC 16bpp w/a
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 12 Apr 2021 05:46:03 +0000 (08:46 +0300)
committerJani Nikula <jani.nikula@intel.com>
Wed, 14 Apr 2021 09:32:09 +0000 (12:32 +0300)
We lost the FBC 16bpp 512byte stride requirement on glk when
we switched from display version 9 to 10. Restore the w/a to
avoid enabling FBC with a bad stride and thus display garbage.

Cc: Matt Roper <matthew.d.roper@intel.com>
Fixes: 2b5a4562edd0 ("drm/i915/display: Simplify GLK display version tests")
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210412054607.18133-2-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_fbc.c

index 04d9c7d..dcc0f73 100644 (file)
@@ -598,7 +598,7 @@ static bool stride_is_valid(struct drm_i915_private *dev_priv,
                return false;
 
        /* Display WA #1105: skl,bxt,kbl,cfl,glk */
-       if (IS_DISPLAY_VER(dev_priv, 9) &&
+       if ((IS_DISPLAY_VER(dev_priv, 9) || IS_GEMINILAKE(dev_priv)) &&
            modifier == DRM_FORMAT_MOD_LINEAR && stride & 511)
                return false;