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

Zhenyu Wang zhenyuw at linux.intel.com
Tue Jul 21 08:42:17 CEST 2009


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20090721/abb74c34/attachment.sig>


More information about the Intel-gfx mailing list