patch-2.4.22 linux-2.4.22/drivers/video/vesafb.c
Next file: linux-2.4.22/fs/Config.in
Previous file: linux-2.4.22/drivers/video/sis/vstruct.h
Back to the patch index
Back to the overall index
- Lines: 41
- Date:
2003-08-25 04:44:43.000000000 -0700
- Orig file:
linux-2.4.21/drivers/video/vesafb.c
- Orig date:
2003-06-13 07:51:37.000000000 -0700
diff -urN linux-2.4.21/drivers/video/vesafb.c linux-2.4.22/drivers/video/vesafb.c
@@ -94,6 +94,7 @@
static int inverse = 0;
static int mtrr = 0;
+static int vram __initdata = 0; /* needed for vram boot option */
static int currcon = 0;
static int pmi_setpal = 0; /* pmi for palette changes ??? */
@@ -479,6 +480,10 @@
pmi_setpal=1;
else if (! strcmp(this_opt, "mtrr"))
mtrr=1;
+ /* checks for vram boot option */
+ else if (! strncmp(this_opt, "vram:", 5))
+ vram = simple_strtoul(this_opt+5, NULL, 0);
+
else if (!strncmp(this_opt, "font:", 5))
strcpy(fb_info.fontname, this_opt+5);
}
@@ -520,7 +525,20 @@
video_width = screen_info.lfb_width;
video_height = screen_info.lfb_height;
video_linelength = screen_info.lfb_linelength;
- video_size = screen_info.lfb_width * screen_info.lfb_height * video_bpp;
+
+ /* remap memory according to videomode, multiply by 2 to get space for doublebuffering */
+ video_size = screen_info.lfb_width * screen_info.lfb_height * video_bpp / 8 * 2;
+
+ /* check that we don't remap more memory than old cards have */
+ if (video_size > screen_info.lfb_size * 65536)
+ video_size = screen_info.lfb_size * 65536;
+
+ /* FIXME: Should we clip against declared size for banked devices ? */
+
+ /* sets video_size according to vram boot option */
+ if (vram && vram * 1024 * 1024 != video_size)
+ video_size = vram * 1024 * 1024;
+
video_visual = (video_bpp == 8) ?
FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)