From e43a7e3db6c24b6f3fe649a51c5e88379dd2f567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Sun, 10 Mar 2013 16:54:09 +0100 Subject: [PATCH] intel_extreme: sanitize BIOS mode. * For LVDS output, the sync parameters aren't really used which is why the mode set from the BIOS might not be valid if the PLL hardware would actually be used. * Therefore, we sanitize this mode to make sure it's within allowed parameters so that intel_set_mode() will accept it. * This should fix at least #8132, and #8796. * Sorry for looking into this so late! I obviously messed up testing this before, as my EeePC 900 was actually affected by this, too. --- src/add-ons/accelerants/intel_extreme/mode.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/add-ons/accelerants/intel_extreme/mode.cpp b/src/add-ons/accelerants/intel_extreme/mode.cpp index 1ddb3436fb..76742c1d5d 100644 --- a/src/add-ons/accelerants/intel_extreme/mode.cpp +++ b/src/add-ons/accelerants/intel_extreme/mode.cpp @@ -632,6 +632,11 @@ save_lvds_mode(void) // dump currently programmed mode. display_mode biosMode; retrieve_current_mode(biosMode, INTEL_DISPLAY_B_PLL); + + sanitize_display_mode(biosMode); + // The BIOS mode may not be a valid mode, as LVDS output does not + // really care about the sync values + gInfo->lvds_panel_mode = biosMode; }