Re: i945G 1280x768 sync polarity bug

2006-06-13 Thread Barry Scott

Tim Roberts wrote:

Barry Scott wrote:

  

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.




Does this matter any more?  I thought the relevance of sync polarity
ended in the middle of the Clinton administration.
  

Good question. We note that the EDID data wants these sync polarities.
Does the monitor use the pulse widths or the polarity to tell one mode
from another? We think that the polarity is used, but we are far from
certain.


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?




It may be an expectations bug.  As you note, the Intel driver, like the
Savage driver, relies on the BIOS to set the mode.  The BIOS has a
limited set of video modes, with canned parameters for each timing.  It
is not infinitely variable.  If the BIOS thinks 1280x768 should have
positive syncs, then you are going to get positive syncs

I'm using 915resolution to add 1280x768 and 1360x768 into the BIOS.

It seems that if there is an entry in the BIOS for 1280x768 then the driver
is happy to to call INT10 to pass in the timings and sync polarity data.

If as you say the BIOS timings are the only ones used then what is the point
of the INT10 call to pass in the timings?

Barry

___
Devel mailing list
Devel@XFree86.Org
http://XFree86.Org/mailman/listinfo/devel


Re: i945G 1280x768 sync polarity bug

2006-06-13 Thread Luc Verhaegen
On Tue, Jun 13, 2006 at 11:44:05AM +0100, Barry Scott wrote:

 Good question. We note that the EDID data wants these sync polarities.
 Does the monitor use the pulse widths or the polarity to tell one mode
 from another? We think that the polarity is used, but we are far from
 certain.

Talking CVT here? as sync polarity there is used to flag H:V proportion.

What problem are you trying to solve? If any of your monitors does have 
a problem requiring tight control over sync polarity, please provide a 
log with the EDID block dumped.

Luc Verhaegen.
___
Devel mailing list
Devel@XFree86.Org
http://XFree86.Org/mailman/listinfo/devel


Re: i945G 1280x768 sync polarity bug

2006-06-13 Thread Alex Deucher

On 6/13/06, Barry Scott [EMAIL PROTECTED] wrote:

Tim Roberts wrote:
 Barry Scott wrote:


 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.



 Does this matter any more?  I thought the relevance of sync polarity
 ended in the middle of the Clinton administration.

Good question. We note that the EDID data wants these sync polarities.
Does the monitor use the pulse widths or the polarity to tell one mode
from another? We think that the polarity is used, but we are far from
certain.

 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?



 It may be an expectations bug.  As you note, the Intel driver, like the
 Savage driver, relies on the BIOS to set the mode.  The BIOS has a
 limited set of video modes, with canned parameters for each timing.  It
 is not infinitely variable.  If the BIOS thinks 1280x768 should have
 positive syncs, then you are going to get positive syncs
I'm using 915resolution to add 1280x768 and 1360x768 into the BIOS.

It seems that if there is an entry in the BIOS for 1280x768 then the driver
is happy to to call INT10 to pass in the timings and sync polarity data.

If as you say the BIOS timings are the only ones used then what is the point
of the INT10 call to pass in the timings?



I'm not familiar with the i810's bios interface, but no other chip
I've ever worked on has allowed me to specify exact timings via the
BIOS.  It's usually either a VESA mode number or a size and a refresh
rate.  I doubt the i810 is much different, especially since most i810
bioses don't even support modes like 1280x768 out of the box.

Alex


Barry


___
Devel mailing list
Devel@XFree86.Org
http://XFree86.Org/mailman/listinfo/devel