Re: Re[2]: [STATUS] fbdev api.

From: Antonino Daplas (adaplas@pol.net)
Date: Sat Dec 07 2002 - 05:22:07 EST


On Sat, 2002-12-07 at 03:59, Tobias Rittweiler wrote:
[...]
> >> c) instruction: | produces:
> >> ======================|==================
> >> 1. typing abc def | $ abc def
> >> | ^ (<- cursor)
> >> 2. going three chars | $ abc def
> >> ro the left | ^
> >> 3. pressing backspace | $ abcddef
> >> | ^
> >> 4. pressing enter | -bash: abcdef: command not found
> >> |
>
> AD> I get this also. Seems to occur only with colored terms. When I do
>
> AD> set TERM=vt100
>
> AD> the problem disappears, so I thought this was an isolated case with my
> AD> setup :-). Similar glitches happen also in emacs with syntax
> AD> highlighting turned on.
>
> Still there.
>
Can you try this? It should fix the problem you mentioned as well as the
emacs glitch. Also, a quick fix for character map generation failures
(KDFONTOP ioctl), ie when selecting console fonts. Finally, if fbdev
supports blanking, let's use that.

diff -Naur linux-2.5.50-js/drivers/video/console/fbcon.c linux/drivers/video/console/fbcon.c
--- linux-2.5.50-js/drivers/video/console/fbcon.c 2002-12-07 10:10:40.000000000 +0000
+++ linux/drivers/video/console/fbcon.c 2002-12-07 10:12:11.000000000 +0000
@@ -357,7 +357,7 @@
         area.dx = dx * vc->vc_font.width;
         area.dy = dy * vc->vc_font.height;
         area.height = height * vc->vc_font.height;
- area.width = width * vc->vc_font.height;
+ area.width = width * vc->vc_font.width;
 
         info->fbops->fb_copyarea(info, &area);
 }
@@ -910,6 +910,12 @@
 
         info->var.xoffset = info->var.yoffset = p->yscroll = 0; /* reset wrap/pan */
 
+ /*
+ * FIXME: need to set this in order for KDFONTOP ioctl
+ * to work
+ */
+ p->fontwidthmask = FONTWIDTHRANGE(1,16);
+
         for (i = 0; i < MAX_NR_CONSOLES; i++)
                 if (i != con && fb_display[i].fb_info == info &&
                     fb_display[i].conp && fb_display[i].fontdata)
@@ -1987,12 +1993,9 @@
                 else
                         update_screen(vc->vc_num);
                 return 0;
- } else {
- /* Tell console.c that it has to restore the screen itself */
- return 1;
- }
- fb_blank(blank, info);
- return 0;
+ }
+ else
+ return info->fbops->fb_blank(blank, info);
 }
 
 static void fbcon_free_font(struct display *p)

Tony

PS: James, can you also apply the following riva cleanup patch. It
fixes compile failures as well as removal of unused defines and
declarations.

Thanks.



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Dec 07 2002 - 22:00:29 EST