aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_crt.c
diff options
context:
space:
mode:
authorZhenyu Wang <zhenyuw@linux.intel.com>2010-04-07 04:15:54 -0400
committerEric Anholt <eric@anholt.net>2010-04-12 12:23:40 -0400
commit8db9d77b1b14fd730561f64beea8c00e4478d7c5 (patch)
tree2bcf1d1b4772c07d98d2ab462956c80a64bb0419 /drivers/gpu/drm/i915/intel_crt.c
parent3bad0781832e4e8c9a532f1169bfcd7257bcfd9e (diff)
drm/i915: Support for Cougarpoint PCH display pipeline
Cougarpoint is the new PCH for Sandybridge CPU. This one resolves the chipset change for display pipeline compared to previous Ibexpeak PCH. Sandybridge/Cougarpoint has different FDI training parameters, so this also makes seperate FDI training functions for IBX and CPT. Other change includes new transcoder DPLL select function to set which DPLL for transcoder to pick up. And with another new transcoder C introduced in Cougarpoint, each connector has new transcoder select bits. This one adds that change to light up VGA. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_crt.c')
-rw-r--r--drivers/gpu/drm/i915/intel_crt.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 4dd5daa8ebe..1f732ba568f 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -135,11 +135,17 @@ static void intel_crt_mode_set(struct drm_encoder *encoder,
135 adpa |= ADPA_VSYNC_ACTIVE_HIGH; 135 adpa |= ADPA_VSYNC_ACTIVE_HIGH;
136 136
137 if (intel_crtc->pipe == 0) { 137 if (intel_crtc->pipe == 0) {
138 adpa |= ADPA_PIPE_A_SELECT; 138 if (HAS_PCH_CPT(dev))
139 adpa |= PORT_TRANS_A_SEL_CPT;
140 else
141 adpa |= ADPA_PIPE_A_SELECT;
139 if (!HAS_PCH_SPLIT(dev)) 142 if (!HAS_PCH_SPLIT(dev))
140 I915_WRITE(BCLRPAT_A, 0); 143 I915_WRITE(BCLRPAT_A, 0);
141 } else { 144 } else {
142 adpa |= ADPA_PIPE_B_SELECT; 145 if (HAS_PCH_CPT(dev))
146 adpa |= PORT_TRANS_B_SEL_CPT;
147 else
148 adpa |= ADPA_PIPE_B_SELECT;
143 if (!HAS_PCH_SPLIT(dev)) 149 if (!HAS_PCH_SPLIT(dev))
144 I915_WRITE(BCLRPAT_B, 0); 150 I915_WRITE(BCLRPAT_B, 0);
145 } 151 }