Thread (6 messages) flat view 6 messages, 3 authors, 2003-02-12
STALE8611d

[PATCH] Funny sync calculation correction

From: Fredrik Noring <hidden>
Date: 2003-01-24 23:16:36

I've been digging around in the rivafb module to find out why some
modes converted from XFree86 4.2 don't work on some display devices.
Here's a funny part of the riva_load_video_mode function (Linux
2.4.21-pre2):

	hStart = (hDisplaySize + video_mode->right_margin) / 8 + 2;
	hEnd   = (hDisplaySize + video_mode->right_margin +
		 video_mode->hsync_len) / 8 - 1;

Please notice how "hsync_len" does not actually represent the length
of the sync. Rather, it's compensated with 24 pixels. The corresponding
code in the XFree86 4.2 (nv_dac.c) contains no such compensation:

    int horizStart      = (mode->CrtcHSyncStart/8) - 1;
    int horizEnd        = (mode->CrtcHSyncEnd/8)   - 1;

The difference seems to be almost insignificant for modern multisync
screens, but devices such as TV:s get confused by the current version.
Is there a reason for the difference in calculations?

The attached patch corrects the calculations in accordance with XFree86
and works better with the modelines I've tested. 

Please give it a try. Thanks,

	Fredrik
--- linux-2.4.21-pre2/drivers/video/riva/fbdev.c.orig	2003-01-24 23:59:56.000000000 +0100
+++ linux-2.4.21-pre2/drivers/video/riva/fbdev.c	2003-01-25 00:00:24.000000000 +0100
@@ -874,7 +874,7 @@
 	width = video_mode->xres_virtual;
 	hDisplaySize = video_mode->xres;
 	hDisplay = (hDisplaySize / 8) - 1;
-	hStart = (hDisplaySize + video_mode->right_margin) / 8 + 2;
+	hStart = (hDisplaySize + video_mode->right_margin) / 8 - 1;
 	hEnd = (hDisplaySize + video_mode->right_margin +
 		video_mode->hsync_len) / 8 - 1;
 	hTotal = (hDisplaySize + video_mode->right_margin +



-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help