From 80f35f32aa22d486727d2011e032becf6b12690b Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Thu, 4 Apr 2013 22:20:34 +0200 Subject: [PATCH] --- yaml --- r: 371447 b: refs/heads/master c: 9a7c7890d2f05af63f98ac397597755a3c009485 h: refs/heads/master i: 371445: e67c87ef3a058c26027335d8cb73ab29bc303797 371443: 8933dd80afb1c85708c7cb4307deaec28faa5c9b 371439: ed25a10dc35a9e1c0ae691e782d8d2caedc4ab21 v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/i915/intel_display.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 9f7b12806942..8a14b0732655 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f0b4405687f8b35173575be8493bf2af84b85091 +refs/heads/master: 9a7c7890d2f05af63f98ac397597755a3c009485 diff --git a/trunk/drivers/gpu/drm/i915/intel_display.c b/trunk/drivers/gpu/drm/i915/intel_display.c index f235e8a48b38..b884932c2e00 100644 --- a/trunk/drivers/gpu/drm/i915/intel_display.c +++ b/trunk/drivers/gpu/drm/i915/intel_display.c @@ -5469,7 +5469,8 @@ static void ironlake_fdi_set_m_n(struct drm_crtc *crtc) } static uint32_t ironlake_compute_dpll(struct intel_crtc *intel_crtc, - intel_clock_t *clock, u32 *fp) + intel_clock_t *clock, u32 *fp, + intel_clock_t *reduced_clock, u32 *fp2) { struct drm_crtc *crtc = &intel_crtc->base; struct drm_device *dev = crtc->dev; @@ -5511,6 +5512,9 @@ static uint32_t ironlake_compute_dpll(struct intel_crtc *intel_crtc, if (clock->m < factor * clock->n) *fp |= FP_CB_TUNE; + if (fp2 && (reduced_clock->m < factor * reduced_clock->n)) + *fp2 |= FP_CB_TUNE; + dpll = 0; if (is_lvds) @@ -5626,7 +5630,8 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc, fp2 = reduced_clock.n << 16 | reduced_clock.m1 << 8 | reduced_clock.m2; - dpll = ironlake_compute_dpll(intel_crtc, &clock, &fp); + dpll = ironlake_compute_dpll(intel_crtc, &clock, &fp, &reduced_clock, + has_reduced_clock ? &fp2 : NULL); DRM_DEBUG_KMS("Mode for pipe %d:\n", pipe); drm_mode_debug_printmodeline(mode);