Re: vesafb scrolling weirdness

Gerd Knorr (kraxel@goldbach.isdn.cs.tu-berlin.de)
Sat, 11 Jul 1998 17:48:30 +0200 (MEST)


On Sat, 11 Jul 1998, Geert Uytterhoeven wrote:

> > >It seems there is definately something weird going on in the screen
> > >redraw routines when using vesafb.
[ ... ]

> That may explain it. There changed a lot in drivers/char/console.c. Can
> you try enabling the SCROLL_YREDRAW flag, as is done for creatorfb on
> SPARC? Then you won't have to do redraw yourself.

Cool. Works, and it is FAST. diff against 2.1.108 + 108b console
patches.

Gerd

------------------------------------------------------------------------------
diff -u kernel/2.1.108/drivers/video/vesafb.c linux/drivers/video/vesafb.c
--- kernel/2.1.108/drivers/video/vesafb.c Sat Jul 11 17:35:22 1998
+++ linux/drivers/video/vesafb.c Sat Jul 11 17:36:50 1998
@@ -99,17 +99,6 @@
#define USE_MEMMOVE 2

static vesafb_scroll = USE_REDRAW;
-static struct display_switch vesafb_sw;
-
-void vesafb_bmove(struct display *p, int sy, int sx, int dy, int dx,
- int height, int width)
-{
- /*
- * this is really faster than memmove (at least with my box)
- * read access to video memory is slow...
- */
- update_screen(currcon);
-}

/* --------------------------------------------------------------------- */

@@ -241,11 +230,8 @@
display->dispsw = NULL;
break;
}
- if (vesafb_scroll == USE_REDRAW) {
- memcpy(&vesafb_sw,display->dispsw,sizeof(vesafb_sw));
- vesafb_sw.bmove = vesafb_bmove;
- display->dispsw = &vesafb_sw;
- }
+ if (vesafb_scroll == USE_REDRAW)
+ display->scrollmode = SCROLL_YREDRAW;
}

static int vesafb_set_var(struct fb_var_screeninfo *var, int con,

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html