patch-2.3.13 linux/drivers/video/vesafb.c
Next file: linux/drivers/video/vfb.c
Previous file: linux/drivers/video/valkyriefb.c
Back to the patch index
Back to the overall index
- Lines: 127
- Date:
Mon Aug 9 11:35:04 1999
- Orig file:
v2.3.12/linux/drivers/video/vesafb.c
- Orig date:
Tue May 11 09:55:45 1999
diff -u --recursive --new-file v2.3.12/linux/drivers/video/vesafb.c linux/drivers/video/vesafb.c
@@ -96,8 +96,7 @@
static int currcon = 0;
static int pmi_setpal = 0; /* pmi for palette changes ??? */
-static int ypan = 0;
-static int ywrap = 0;
+static int ypan = 0; /* 0..nothing, 1..ypan, 2..ywrap */
static unsigned short *pmi_base = 0;
static void (*pmi_start)(void);
static void (*pmi_pal)(void);
@@ -130,13 +129,13 @@
{
int offset;
- if (!ypan && !ywrap)
+ if (!ypan)
return -EINVAL;
if (var->xoffset)
return -EINVAL;
- if (ypan && var->yoffset+var->yres > var->yres_virtual)
+ if (var->yoffset > var->yres_virtual)
return -EINVAL;
- if (ywrap && var->yoffset > var->yres_virtual)
+ if ((ypan==1) && var->yoffset+var->yres > var->yres_virtual)
return -EINVAL;
offset = (var->yoffset * video_linelength + var->xoffset) / 4;
@@ -154,7 +153,7 @@
static int vesafb_update_var(int con, struct fb_info *info)
{
- if (con == currcon && (ywrap || ypan)) {
+ if (con == currcon && ypan) {
struct fb_var_screeninfo *var = &fb_display[currcon].var;
return vesafb_pan_display(var,con,info);
}
@@ -172,8 +171,8 @@
fix->type = video_type;
fix->visual = video_visual;
fix->xpanstep = 0;
- fix->ypanstep = (ywrap || ypan) ? 1 : 0;
- fix->ywrapstep = ywrap ? 1 : 0;
+ fix->ypanstep = ypan ? 1 : 0;
+ fix->ywrapstep = (ypan>1) ? 1 : 0;
fix->line_length=video_linelength;
return 0;
}
@@ -245,7 +244,7 @@
}
memcpy(&vesafb_sw, sw, sizeof(*sw));
display->dispsw = &vesafb_sw;
- if (!ypan && !ywrap) {
+ if (!ypan) {
display->scrollmode = SCROLL_YREDRAW;
vesafb_sw.bmove = fbcon_redraw_bmove;
}
@@ -274,7 +273,7 @@
if ((var->activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_TEST)
return 0;
- if (ypan || ywrap) {
+ if (ypan) {
if (vesafb_defined.yres_virtual != var->yres_virtual) {
vesafb_defined.yres_virtual = var->yres_virtual;
if (con != -1) {
@@ -486,11 +485,11 @@
if (! strcmp(this_opt, "inverse"))
inverse=1;
else if (! strcmp(this_opt, "redraw"))
- ywrap=0,ypan=0;
+ ypan=0;
else if (! strcmp(this_opt, "ypan"))
- ywrap=0,ypan=1;
+ ypan=1;
else if (! strcmp(this_opt, "ywrap"))
- ywrap=1,ypan=0;
+ ypan=2;
else if (! strcmp(this_opt, "vgapal"))
pmi_setpal=0;
else if (! strcmp(this_opt, "pmipal"))
@@ -523,7 +522,7 @@
/* Not supported */
}
-__initfunc(void vesafb_init(void))
+void __init vesafb_init(void)
{
int i,j;
@@ -551,9 +550,9 @@
}
if (screen_info.vesapm_seg < 0xc000)
- ywrap = ypan = pmi_setpal = 0; /* not available or some DOS TSR ... */
+ ypan = pmi_setpal = 0; /* not available or some DOS TSR ... */
- if (ypan || ywrap || pmi_setpal) {
+ if (ypan || pmi_setpal) {
pmi_base = (unsigned short*)(__PAGE_OFFSET+((unsigned long)screen_info.vesapm_seg << 4) + screen_info.vesapm_off);
pmi_start = (void*)((char*)pmi_base + pmi_base[1]);
pmi_pal = (void*)((char*)pmi_base + pmi_base[2]);
@@ -571,7 +570,7 @@
* memory area and pass it in the ES register to the BIOS function.
*/
printk("vesafb: can't handle memory requests, pmi disabled\n");
- ywrap = ypan = pmi_setpal = 0;
+ ypan = pmi_setpal = 0;
}
}
}
@@ -582,13 +581,13 @@
vesafb_defined.yres_virtual=video_size / video_linelength;
vesafb_defined.bits_per_pixel=video_bpp;
- if ((ypan || ywrap) && vesafb_defined.yres_virtual > video_height) {
+ if (ypan && vesafb_defined.yres_virtual > video_height) {
printk("vesafb: scrolling: %s using protected mode interface, yres_virtual=%d\n",
- ywrap ? "ywrap" : "ypan",vesafb_defined.yres_virtual);
+ (ypan > 1) ? "ywrap" : "ypan",vesafb_defined.yres_virtual);
} else {
printk("vesafb: scrolling: redraw\n");
vesafb_defined.yres_virtual = video_height;
- ypan = ywrap = 0;
+ ypan = 0;
}
video_height_virtual = vesafb_defined.yres_virtual;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)