aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2010-03-31 11:41:51 -0400
committerEric Anholt <eric@anholt.net>2010-04-12 12:23:35 -0400
commit0f3ee801b332d6ff22285386675fe5aaedf035c3 (patch)
tree5a8a5af8af0bc7aa06cbe6fd429d676da78926be /drivers
parent6443170f6d862a1cc89e61e4bb2410b714b875f4 (diff)
drm/i915: Allow LVDS on pipe A on gen4+
The gen4 docs say it works, so why not. Tested on Ironlake. Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c4
-rw-r--r--drivers/gpu/drm/i915/intel_lvds.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 5a6980082064..eb4a265861ec 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3303,7 +3303,9 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
3303 lvds_reg = PCH_LVDS; 3303 lvds_reg = PCH_LVDS;
3304 3304
3305 lvds = I915_READ(lvds_reg); 3305 lvds = I915_READ(lvds_reg);
3306 lvds |= LVDS_PORT_EN | LVDS_A0A2_CLKA_POWER_UP | LVDS_PIPEB_SELECT; 3306 lvds |= LVDS_PORT_EN | LVDS_A0A2_CLKA_POWER_UP;
3307 if (pipe == 1)
3308 lvds |= LVDS_PIPEB_SELECT;
3307 /* set the corresponsding LVDS_BORDER bit */ 3309 /* set the corresponsding LVDS_BORDER bit */
3308 lvds |= dev_priv->lvds_border_bits; 3310 lvds |= dev_priv->lvds_border_bits;
3309 /* Set the B0-B3 data pairs corresponding to whether we're going to 3311 /* Set the B0-B3 data pairs corresponding to whether we're going to
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index bc0ab7d57dbc..a69de00320bc 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -953,6 +953,8 @@ void intel_lvds_init(struct drm_device *dev)
953 953
954 intel_encoder->clone_mask = (1 << INTEL_LVDS_CLONE_BIT); 954 intel_encoder->clone_mask = (1 << INTEL_LVDS_CLONE_BIT);
955 intel_encoder->crtc_mask = (1 << 1); 955 intel_encoder->crtc_mask = (1 << 1);
956 if (IS_I965G(dev))
957 intel_encoder->crtc_mask |= (1 << 0);
956 drm_encoder_helper_add(encoder, &intel_lvds_helper_funcs); 958 drm_encoder_helper_add(encoder, &intel_lvds_helper_funcs);
957 drm_connector_helper_add(connector, &intel_lvds_connector_helper_funcs); 959 drm_connector_helper_add(connector, &intel_lvds_connector_helper_funcs);
958 connector->display_info.subpixel_order = SubPixelHorizontalRGB; 960 connector->display_info.subpixel_order = SubPixelHorizontalRGB;