Commit 61e9653f authored by Daniel Vetter's avatar Daniel Vetter

drm/i915: reuse the sdvo tv clock adjustment in ilk mode_set

Jesse extracted this nice helper in his i9xx_crtc_mode_set refactor,
but we have the identical code in ironlake_ccrtc_mode_set. And that
function is huge, so extracting some code full of magic numbers is
always nice.

Noticed while trying to get a handle on our dp clock code.
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent e5153dc0
...@@ -4395,25 +4395,10 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc, ...@@ -4395,25 +4395,10 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
&clock, &clock,
&reduced_clock); &reduced_clock);
} }
/* SDVO TV has fixed PLL values depend on its clock range,
this mirrors vbios setting. */ if (is_sdvo && is_tv)
if (is_sdvo && is_tv) { i9xx_adjust_sdvo_tv_clock(adjusted_mode, &clock);
if (adjusted_mode->clock >= 100000
&& adjusted_mode->clock < 140500) {
clock.p1 = 2;
clock.p2 = 10;
clock.n = 3;
clock.m1 = 16;
clock.m2 = 8;
} else if (adjusted_mode->clock >= 140500
&& adjusted_mode->clock <= 200000) {
clock.p1 = 1;
clock.p2 = 10;
clock.n = 6;
clock.m1 = 12;
clock.m2 = 8;
}
}
/* FDI link */ /* FDI link */
pixel_multiplier = intel_mode_get_pixel_multiplier(adjusted_mode); pixel_multiplier = intel_mode_get_pixel_multiplier(adjusted_mode);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment