Sync bit bug in drivers/video/radeonfb.c ?

Kai Engert
2002-07-30T12:39:56Z

I suspect the line
v_sync_pol = sync & FB_SYNC_VERT_HIGH_ACT ? 0 : 1;
is incorrect, and probably also line
h_sync_pol = sync & FB_SYNC_HOR_HIGH_ACT ? 0 : 1;

If I use "fbset -vsync low" the uppermost line is only halfway displayed
on my system. With "fbset -vsync high" the uppermost line is fully visible.

I'm using 2.4.19-rc3-ac4 which has an entry in drivers/video/modedb.c to
support a 1280x600 screen resolution on Sony C1M*. That entry defines
fb_videomode->sync = FB_SYNC_VERT_HIGH_ACT

However, after booting the top level line is not fully visible.
I have to correct that manually with "fbset -vsync high".

The patch below makes it work on boot.

Also note, the variables vSyncPol and hSyncPol use the same assignments,
but seem to be unused, and should probably get removed.

Kai

PS: I'm not subscribed, please cc me on replys. Thanks.

--- bad/drivers/video/radeonfb.c Tue Jul 30 14:38:29 2002
+++ good/drivers/video/radeonfb.c Tue Jul 30 14:39:10 2002
@@ -2401,8 +2401,8 @@
}

sync = mode->sync;
- h_sync_pol = sync & FB_SYNC_HOR_HIGH_ACT ? 0 : 1;
- v_sync_pol = sync & FB_SYNC_VERT_HIGH_ACT ? 0 : 1;
+ h_sync_pol = sync & FB_SYNC_HOR_HIGH_ACT ? 1 : 0;
+ v_sync_pol = sync & FB_SYNC_VERT_HIGH_ACT ? 1 : 0;

RTRACE("hStart = %d, hEnd = %d, hTotal = %d\n",
hSyncStart, hSyncEnd, hTotal);