diff options
author | Paulo Zanoni <paulo.r.zanoni@intel.com> | 2013-04-08 14:48:08 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-04-18 03:43:31 -0400 |
commit | dc4bd2d1095d0a7b45dcd23cc8a423a2952cbf4d (patch) | |
tree | 45731ccd767235042da115ae002c8e6fba8a96df | |
parent | 3f704fa2778d3fe45e6529825a5c7a8bcbc686f4 (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.h | 7 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 7 |
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 */ |