[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