|
@@ -4825,9 +4825,13 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)
|
|
|
if (IS_IVB_GT1(dev))
|
|
|
I915_WRITE(GEN7_HALF_SLICE_CHICKEN1,
|
|
|
_MASKED_BIT_ENABLE(GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE));
|
|
|
- else
|
|
|
+ else {
|
|
|
+ /* must write both registers */
|
|
|
+ I915_WRITE(GEN7_HALF_SLICE_CHICKEN1,
|
|
|
+ _MASKED_BIT_ENABLE(GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE));
|
|
|
I915_WRITE(GEN7_HALF_SLICE_CHICKEN1_GT2,
|
|
|
_MASKED_BIT_ENABLE(GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE));
|
|
|
+ }
|
|
|
|
|
|
/* Apply the WaDisableRHWOOptimizationForRenderHang:ivb workaround. */
|
|
|
I915_WRITE(GEN7_COMMON_SLICE_CHICKEN1,
|
|
@@ -4841,10 +4845,13 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)
|
|
|
if (IS_IVB_GT1(dev))
|
|
|
I915_WRITE(GEN7_ROW_CHICKEN2,
|
|
|
_MASKED_BIT_ENABLE(DOP_CLOCK_GATING_DISABLE));
|
|
|
- else
|
|
|
+ else {
|
|
|
+ /* must write both registers */
|
|
|
+ I915_WRITE(GEN7_ROW_CHICKEN2,
|
|
|
+ _MASKED_BIT_ENABLE(DOP_CLOCK_GATING_DISABLE));
|
|
|
I915_WRITE(GEN7_ROW_CHICKEN2_GT2,
|
|
|
_MASKED_BIT_ENABLE(DOP_CLOCK_GATING_DISABLE));
|
|
|
-
|
|
|
+ }
|
|
|
|
|
|
/* WaForceL3Serialization:ivb */
|
|
|
I915_WRITE(GEN7_L3SQCREG4, I915_READ(GEN7_L3SQCREG4) &
|