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
- (unnamed) [application/pgp-signature] 189 bytes