Radeonfb v/hsync polarity defaults

From: Florian Lohoff <hidden>
Date: 2004-02-08 20:08:06

Hi,
i was just trying 2.6.2 on my Vaio C1MHP. It uses a RadeonM6 with a
1280x600 panel size. As on 2.4 it hs the same default problem of wrong
set v/hsync polarity. The radeonfb makes exactly the opposite
assumptions about default polarity as XFree does. I debugged this when
having the exact same problem on 2.4. I cooked the following patch
against a 2.4 version. This wrong polarity causes the display to shift
up by about 4-6 pixels which causes the top line to be unreadable while
at the bottom we have 4-6 unused rows.

I would like to see this fixed on 2.6 too so i am sending this again.
The patch does not apply to 2.6 as too much has changed but you get the
point.
--- radeonfb.c.orig	Wed Apr 30 19:22:55 2003
+++ radeonfb.c	Wed Apr 30 19:31:46 2003
@@ -1353,12 +1353,11 @@
 	var->hsync_len = rinfo->hSync_width;
 	var->vsync_len = rinfo->vSync_width;
 	var->sync = 0;
-	if (rinfo->synct == 3) {
-		if (rinfo->hAct_high)
-			var->sync |= FB_SYNC_HOR_HIGH_ACT;
-		if (rinfo->vAct_high)
-			var->sync |= FB_SYNC_VERT_HIGH_ACT;
-	}
+
+	if (rinfo->hAct_high)
+		var->sync |= FB_SYNC_HOR_HIGH_ACT;
+	if (rinfo->vAct_high)
+		var->sync |= FB_SYNC_VERT_HIGH_ACT;
 
 	var->vmode = 0;
 	if (rinfo->interlaced)
@@ -1404,6 +1403,11 @@
 			rinfo->vOver_plus = (readw(tmp0+28) & 0x7ff) - readw(tmp0+26);
 			rinfo->vSync_width = (readw(tmp0+28) & 0xf800) >> 11;
 			rinfo->clock = readw(tmp0+9);
+
+			/* We don't know that the H/V sync active level should be
+			   make the same assumptions as XFree does - High Active */
+			rinfo->vAct_high=1;
+			rinfo->hAct_high=1;
 
 			rinfo->got_dfpinfo = 1;
 			return 1;
Flo
-- 
Florian Lohoff                  flo@rfc822.org             +49-171-2280134
                        Heisenberg may have been here.

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help