Thread (7 messages) flat view 7 messages, 4 authors, 2004-06-04

Re: [Linux-fbdev-devel] [PATCH] fb accel capabilities (resend against 2.6.7-rc2)

From: Antonino A. Daplas <hidden>
Date: 2004-06-04 00:07:20
Also in: lkml

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help