diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-12-04 02:45:57 -0500 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-12-04 08:41:04 -0500 |
commit | 49078f7d108f132582e5af46304c317b55f83948 (patch) | |
tree | ce32c5971d1d70444142e7e618c29b63b5a6e4fe /drivers/gpu | |
parent | 22ed1113a9adda6e193c329119a384362da01289 (diff) |
drm/i915: Factor in pixel-repeat in FDI M/N calculation
Fixes the modesetting on the secondary panel of the Libretto W100 and
presumably many more Ironlake laptops with SDVO LVDS displays.
Reported-and-tested-by: Matthew Willoughby <mattfredwill@gmail.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@kernel.org
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index fac118b2df7d..d9b7092439ef 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -3710,6 +3710,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
3710 | 3710 | ||
3711 | /* FDI link */ | 3711 | /* FDI link */ |
3712 | if (HAS_PCH_SPLIT(dev)) { | 3712 | if (HAS_PCH_SPLIT(dev)) { |
3713 | int pixel_multiplier = intel_mode_get_pixel_multiplier(adjusted_mode); | ||
3713 | int lane = 0, link_bw, bpp; | 3714 | int lane = 0, link_bw, bpp; |
3714 | /* CPU eDP doesn't require FDI link, so just set DP M/N | 3715 | /* CPU eDP doesn't require FDI link, so just set DP M/N |
3715 | according to current link config */ | 3716 | according to current link config */ |
@@ -3793,6 +3794,8 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
3793 | 3794 | ||
3794 | intel_crtc->fdi_lanes = lane; | 3795 | intel_crtc->fdi_lanes = lane; |
3795 | 3796 | ||
3797 | if (pixel_multiplier > 1) | ||
3798 | link_bw *= pixel_multiplier; | ||
3796 | ironlake_compute_m_n(bpp, lane, target_clock, link_bw, &m_n); | 3799 | ironlake_compute_m_n(bpp, lane, target_clock, link_bw, &m_n); |
3797 | } | 3800 | } |
3798 | 3801 | ||