diff options
author | Zhenyu Wang | 2009-03-24 07:02:43 +0100 |
---|---|---|
committer | Eric Anholt | 2009-04-02 00:22:05 +0200 |
commit | 7026d4ac1fc134566c2c946e6c0d849fc03ba7b7 (patch) | |
tree | 3845375aa46b8552e6857d5c64982fabd423ef14 /drivers/gpu/drm/i915/intel_display.c | |
parent | drm/i915: Fix SDVO CREATE_PREFERRED_INPUT_TIMING command (diff) | |
download | kernel-qcow2-linux-7026d4ac1fc134566c2c946e6c0d849fc03ba7b7.tar.gz kernel-qcow2-linux-7026d4ac1fc134566c2c946e6c0d849fc03ba7b7.tar.xz kernel-qcow2-linux-7026d4ac1fc134566c2c946e6c0d849fc03ba7b7.zip |
drm/i915: Fix SDVO TV support
This brings SDVO TV support from 2D driver, including origin
fix f1ca56e17d0 and later fix 2fcf4fcccfe. Also fix wrong modeline
definitions for SDVO TV.
Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 0b33760b04cb..64773ce52964 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -1106,6 +1106,26 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, return -EINVAL; } + /* SDVO TV has fixed PLL values depend on its clock range, + this mirrors vbios setting. */ + if (is_sdvo && is_tv) { + 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; + } + } + if (IS_IGD(dev)) fp = (1 << clock.n) << 16 | clock.m1 << 8 | clock.m2; else |