|
@@ -5269,6 +5269,14 @@ static void gen8_init_clock_gating(struct drm_device *dev)
|
|
|
I915_READ(CHICKEN_PIPESL_1(i) |
|
|
|
DPRS_MASK_VBLANK_SRD));
|
|
|
}
|
|
|
+
|
|
|
+ /* Use Force Non-Coherent whenever executing a 3D context. This is a
|
|
|
+ * workaround for for a possible hang in the unlikely event a TLB
|
|
|
+ * invalidation occurs during a PSD flush.
|
|
|
+ */
|
|
|
+ I915_WRITE(HDC_CHICKEN0,
|
|
|
+ I915_READ(HDC_CHICKEN0) |
|
|
|
+ _MASKED_BIT_ENABLE(HDC_FORCE_NON_COHERENT));
|
|
|
}
|
|
|
|
|
|
static void haswell_init_clock_gating(struct drm_device *dev)
|