Re: [Linux-fbdev-devel] [PATCH] fb accel capabilities (resend against 2.6.7-rc2)
From: Antonino A. Daplas
Date: Thu Jun 03 2004 - 19:11:18 EST
On Friday 04 June 2004 02:01, David Eger wrote:
>
> On the down side, panning makes screen corruption for me... time to
> investigate to see if fbcon or radeonfb is to blame... perhaps panning is
> just incompatible with accel engine at all in radeon...
>
The one time I saw screen corruption with panning was when the console virtual
rows (p->vrows in fbcon.c) were unconditionally set to var->yres_virtual/
fontheight. In most cases, this will cause screen corruption (or even a GPU
crash) when you scroll down to end of virtual memory. Symptoms are corrupted
data when you pan to p->vrows, fixed by changing to another console and back
again.
The correct thing to do is not to scroll to the very end, but scroll only to a
point where you still have enough fb memory at the end of fbmem to display 1
screenful of data. This is done by subtracting several lines to p->vrows as
illustrated by this code snippet scattered in fbcon.c
p->vrows = info->var.yres_virtual / vc->vc_font.height;
if(info->var.yres > (vc->vc_font.height * (vc->vc_rows + 1))) {
p->vrows -= (info->var.yres - (vc->vc_font.height * vc->vc_rows)) /
vc->vc_font.height;
}
Or this in fbcon_resize()
p->vrows = var.yres_virtual/fh;
if (var.yres > (fh * (height + 1)))
p->vrows -= (var.yres - (fh * height)) / fh;
The above code is scattered because we cannot seem to find a central location
to strategically place it because of the very confusing console code :-(
Is it possible that the changes in your development tree might have failed to
appropriately update p->vrows?
Tony
P.S. I believe this corruption was spotted with fix contributed by Thomas
last year.
-
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/