diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index ed6addf74275..711ec3314893 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -3989,7 +3989,7 @@ static int ironlake_fdi_compute_config(struct intel_crtc *intel_crtc, | |||
3989 | { | 3989 | { |
3990 | struct drm_device *dev = intel_crtc->base.dev; | 3990 | struct drm_device *dev = intel_crtc->base.dev; |
3991 | struct drm_display_mode *adjusted_mode = &pipe_config->adjusted_mode; | 3991 | struct drm_display_mode *adjusted_mode = &pipe_config->adjusted_mode; |
3992 | int target_clock, lane, link_bw; | 3992 | int target_clock, lane, link_bw, fdi_dotclock; |
3993 | bool setup_ok, needs_recompute = false; | 3993 | bool setup_ok, needs_recompute = false; |
3994 | 3994 | ||
3995 | retry: | 3995 | retry: |
@@ -4007,14 +4007,16 @@ retry: | |||
4007 | else | 4007 | else |
4008 | target_clock = adjusted_mode->clock; | 4008 | target_clock = adjusted_mode->clock; |
4009 | 4009 | ||
4010 | lane = ironlake_get_lanes_required(target_clock, link_bw, | 4010 | fdi_dotclock = target_clock; |
4011 | if (pipe_config->pixel_multiplier > 1) | ||
4012 | fdi_dotclock /= pipe_config->pixel_multiplier; | ||
4013 | |||
4014 | lane = ironlake_get_lanes_required(fdi_dotclock, link_bw, | ||
4011 | pipe_config->pipe_bpp); | 4015 | pipe_config->pipe_bpp); |
4012 | 4016 | ||
4013 | pipe_config->fdi_lanes = lane; | 4017 | pipe_config->fdi_lanes = lane; |
4014 | 4018 | ||
4015 | if (pipe_config->pixel_multiplier > 1) | 4019 | intel_link_compute_m_n(pipe_config->pipe_bpp, lane, fdi_dotclock, |
4016 | link_bw *= pipe_config->pixel_multiplier; | ||
4017 | intel_link_compute_m_n(pipe_config->pipe_bpp, lane, target_clock, | ||
4018 | link_bw, &pipe_config->fdi_m_n); | 4020 | link_bw, &pipe_config->fdi_m_n); |
4019 | 4021 | ||
4020 | setup_ok = ironlake_check_fdi_lanes(intel_crtc->base.dev, | 4022 | setup_ok = ironlake_check_fdi_lanes(intel_crtc->base.dev, |