aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaulo Zanoni <paulo.r.zanoni@intel.com>2013-04-08 14:48:08 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-04-18 03:43:31 -0400
commitdc4bd2d1095d0a7b45dcd23cc8a423a2952cbf4d (patch)
tree45731ccd767235042da115ae002c8e6fba8a96df
parent3f704fa2778d3fe45e6529825a5c7a8bcbc686f4 (diff)
drm/i915: preserve the PBC bits of TRANS_CHICKEN2
Bits 30 and 24:0 are PBC, so don't zero them. Some of the other bits are being zeroed, but I couldn't find a reason for this, so leave them as they are for now to avoid regressions. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com> [danvet: Delete the redudant #define that Imre spotted in his review.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h7
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c7
2 files changed, 11 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index fc8a4a940e92..31de7e4b1f3e 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -3959,8 +3959,11 @@
3959#define _TRANSA_CHICKEN2 0xf0064 3959#define _TRANSA_CHICKEN2 0xf0064
3960#define _TRANSB_CHICKEN2 0xf1064 3960#define _TRANSB_CHICKEN2 0xf1064
3961#define TRANS_CHICKEN2(pipe) _PIPE(pipe, _TRANSA_CHICKEN2, _TRANSB_CHICKEN2) 3961#define TRANS_CHICKEN2(pipe) _PIPE(pipe, _TRANSA_CHICKEN2, _TRANSB_CHICKEN2)
3962#define TRANS_CHICKEN2_TIMING_OVERRIDE (1<<31) 3962#define TRANS_CHICKEN2_TIMING_OVERRIDE (1<<31)
3963#define TRANS_CHICKEN2_FDI_POLARITY_REVERSED (1<<29) 3963#define TRANS_CHICKEN2_FDI_POLARITY_REVERSED (1<<29)
3964#define TRANS_CHICKEN2_FRAME_START_DELAY_MASK (3<<27)
3965#define TRANS_CHICKEN2_DISABLE_DEEP_COLOR_COUNTER (1<<26)
3966#define TRANS_CHICKEN2_DISABLE_DEEP_COLOR_MODESWITCH (1<<25)
3964 3967
3965#define SOUTH_CHICKEN1 0xc2000 3968#define SOUTH_CHICKEN1 0xc2000
3966#define FDIA_PHASE_SYNC_SHIFT_OVR 19 3969#define FDIA_PHASE_SYNC_SHIFT_OVR 19
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 6f67fa122f81..e34ad9642519 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3604,9 +3604,14 @@ static void cpt_init_clock_gating(struct drm_device *dev)
3604 * downward, on (only) LVDS of some HP laptops with IVY. 3604 * downward, on (only) LVDS of some HP laptops with IVY.
3605 */ 3605 */
3606 for_each_pipe(pipe) { 3606 for_each_pipe(pipe) {
3607 val = TRANS_CHICKEN2_TIMING_OVERRIDE; 3607 val = I915_READ(TRANS_CHICKEN2(pipe));
3608 val |= TRANS_CHICKEN2_TIMING_OVERRIDE;
3609 val &= ~TRANS_CHICKEN2_FDI_POLARITY_REVERSED;
3608 if (dev_priv->fdi_rx_polarity_inverted) 3610 if (dev_priv->fdi_rx_polarity_inverted)
3609 val |= TRANS_CHICKEN2_FDI_POLARITY_REVERSED; 3611 val |= TRANS_CHICKEN2_FDI_POLARITY_REVERSED;
3612 val &= ~TRANS_CHICKEN2_FRAME_START_DELAY_MASK;
3613 val &= ~TRANS_CHICKEN2_DISABLE_DEEP_COLOR_COUNTER;
3614 val &= ~TRANS_CHICKEN2_DISABLE_DEEP_COLOR_MODESWITCH;
3610 I915_WRITE(TRANS_CHICKEN2(pipe), val); 3615 I915_WRITE(TRANS_CHICKEN2(pipe), val);
3611 } 3616 }
3612 /* WADP0ClockGatingDisable */ 3617 /* WADP0ClockGatingDisable */