drm/i915/gen9: Implement WaEnableYV12BugFixInHalfSliceChicken7
authorNick Hoath <nicholas.hoath@intel.com>
Thu, 5 Feb 2015 10:47:22 +0000 (10:47 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 13 Feb 2015 22:28:09 +0000 (23:28 +0100)
Move WaEnableYV12BugFixInHalfSliceChicken7 to gen9_init_workarounds

v2: Add stepping check.

Signed-off-by: Nick Hoath <nicholas.hoath@intel.com>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_ringbuffer.c

index dab4c1ebbc083ba6988add03b8567e1a686ab52f..4ee1964d2c7b246808feb0564dda6d693ede46de 100644 (file)
@@ -6216,6 +6216,9 @@ enum skl_disp_power_wells {
 #define   GEN9_DISABLE_OCL_OOB_SUPPRESS_LOGIC  (1<<5)
 #define   GEN8_SAMPLER_POWER_BYPASS_DIS        (1<<1)
 
+#define GEN9_HALF_SLICE_CHICKEN7       0xe194
+#define   GEN9_ENABLE_YV12_BUGFIX      (1<<4)
+
 /* Audio */
 #define G4X_AUD_VID_DID                        (dev_priv->info.display_mmio_offset + 0x62020)
 #define   INTEL_AUDIO_DEVCL            0x808629FB
index 909430ffa7fefa13f34bf055bf74a0eac26e8a3b..2ab447c711bcec3c8280015f4b3d5bfdbebe6981 100644 (file)
@@ -896,6 +896,12 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
                        ~GEN9_DG_MIRROR_FIX_ENABLE);
        }
 
+       if (INTEL_REVID(dev) >= SKL_REVID_C0) {
+               /* WaEnableYV12BugFixInHalfSliceChicken7:skl */
+               WA_SET_BIT_MASKED(GEN9_HALF_SLICE_CHICKEN7,
+                                 GEN9_ENABLE_YV12_BUGFIX);
+       }
+
        return 0;
 }