From patchwork Tue Aug 3 19:34:55 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manoj Iyer X-Patchwork-Id: 60790 X-Patchwork-Delegate: steve.conklin@canonical.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from chlorine.canonical.com (chlorine.canonical.com [91.189.94.204]) by ozlabs.org (Postfix) with ESMTP id 9A4651007D1 for ; Wed, 4 Aug 2010 05:34:34 +1000 (EST) Received: from localhost ([127.0.0.1] helo=chlorine.canonical.com) by chlorine.canonical.com with esmtp (Exim 4.69) (envelope-from ) id 1OgNFt-00071K-NB; Tue, 03 Aug 2010 20:34:29 +0100 Received: from adelie.canonical.com ([91.189.90.139]) by chlorine.canonical.com with esmtp (Exim 4.69) (envelope-from ) id 1OgNFs-00070y-72 for kernel-team@lists.ubuntu.com; Tue, 03 Aug 2010 20:34:28 +0100 Received: from hutte.canonical.com ([91.189.90.181]) by adelie.canonical.com with esmtp (Exim 4.69 #1 (Debian)) id 1OgNFs-0003e1-4I for ; Tue, 03 Aug 2010 20:34:28 +0100 Received: from [70.114.236.114] (helo=hungry.local) by hutte.canonical.com with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.69) (envelope-from ) id 1OgNFr-0005y6-RX for kernel-team@lists.ubuntu.com; Tue, 03 Aug 2010 20:34:28 +0100 Date: Tue, 3 Aug 2010 14:34:55 -0500 (CDT) From: Manoj Iyer To: Ubuntu Kernel Team Subject: [SRU LUCID] Bug#554569 Blank screen with KMS on Thinkpad X201 with Arrandale (i915) Message-ID: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.9 Precedence: list Reply-To: Manoj Iyer List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kernel-team-bounces@lists.ubuntu.com Errors-To: kernel-team-bounces@lists.ubuntu.com BUG Acked-by: Tim Gardner Acked-by: Brad Figg === Blank screen with KMS on Thinkpad X201 with Arrandale (i915) http://launchpad.net/bugs/554569 SRU JUSTFICATION ================ This patch fixes the issue with Thinkpad X201 with Arrandale (i915), it is a critical patch needed to enable Thinkpad X201. TESTING ======= The patch was tested by vanhoof@canonical and Thomas Uehlinger details of the test results can be found towards the end of the bug report. PATCH ===== This patch is cherry picked from 2.6.34.y GKH stable tree. It applies cleanly to Lucid. It is a 2 line patch that applies to drivers/gpu/drm/i915/intel_display.c . Please consider for Lucid SRU. The following changes since commit 4d59634f6e1a9731f9f47979ef1af20007b866fe: Adam Jackson (1): drm/i915: Make G4X-style PLL search more permissive are available in the git repository at: git://kernel.ubuntu.com/git/manjo/ubuntu-lucid.git lp554569 From 4d59634f6e1a9731f9f47979ef1af20007b866fe Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Fri, 2 Jul 2010 16:43:30 -0400 Subject: [PATCH] drm/i915: Make G4X-style PLL search more permissive commit 6ba770dc5c334aff1c055c8728d34656e0f091e2 upstream. Fixes an Ironlake laptop with a 68.940MHz 1280x800 panel and 120MHz SSC reference clock. More generally, the 0.488% tolerance used before is just too tight to reliably find a PLL setting. I extracted the search algorithm and modified it to find the dot clocks with maximum error over the valid range for the given output type: http://people.freedesktop.org/~ajax/intel_g4x_find_best_pll.c This gave: Worst dotclock for Ironlake DAC refclk is 350000kHz (error 0.00571) Worst dotclock for Ironlake SL-LVDS refclk is 102321kHz (error 0.00524) Worst dotclock for Ironlake DL-LVDS refclk is 219642kHz (error 0.00488) Worst dotclock for Ironlake SL-LVDS SSC refclk is 84374kHz (error 0.00529) Worst dotclock for Ironlake DL-LVDS SSC refclk is 183035kHz (error 0.00488) Worst dotclock for G4X SDVO refclk is 267600kHz (error 0.00448) Worst dotclock for G4X HDMI refclk is 334400kHz (error 0.00478) Worst dotclock for G4X SL-LVDS refclk is 95571kHz (error 0.00449) Worst dotclock for G4X DL-LVDS refclk is 224000kHz (error 0.00510) Signed-off-by: Adam Jackson Signed-off-by: Eric Anholt Signed-off-by: Greg Kroah-Hartman (cherry picked from commit d4e0018e3e4dd685af25d300fd26a0d5a984482e) Signed-off-by: Manoj Iyer Buglink: http://launchpad.net/bugs/554569 --- drivers/gpu/drm/i915/intel_display.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 2d1ac14..7c89b83 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -879,8 +879,8 @@ intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, intel_clock_t clock; int max_n; bool found; - /* approximately equals target * 0.00488 */ - int err_most = (target >> 8) + (target >> 10); + /* approximately equals target * 0.00585 */ + int err_most = (target >> 8) + (target >> 9); found = false; if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) {