@@ -841,6 +841,17 @@ static int chv_init_workarounds(struct intel_engine_cs *ring)
return 0;
}
+static int skl_init_workarounds(struct intel_engine_cs *ring)
+{
+ struct drm_device *dev = ring->dev;
+ struct drm_i915_private *dev_priv = dev->dev_private;
+
+ /* WaHdcCtxNonCoherent:skl */
+ WA_SET_BIT_MASKED(HDC_CHICKEN0, HDC_FORCE_CTX_NON_COHERENT);
+
+ return 0;
+}
+
int init_workarounds_ring(struct intel_engine_cs *ring)
{
struct drm_device *dev = ring->dev;
@@ -856,6 +867,9 @@ int init_workarounds_ring(struct intel_engine_cs *ring)
if (IS_CHERRYVIEW(dev))
return chv_init_workarounds(ring);
+ if (IS_SKYLAKE(dev))
+ return skl_init_workarounds(ring);
+
return 0;
}
Cc: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Ben Widawsky <ben@bwidawsk.net> --- drivers/gpu/drm/i915/intel_ringbuffer.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)