i945G 1280x768 sync polarity bug

Barry Scott <[email protected]>
Newsgroups gmane.comp.xfree86.devel
Message-ID <[email protected]>
Using the Xfree86 4.6.0 i810 driver I'm seeing a problem with sync 
polarity setting.

This modeline is required for 1280x768 mode:

Modeline "1280x768"   79.30  1280 1335 1473 1665  768 769 772 793 -hsync 
+vsync

But the syncs, as shown on an oscilloscope are +hsync +vsync.

I added debug messages to show the Flags used. And here is a section of 
the log:

(II) I810(0): Not using built-in mode "1280x1024" (height too large for 
virtual size)
(II) I810(0): Not using built-in mode "1360x768" (width too large for 
virtual size)
(II) I810(0): Increasing the scanline pitch to allow tiling mode (1280 
-> 2048).
(--) I810(0): Virtual size is 1280x768 (pitch 2048)
(**) I810(0): *Built-in mode "1280x768"
(**) I810(0):  Built-in mode "1024x768"
(**) I810(0):  Built-in mode "800x600"
(**) I810(0):  Built-in mode "640x480"
(II) I810(0): Attempting to use 60.06Hz refresh for mode "1280x768" (85a)
(II) I810(0): I830SetModeParameters() Flags pMode->Flags 0x6 
block->Flags 0x4
(II) I810(0): Attempting to use 75.08Hz refresh for mode "1024x768" (854)
(II) I810(0): I830SetModeParameters() Flags pMode->Flags 0x5 
block->Flags 0x0
(II) I810(0): Attempting to use 75.00Hz refresh for mode "800x600" (852)
(II) I810(0): I830SetModeParameters() Flags pMode->Flags 0x5 
block->Flags 0x0
(II) I810(0): Attempting to use 75.00Hz refresh for mode "640x480" (850)
(II) I810(0): I830SetModeParameters() Flags pMode->Flags 0xa 
block->Flags 0xc

This shows that the I830SetModeParameters() has the correct values in 
but pMode-Flags
and block->Flags.

I have also tested other modes as listed here

Mode        Flags   Syncs on wire
 640x480    0xC     -hsync -vsync
 800x600    0x0     +hsync +vsync
1024x768    0xC     -hsync -vsync
1280x1024   0x0     +hsync +vsync
1280x768    0x4     +hsync +vsync

As you can see all the Syncs track the Flags except 1280x768.

Looking at the VBE code it seems that as long as the Flags are
defined correctly by the driver then its down to the INT10 BIOS
to set the syncs on the hardware.

Do you think this is a BIOS bug or a driver bug?

Barry
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.