aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dp.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-08-07 06:01:28 -0400
committerEric Anholt <eric@anholt.net>2010-08-09 14:24:34 -0400
commit1d8e1c75ffa84400758aef9cc59298920b8801f9 (patch)
treec1faa4ad7c8754330edd959d0726b19376cf4f9c /drivers/gpu/drm/i915/intel_dp.c
parent2e88e40bed136a7b7cb1c77d8dc6bd181d0d2732 (diff)
drm/i915: Enable aspect/centering panel fitting for Ironlake.
v2: Hook in DP paths to keep FULLSCREEN panel fitting on eDP. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp.c')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index c4c5868a8aa0..cee5d9ceb3b8 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -523,21 +523,9 @@ intel_dp_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode,
523 523
524 if ((IS_eDP(intel_dp) || IS_PCH_eDP(intel_dp)) && 524 if ((IS_eDP(intel_dp) || IS_PCH_eDP(intel_dp)) &&
525 dev_priv->panel_fixed_mode) { 525 dev_priv->panel_fixed_mode) {
526 struct drm_display_mode *fixed_mode = dev_priv->panel_fixed_mode; 526 intel_fixed_panel_mode(dev_priv->panel_fixed_mode, adjusted_mode);
527 527 intel_pch_panel_fitting(dev, DRM_MODE_SCALE_FULLSCREEN,
528 adjusted_mode->hdisplay = fixed_mode->hdisplay; 528 mode, adjusted_mode);
529 adjusted_mode->hsync_start = fixed_mode->hsync_start;
530 adjusted_mode->hsync_end = fixed_mode->hsync_end;
531 adjusted_mode->htotal = fixed_mode->htotal;
532
533 adjusted_mode->vdisplay = fixed_mode->vdisplay;
534 adjusted_mode->vsync_start = fixed_mode->vsync_start;
535 adjusted_mode->vsync_end = fixed_mode->vsync_end;
536 adjusted_mode->vtotal = fixed_mode->vtotal;
537
538 adjusted_mode->clock = fixed_mode->clock;
539 drm_mode_set_crtcinfo(adjusted_mode, CRTC_INTERLACE_HALVE_V);
540
541 /* 529 /*
542 * the mode->clock is used to calculate the Data&Link M/N 530 * the mode->clock is used to calculate the Data&Link M/N
543 * of the pipe. For the eDP the fixed clock should be used. 531 * of the pipe. For the eDP the fixed clock should be used.
@@ -572,8 +560,10 @@ intel_dp_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode,
572 "count %d clock %d\n", 560 "count %d clock %d\n",
573 intel_dp->link_bw, intel_dp->lane_count, 561 intel_dp->link_bw, intel_dp->lane_count,
574 adjusted_mode->clock); 562 adjusted_mode->clock);
563
575 return true; 564 return true;
576 } 565 }
566
577 return false; 567 return false;
578} 568}
579 569