From 7e4e4c696b1686f6460f1e57962164f302cf6ee7 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Mon, 21 Oct 2013 21:53:19 +0200 Subject: [PATCH] drm/i915: Sanitize the PPT fdi lane bifurcate state on ivb We expect this bit to be always set when possible, but some BIOSes are lazy and don't do this. The result is a pile of WARNs and unhappy fdi link training code ... Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70507 Cc: stable@vger.kernel.org Signed-off-by: Daniel Vetter --- drivers/gpu/drm/i915/intel_display.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index cfe9e709..69c406c 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -10700,6 +10700,11 @@ static void intel_sanitize_crtc(struct intel_crtc *crtc) intel_enable_pipe_a(dev); } + /* Some BIOS don't always set this when it's possible ... */ + if (IS_IVYBRIDGE(dev) && crtc->pipe == PIPE_B && + crtc->config.fdi_lanes < 2) + cpt_enable_fdi_bc_bifurcation(dev); + /* Adjust the state of the output pipe according to whether we * have active connectors/encoders. */ intel_crtc_update_dpms(&crtc->base); -- 1.8.4.rc3