Skip to contentSkip to conversation

Fix clearing of vertical margins

PATCH In review Knut Petersen 2 participants 3 messages Dec 20, 2005 – Dec 21, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix clearing of vertical margins

Whenever the font width does not divide the x resolution, the remainder of this division is a vertical margin at right of the screen. Whatever the video memory contains in that margin is displayed.

This patch corrects this behaviour. There is no performance impact as long as there is no vertical margin as fbcon_clear_margins() and bit_clear_margins() only execute additional code if really necessary.

I think this patch should be applied before 2.6.15-final.

drivers/video/console/fbcon.c +0 -0
diff -uprN -X linux/Documentation/dontdiff -x '*.bak' -x '*.ctx' linuxorig/drivers/video/console/fbcon.c linux/drivers/video/console/fbcon.c
@@ -1399,7 +1399,7 @@ static __inline__ void ypan_up(struct vc
	ops->var.yoffset = p->yscroll * vc->vc_font.height;
	ops->var.vmode &= ~FB_VMODE_YWRAP;
	ops->update_start(info);
-	fbcon_clear_margins(vc, 1);
+	fbcon_clear_margins(vc, 0);
	scrollback_max += count;
	if (scrollback_max > scrollback_phys_max)
		scrollback_max = scrollback_phys_max;
@@ -1426,7 +1426,7 @@ static __inline__ void ypan_up_redraw(st
	ops->var.yoffset = p->yscroll * vc->vc_font.height;
	ops->var.vmode &= ~FB_VMODE_YWRAP;
	ops->update_start(info);
-	fbcon_clear_margins(vc, 1);
+	fbcon_clear_margins(vc, 0);
	scrollback_max += count;
	if (scrollback_max > scrollback_phys_max)
		scrollback_max = scrollback_phys_max;
@@ -1450,7 +1450,7 @@ static __inline__ void ypan_down(struct 
	ops->var.yoffset = p->yscroll * vc->vc_font.height;
	ops->var.vmode &= ~FB_VMODE_YWRAP;
	ops->update_start(info);
-	fbcon_clear_margins(vc, 1);
+	fbcon_clear_margins(vc, 0);
	scrollback_max -= count;
	if (scrollback_max < 0)
		scrollback_max = 0;
@@ -1477,7 +1477,7 @@ static __inline__ void ypan_down_redraw(
	ops->var.yoffset = p->yscroll * vc->vc_font.height;
	ops->var.vmode &= ~FB_VMODE_YWRAP;
	ops->update_start(info);
-	fbcon_clear_margins(vc, 1);
+	fbcon_clear_margins(vc, 0);
	scrollback_max -= count;
	if (scrollback_max < 0)
		scrollback_max = 0;

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click

#1 lore raw
Quoted 11 lines · Knut Petersen

Whenever the font width does not divide the x resolution, the remainder of this division is a vertical margin at right of the screen. Whatever the video memory contains in that margin is displayed.

This patch corrects this behaviour. There is no performance impact as long as there is no vertical margin as fbcon_clear_margins() and bit_clear_margins() only execute additional code if really necessary.

I think this patch should be applied before 2.6.15-final.

NAK. The right margin is cleared just once on an fbcon_switch (entire yres_virtual). The right margin should remain cleared until another fbcon_switch happens so it's not necessary to clear the right margins again.

Tony

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click

#2 lore raw
Quoted 9 lines

NAK. The right margin is cleared just once on an fbcon_switch (entire yres_virtual). The right margin should remain cleared until another fbcon_switch happens so it's not necessary to clear the right margins again.

Tony

You are right. I hit an internal limit of the cyberblade engine.

cu,
knut

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click