OSDN Git Service

drm/i915: Define WA 0870 and kill dead code.
authorRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 31 Oct 2018 16:28:44 +0000 (09:28 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 1 Nov 2018 18:25:35 +0000 (11:25 -0700)
Let's introduce the WA number that is the
cause of having NV12 disabled on both SLK and BXT.

According to Spec:

WA 0870: "Display flickers with NV12 video playback in
Y tiling mode.
WA: Use YUV422 surface format instead of NV12."

v2: remove the useless dead code and consequently
    avoiding device info flag. (Ville)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181031162845.12419-3-rodrigo.vivi@intel.com
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_sprite.c

index e25b708..f88dac8 100644 (file)
@@ -458,9 +458,6 @@ static const struct intel_limit intel_limits_bxt = {
 static void
 skl_wa_clkgate(struct drm_i915_private *dev_priv, int pipe, bool enable)
 {
-       if (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv))
-               return;
-
        if (enable)
                I915_WRITE(CLKGATE_DIS_PSL(pipe),
                           DUPS1_GATING_DIS | DUPS2_GATING_DIS);
@@ -5227,9 +5224,6 @@ static bool needs_nv12_wa(struct drm_i915_private *dev_priv,
        if (!crtc_state->nv12_planes)
                return false;
 
-       if (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv))
-               return false;
-
        if ((IS_GEN9(dev_priv) && !IS_GEMINILAKE(dev_priv)) ||
            IS_CANNONLAKE(dev_priv))
                return true;
index e7c95ec..370c827 100644 (file)
@@ -1868,6 +1868,7 @@ static bool skl_plane_has_planar(struct drm_i915_private *dev_priv,
        if (INTEL_GEN(dev_priv) >= 11)
                return plane_id <= PLANE_SPRITE3;
 
+       /* Display WA #0870: skl, bxt */
        if (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv))
                return false;