From: Ville Syrjälä Date: Wed, 11 Mar 2015 16:52:30 +0000 (+0200) Subject: drm/i915: Rewrite some some of the FDI lane checks X-Git-Tag: v4.1-rc1~69^2~24^2~9 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=251cc67c7a28c216c9d4377ff5bf435c4248679e;p=karo-tx-linux.git drm/i915: Rewrite some some of the FDI lane checks The logic in the FDI lane checks is very hard for my poor brain to grasp. Rewrite it in a more straightforward way. Cc: Ander Conselvan de Oliveira Cc: Daniel Vetter Signed-off-by: Ville Syrjälä Reviewed-by: Ander Conselvan de Oliveira Signed-off-by: Daniel Vetter --- diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 7580d3fe845a..b7de04c96f88 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -5580,14 +5580,13 @@ static bool ironlake_check_fdi_lanes(struct drm_device *dev, enum pipe pipe, } return true; case PIPE_C: - if (!pipe_has_enabled_pch(pipe_B_crtc) || - pipe_B_crtc->config->fdi_lanes <= 2) { - if (pipe_config->fdi_lanes > 2) { - DRM_DEBUG_KMS("invalid shared fdi lane config on pipe %c: %i lanes\n", - pipe_name(pipe), pipe_config->fdi_lanes); - return false; - } - } else { + if (pipe_config->fdi_lanes > 2) { + DRM_DEBUG_KMS("only 2 lanes on pipe %c: required %i lanes\n", + pipe_name(pipe), pipe_config->fdi_lanes); + return false; + } + if (pipe_has_enabled_pch(pipe_B_crtc) && + pipe_B_crtc->config->fdi_lanes > 2) { DRM_DEBUG_KMS("fdi link B uses too many lanes to enable link C\n"); return false; }