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

Brad Figg brad.figg at canonical.com
Tue Aug 3 19:48:45 UTC 2010


On 08/03/2010 12:39 PM, Tim Gardner wrote:
> 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.

Acked-by: Brad Figg <brad.figg at canonical.com>

-- 
Brad Figg brad.figg at canonical.com http://www.canonical.com




More information about the kernel-team mailing list