aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 86ea3890aa8a..1b5d878be975 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2539,11 +2539,19 @@ static bool intel_crtc_mode_fixup(struct drm_crtc *crtc,
2539 struct drm_display_mode *adjusted_mode) 2539 struct drm_display_mode *adjusted_mode)
2540{ 2540{
2541 struct drm_device *dev = crtc->dev; 2541 struct drm_device *dev = crtc->dev;
2542
2542 if (HAS_PCH_SPLIT(dev)) { 2543 if (HAS_PCH_SPLIT(dev)) {
2543 /* FDI link clock is fixed at 2.7G */ 2544 /* FDI link clock is fixed at 2.7G */
2544 if (mode->clock * 3 > IRONLAKE_FDI_FREQ * 4) 2545 if (mode->clock * 3 > IRONLAKE_FDI_FREQ * 4)
2545 return false; 2546 return false;
2546 } 2547 }
2548
2549 /* XXX some encoders set the crtcinfo, others don't.
2550 * Obviously we need some form of conflict resolution here...
2551 */
2552 if (adjusted_mode->crtc_htotal == 0)
2553 drm_mode_set_crtcinfo(adjusted_mode, 0);
2554
2547 return true; 2555 return true;
2548} 2556}
2549 2557