[SRU LUCID] Bug#554569 Blank screen with KMS on Thinkpad X201 with Arrandale (i915)

Tim Gardner tim.gardner at canonical.com
Tue Aug 3 19:39:49 UTC 2010


On 08/03/2010 01:34 PM, Manoj Iyer wrote:
>
> BUG
> ===
> 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 at 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<ajax at redhat.com>
> 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<ajax at redhat.com>
> Signed-off-by: Eric Anholt<eric at anholt.net>
> Signed-off-by: Greg Kroah-Hartman<gregkh at suse.de>
>
> (cherry picked from commit d4e0018e3e4dd685af25d300fd26a0d5a984482e)
>
> Signed-off-by: Manoj Iyer<manoj.iyer at canonical.com>
>
> 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)) {

Acked-by: Tim Gardner <tim.gardner at canonical.com>

though I think it could be cherry picked directly from Linus' tree.
-- 
Tim Gardner tim.gardner at canonical.com




More information about the kernel-team mailing list