Re: radeonfb broken
From: Timothy Miller
Date: Fri Apr 16 2004 - 10:57:14 EST
Andrew Morton asked me to repost the patch for the Radeon FB off-by-one
bug. I'll see about making a proper patch when I get home, but if you
want to fix it quicker, I'll just tell you what to change.
In the druvers/video/radeonfb.c, there is a function called
fbcon_radeon_bmove. In there, you'll see this code:
if (srcy < dsty) {
srcy += height;
dsty += height;
} else
dp_cntl |= DST_Y_TOP_TO_BOTTOM;
if (srcx < dstx) {
srcx += width;
dstx += width;
} else
dp_cntl |= DST_X_LEFT_TO_RIGHT;
Those adds need to be reduced by one. The code should look like this:
if (srcy < dsty) {
srcy += height - 1;
dsty += height - 1;
} else
dp_cntl |= DST_Y_TOP_TO_BOTTOM;
if (srcx < dstx) {
srcx += width - 1;
dstx += width - 1;
} else
dp_cntl |= DST_X_LEFT_TO_RIGHT;
This bug is in the mainline kernel, and since I have direct experience
programming for the Radeon, I knew how to fix it, but I also noticed
that the Red Hat kernel "2.4.18-27.7.x" has the proper fix in it.
Whenever I download a new 2.4 kernel for gentoo, I have to manually make
that fix. I'm also disappointed that acceleration for Radeon has
disappeared completely from 2.6.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/