[Intel-gfx] [PATCH]i830_display.c:don't disable vga centering bit.

Ma, Ling ling.ma at intel.com
Wed Jul 22 10:42:57 CEST 2009


Hi Olivier
Today I have tested two cases: with and without checking vgacntrl disable state
on Q43 platform, it works fine. So could you please confirm the platform
you used ?

Thanks
Ma Ling 

>-----Original Message-----
>From: intel-gfx-bounces at lists.freedesktop.org
>[mailto:intel-gfx-bounces at lists.freedesktop.org] On Behalf Of Zhenyu Wang
>Sent: 2009年7月21日 14:42
>To: Olivier Fourdan
>Cc: Ma, Ling; intel-gfx at lists.freedesktop.org
>Subject: Re: [Intel-gfx] [PATCH]i830_display.c:don't disable vga centering
>bit.
>
>On 2009.07.15 14:49:45 +0100, Olivier Fourdan wrote:
>> Olivier Fourdan said the following on 07/15/2009 11:58 AM:
>> >Ma Ling said the following on 02/05/2009 09:48 AM:
>> > > commit id db9f5915ce812144ffd9d2aa42e8ba
>> > > which resolved bug #17235, but generate new regression-bug #19715.
>> > > This patch intends to resolve bug #17235, and avoid regression as well.
>> > > We have successfully re-tested it for bug #17235 and #19715 respectively.
>> >
>> >Actually, I suspect commit db9f5915 has also introduced another
>> >regression when changing resolution with a VGA connected monitor,
>> >which is not addressed by the later commit cdcca959 and is still
>> >present in the latest of the 2.6 branch (2.6.3) apparently.
>> >
>> >Without the patch from db9f5915 (and following), changing resolutions
>> >with only VGA connected on a Q45/Q43 chipset works fine and reliably.
>> >
>> >However, with that patch applied, the monitor sometimes (roughly half
>> >of the time) goes out of sync after changing the resolution with
>> >xrandr and the display remains black.
>> >[...]
>>
>>
>>
>> Actually KMS seems to be immune to the problem. So comparing the
>> code of i9xx_crtc_dpms() in intel_display.c in the kernel code with
>> the one from its equivalent i830_crtc_dpms() in i830_display.c I see
>> that the VGA_DISP_DISABLE is disabled no matter what in the kernel
>> driver whereas in i830_disable_vga_plane() the function returns
>> immediatly if the bit is already set:
>>
>> The problem reported previously does not seem to occur with the
>> attached patch.
>>
>> Cheers,
>> Olivier.
>
>> diff --git a/src/i830_display.c b/src/i830_display.c
>> index 59ededc..16249fb 100644
>> --- a/src/i830_display.c
>> +++ b/src/i830_display.c
>> @@ -1079,9 +1079,6 @@ i830_disable_vga_plane (xf86CrtcPtr crtc)
>>      uint32_t vgacntrl = INREG(VGACNTRL);
>>      uint8_t sr01;
>>
>> -    if (vgacntrl & VGA_DISP_DISABLE)
>> -	return;
>> -
>>      /*
>>         Set bit 5 of SR01;
>>         Wait 30us;
>
>Thanks Oliver, this looks fine to me.
>Ma Ling, could you help to verify this on G43 board? which has the
>original VGA disable issue. You can test and check this along with
>your current KMS patch.
>
>--
>Open Source Technology Center, Intel ltd.
>
>$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827


More information about the Intel-gfx mailing list