915gm/945gm/XAA lockup with gray blocks when switching video mode

Jesse Barnes jbarnes at virtuousgeek.org
Fri Oct 12 15:32:35 PDT 2007

On Friday, October 12, 2007 1:09 pm Peter Clifton wrote:
> Strictly speaking, we're now not restoring the full set of the video
> chips registers, so perhaps if your bios knows how to re-program the
> chip and say connect an external monitor to the other pipe, we'll
> have left it with a bad palette. IMO, thats better than the crashes,
> and perhaps something Intel will sort out "properly". I didn't want
> to delve into how complex it might be to deliberately program both
> pipelines just for the sake of restoring their palette regs.

Yeah, there are some other registers we don't save/restore, but we're 
addressing that (along with making the whole procedure a lot faster and 
more robust) by moving the save/restore code into the kernel.  BIOS 
interaction may remain an issue on some platforms...

> I noticed a similar register not-cleanly reinit in the probing of the
> tv output. A patch to fix this is:
> Index: xserver-xorg-video-intel-2.1.1/src/i830_tv.c
> ===================================================================
> --- xserver-xorg-video-intel-2.1.1.orig/src/i830_tv.c	2007-10-12
> 11:57:15.000000000 +0100 +++
> xserver-xorg-video-intel-2.1.1/src/i830_tv.c	2007-10-12
> 11:57:18.000000000 +0100 @@ -1361,6 +1361,7 @@
>      if (crtc)
>      {
>          i830_tv_detect_type (crtc, output);
> +        i830_tv_restore (output);
>          i830ReleaseLoadDetectPipe (output, dpms_mode);
>      }

Eric would have to comment on this one...

Thanks for looking into these issues.


More information about the xorg mailing list