diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 00fbff5ddd81..f425b23e3803 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
| @@ -8184,8 +8184,8 @@ void gen6_enable_rps(struct drm_i915_private *dev_priv) | |||
| 8184 | I915_WRITE(GEN6_RC6pp_THRESHOLD, 64000); /* unused */ | 8184 | I915_WRITE(GEN6_RC6pp_THRESHOLD, 64000); /* unused */ |
| 8185 | 8185 | ||
| 8186 | if (intel_enable_rc6(dev_priv->dev)) | 8186 | if (intel_enable_rc6(dev_priv->dev)) |
| 8187 | rc6_mask = GEN6_RC_CTL_RC6p_ENABLE | | 8187 | rc6_mask = GEN6_RC_CTL_RC6_ENABLE | |
| 8188 | GEN6_RC_CTL_RC6_ENABLE; | 8188 | (IS_GEN7(dev_priv->dev)) ? GEN6_RC_CTL_RC6p_ENABLE : 0; |
| 8189 | 8189 | ||
| 8190 | I915_WRITE(GEN6_RC_CONTROL, | 8190 | I915_WRITE(GEN6_RC_CONTROL, |
| 8191 | rc6_mask | | 8191 | rc6_mask | |
| @@ -8463,12 +8463,32 @@ static void ivybridge_init_clock_gating(struct drm_device *dev) | |||
| 8463 | I915_WRITE(WM2_LP_ILK, 0); | 8463 | I915_WRITE(WM2_LP_ILK, 0); |
| 8464 | I915_WRITE(WM1_LP_ILK, 0); | 8464 | I915_WRITE(WM1_LP_ILK, 0); |
| 8465 | 8465 | ||
| 8466 | /* According to the spec, bit 13 (RCZUNIT) must be set on IVB. | ||
| 8467 | * This implements the WaDisableRCZUnitClockGating workaround. | ||
| 8468 | */ | ||
| 8469 | I915_WRITE(GEN6_UCGCTL2, GEN6_RCZUNIT_CLOCK_GATE_DISABLE); | ||
| 8470 | |||
| 8466 | I915_WRITE(ILK_DSPCLK_GATE, IVB_VRHUNIT_CLK_GATE); | 8471 | I915_WRITE(ILK_DSPCLK_GATE, IVB_VRHUNIT_CLK_GATE); |
| 8467 | 8472 | ||
| 8468 | I915_WRITE(IVB_CHICKEN3, | 8473 | I915_WRITE(IVB_CHICKEN3, |
| 8469 | CHICKEN3_DGMG_REQ_OUT_FIX_DISABLE | | 8474 | CHICKEN3_DGMG_REQ_OUT_FIX_DISABLE | |
| 8470 | CHICKEN3_DGMG_DONE_FIX_DISABLE); | 8475 | CHICKEN3_DGMG_DONE_FIX_DISABLE); |
| 8471 | 8476 | ||
| 8477 | /* Apply the WaDisableRHWOOptimizationForRenderHang workaround. */ | ||
| 8478 | I915_WRITE(GEN7_COMMON_SLICE_CHICKEN1, | ||
| 8479 | GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC); | ||
| 8480 | |||
| 8481 | /* WaApplyL3ControlAndL3ChickenMode requires those two on Ivy Bridge */ | ||
| 8482 | I915_WRITE(GEN7_L3CNTLREG1, | ||
| 8483 | GEN7_WA_FOR_GEN7_L3_CONTROL); | ||
| 8484 | I915_WRITE(GEN7_L3_CHICKEN_MODE_REGISTER, | ||
| 8485 | GEN7_WA_L3_CHICKEN_MODE); | ||
| 8486 | |||
| 8487 | /* This is required by WaCatErrorRejectionIssue */ | ||
| 8488 | I915_WRITE(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG, | ||
| 8489 | I915_READ(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG) | | ||
| 8490 | GEN7_SQ_CHICKEN_MBCUNIT_SQINTMOB); | ||
| 8491 | |||
| 8472 | for_each_pipe(pipe) { | 8492 | for_each_pipe(pipe) { |
| 8473 | I915_WRITE(DSPCNTR(pipe), | 8493 | I915_WRITE(DSPCNTR(pipe), |
| 8474 | I915_READ(DSPCNTR(pipe)) | | 8494 | I915_READ(DSPCNTR(pipe)) | |
