drm/i915: Look at staged config when fixing pipe_src_w for LVDS
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Thu, 26 Feb 2015 07:44:45 +0000 (09:44 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 26 Feb 2015 13:26:43 +0000 (14:26 +0100)
The code in function intel_crtc_compute_config() that evens pipe_src_w
if necessary would look at the current config instead of the staged one
when deciding if there is an LVDS encoder in use. This could potentially
lead to the value not being updated, if during the modeset a crtc wasn't
driving an LVDS encoder.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index 3e13ee187e4dd89d1473cf745307ecb8b77da57d..93f1ff05a6f41fa83278373cb62dcbb3983f0919 100644 (file)
@@ -5577,7 +5577,7 @@ static int intel_crtc_compute_config(struct intel_crtc *crtc,
         * - LVDS dual channel mode
         * - Double wide pipe
         */
-       if ((intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) &&
+       if ((intel_pipe_will_have_type(crtc, INTEL_OUTPUT_LVDS) &&
             intel_is_dual_link_lvds(dev)) || pipe_config->double_wide)
                pipe_config->pipe_src_w &= ~1;