From patchwork Mon Aug 31 06:13:18 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Zhao, Yakui" X-Patchwork-Id: 44804 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n7V6Dnhm016086 for ; Mon, 31 Aug 2009 06:13:49 GMT Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 882999E879; Sun, 30 Aug 2009 23:13:49 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 5A88E9E802 for ; Sun, 30 Aug 2009 23:13:46 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP; 30 Aug 2009 23:00:36 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.44,303,1249282800"; d="scan'208";a="546266187" Received: from yakui_zhao.sh.intel.com (HELO localhost.localdomain) ([10.239.13.157]) by orsmga001.jf.intel.com with ESMTP; 30 Aug 2009 23:13:08 -0700 From: yakui.zhao@intel.com To: eric@anholt.net Date: Mon, 31 Aug 2009 14:13:18 +0800 Message-Id: <1251699198-29873-1-git-send-email-yakui.zhao@intel.com> X-Mailer: git-send-email 1.5.4.5 Cc: intel-gfx@lists.freedesktop.org Subject: [Intel-gfx] [Patch] DRM/I915: Don't set the DPLL_MD multipler for LVDS output X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.9 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org From: Zhao Yakui When the output device is LVDS, maybe the pixel clock of adjusted_mode will be less than that in mode. In such case it will set the incorrect multipler factor in DPLL_MD register. So it is unnecessary to set dpll_md_reg when the output type is LVDS. https://bugs.freedesktop.org/show_bug.cgi?id=22761 Signed-off-by: Zhao Yakui --- drivers/gpu/drm/i915/intel_display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-2.6/drivers/gpu/drm/i915/intel_display.c =================================================================== --- linux-2.6.orig/drivers/gpu/drm/i915/intel_display.c 2009-08-31 10:36:49.000000000 +0800 +++ linux-2.6/drivers/gpu/drm/i915/intel_display.c 2009-08-31 14:02:00.000000000 +0800 @@ -2633,7 +2633,7 @@ /* Wait for the clocks to stabilize. */ udelay(150); - if (IS_I965G(dev) && !IS_IGDNG(dev)) { + if (IS_I965G(dev) && !IS_IGDNG(dev) && !is_lvds) { sdvo_pixel_multiply = adjusted_mode->clock / mode->clock; I915_WRITE(dpll_md_reg, (0 << DPLL_MD_UDI_DIVIDER_SHIFT) | ((sdvo_pixel_multiply - 1) << DPLL_MD_UDI_MULTIPLIER_SHIFT));