aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAntonino Daplas <adaplas@hotpop.com>2004-08-22 22:50:25 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-08-22 22:50:25 -0700
commitc4295bc2ad539837cecf0cf5997c6667509106e3 (patch)
treed34ac9311f16415b025dd323c4a3ac1e7c45c46b /drivers
parent64faa58668e2013d683254f20fc35756ce5f490b (diff)
downloadhistory-c4295bc2ad539837cecf0cf5997c6667509106e3.tar.gz
[PATCH] fbdev: ATTN: Maintainers - Set correct hardware capabilities
With David Eger's patch for advertising hardware capabilities to fbcon, only a few drivers so far have been converted to do just that. As a result, scrolling speed of some drivers will not be optimal (SCROLL_REDRAW). The patch adds the correct flags for all drivers (except for matroxfb -leave this to Petr-, and a few drivers that are not ported yet to 2.6). *Majority of changes is FBINFO_FLAG_DEFAULT -> FBINFO_DEFAULT Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/68328fb.c2
-rw-r--r--drivers/video/acornfb.c2
-rw-r--r--drivers/video/amifb.c5
-rw-r--r--drivers/video/asiliantfb.c2
-rw-r--r--drivers/video/bw2.c2
-rw-r--r--drivers/video/cg14.c2
-rw-r--r--drivers/video/cg3.c2
-rw-r--r--drivers/video/cg6.c3
-rw-r--r--drivers/video/chipsfb.c2
-rw-r--r--drivers/video/clps711xfb.c2
-rw-r--r--drivers/video/controlfb.c2
-rw-r--r--drivers/video/cyber2000fb.c2
-rw-r--r--drivers/video/epson1355fb.c2
-rw-r--r--drivers/video/ffb.c2
-rw-r--r--drivers/video/fm2fb.c2
-rw-r--r--drivers/video/g364fb.c2
-rw-r--r--drivers/video/gbefb.c2
-rw-r--r--drivers/video/hgafb.c2
-rw-r--r--drivers/video/hitfb.c2
-rw-r--r--drivers/video/hpfb.c2
-rw-r--r--drivers/video/igafb.c2
-rw-r--r--drivers/video/imsttfb.c5
-rw-r--r--drivers/video/kyro/fbdev.c2
-rw-r--r--drivers/video/leo.c2
-rw-r--r--drivers/video/macfb.c2
-rw-r--r--drivers/video/maxinefb.c2
-rw-r--r--drivers/video/neofb.c6
-rw-r--r--drivers/video/offb.c2
-rw-r--r--drivers/video/p9100.c2
-rw-r--r--drivers/video/platinumfb.c2
-rw-r--r--drivers/video/pm2fb.c3
-rw-r--r--drivers/video/pmag-ba-fb.c2
-rw-r--r--drivers/video/pmagb-b-fb.c2
-rw-r--r--drivers/video/pvr2fb.c2
-rw-r--r--drivers/video/pxafb.c2
-rw-r--r--drivers/video/q40fb.c2
-rw-r--r--drivers/video/radeonfb.c2
-rw-r--r--drivers/video/sa1100fb.c2
-rw-r--r--drivers/video/sgivwfb.c2
-rw-r--r--drivers/video/sstfb.c2
-rw-r--r--drivers/video/stifb.c2
-rw-r--r--drivers/video/tcx.c2
-rw-r--r--drivers/video/tdfxfb.c6
-rw-r--r--drivers/video/tgafb.c3
-rw-r--r--drivers/video/tridentfb.c5
-rw-r--r--drivers/video/tx3912fb.c2
-rw-r--r--drivers/video/valkyriefb.c2
47 files changed, 67 insertions, 47 deletions
diff --git a/drivers/video/68328fb.c b/drivers/video/68328fb.c
index 856e954322b266..5c0c1b41705bb4 100644
--- a/drivers/video/68328fb.c
+++ b/drivers/video/68328fb.c
@@ -466,7 +466,7 @@ int __init mc68x328fb_init(void)
fb_info.var.red.offset = fb_info.var.green.offset = fb_info.var.blue.offset = 0;
}
fb_info.pseudo_palette = &mc68x328fb_pseudo_palette;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
fb_alloc_cmap(&fb_info.cmap, 256, 0);
diff --git a/drivers/video/acornfb.c b/drivers/video/acornfb.c
index 0c3aa4a7f79692..420c726bbc57d6 100644
--- a/drivers/video/acornfb.c
+++ b/drivers/video/acornfb.c
@@ -1010,7 +1010,7 @@ static void __init acornfb_init_fbinfo(void)
first = 0;
fb_info.fbops = &acornfb_ops;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
fb_info.pseudo_palette = current_par.pseudo_palette;
strcpy(fb_info.fix.id, "Acorn");
diff --git a/drivers/video/amifb.c b/drivers/video/amifb.c
index 95ea71c9ba4cab..78275bb8bfd5cf 100644
--- a/drivers/video/amifb.c
+++ b/drivers/video/amifb.c
@@ -1307,6 +1307,8 @@ static int amifb_set_par(struct fb_info *info)
info->fix.ywrapstep = 1;
info->fix.xpanstep = 0;
info->fix.ypanstep = 0;
+ info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YWRAP |
+ FBINFO_READS_FAST; /* override SCROLL_REDRAW */
} else {
info->fix.ywrapstep = 0;
if (par->vmode & FB_VMODE_SMOOTH_XPAN)
@@ -1314,6 +1316,7 @@ static int amifb_set_par(struct fb_info *info)
else
info->fix.xpanstep = 16<<maxfmode;
info->fix.ypanstep = 1;
+ info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
}
return 0;
}
@@ -2382,7 +2385,7 @@ default_chipset:
fb_info.fbops = &amifb_ops;
fb_info.par = &currentpar;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT;
if (!fb_find_mode(&fb_info.var, &fb_info, mode_option, ami_modedb,
NUM_TOTAL_MODES, &ami_modedb[defmode], 4)) {
diff --git a/drivers/video/asiliantfb.c b/drivers/video/asiliantfb.c
index 1563b0d27d7179..aae7ac0733cf12 100644
--- a/drivers/video/asiliantfb.c
+++ b/drivers/video/asiliantfb.c
@@ -524,7 +524,7 @@ static void __init init_asiliant(struct fb_info *p, unsigned long addr)
p->fix.smem_start = addr;
p->var = asiliantfb_var;
p->fbops = &asiliantfb_ops;
- p->flags = FBINFO_FLAG_DEFAULT;
+ p->flags = FBINFO_DEFAULT;
fb_alloc_cmap(&p->cmap, 256, 0);
diff --git a/drivers/video/bw2.c b/drivers/video/bw2.c
index 0a67639e21c423..7ab81f5f8bab2b 100644
--- a/drivers/video/bw2.c
+++ b/drivers/video/bw2.c
@@ -351,7 +351,7 @@ static void bw2_init_one(struct sbus_dev *sdev)
all->par.fbsize = PAGE_ALIGN(linebytes * all->info.var.yres);
- all->info.flags = FBINFO_FLAG_DEFAULT;
+ all->info.flags = FBINFO_DEFAULT;
all->info.fbops = &bw2_ops;
#if defined(CONFIG_SPARC32)
if (sdev)
diff --git a/drivers/video/cg14.c b/drivers/video/cg14.c
index e0fc4c02c3bf80..1cd4eb32584443 100644
--- a/drivers/video/cg14.c
+++ b/drivers/video/cg14.c
@@ -550,7 +550,7 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node)
all->par.mode = MDI_8_PIX;
all->par.ramsize = (is_8mb ? 0x800000 : 0x400000);
- all->info.flags = FBINFO_FLAG_DEFAULT;
+ all->info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
all->info.fbops = &cg14_ops;
all->info.currcon = -1;
all->info.par = &all->par;
diff --git a/drivers/video/cg3.c b/drivers/video/cg3.c
index dd0163cc31cba6..53a7a6f6dc7a7b 100644
--- a/drivers/video/cg3.c
+++ b/drivers/video/cg3.c
@@ -398,7 +398,7 @@ static void cg3_init_one(struct sbus_dev *sdev)
sbus_ioremap(&sdev->resource[0], CG3_REGS_OFFSET,
sizeof(struct cg3_regs), "cg3 regs");
- all->info.flags = FBINFO_FLAG_DEFAULT;
+ all->info.flags = FBINFO_DEFAULT;
all->info.fbops = &cg3_ops;
#ifdef CONFIG_SPARC32
all->info.screen_base = (char *)
diff --git a/drivers/video/cg6.c b/drivers/video/cg6.c
index 469ac206081d32..9d30d9623a22cf 100644
--- a/drivers/video/cg6.c
+++ b/drivers/video/cg6.c
@@ -712,7 +712,8 @@ static void cg6_init_one(struct sbus_dev *sdev)
sbus_ioremap(&sdev->resource[0], CG6_FHC_OFFSET,
sizeof(u32), "cgsix fhc");
- all->info.flags = FBINFO_FLAG_DEFAULT;
+ all->info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_IMAGEBLIT |
+ FBINFO_HWACCEL_COPYAREA | FBINFO_HWACCEL_FILLRECT;
all->info.fbops = &cg6_ops;
#ifdef CONFIG_SPARC32
all->info.screen_base = (char *)
diff --git a/drivers/video/chipsfb.c b/drivers/video/chipsfb.c
index c804352c0268dd..5cdb0c97c41832 100644
--- a/drivers/video/chipsfb.c
+++ b/drivers/video/chipsfb.c
@@ -362,7 +362,7 @@ static void __init init_chips(struct fb_info *p, unsigned long addr)
p->var = chipsfb_var;
p->fbops = &chipsfb_ops;
- p->flags = FBINFO_FLAG_DEFAULT;
+ p->flags = FBINFO_DEFAULT;
fb_alloc_cmap(&p->cmap, 256, 0);
diff --git a/drivers/video/clps711xfb.c b/drivers/video/clps711xfb.c
index a982e752042371..ffa9a4c185202e 100644
--- a/drivers/video/clps711xfb.c
+++ b/drivers/video/clps711xfb.c
@@ -372,7 +372,7 @@ int __init clps711xfb_init(void)
strcpy(cfb->fix.id, "clps711x");
cfb->fbops = &clps7111fb_ops;
- cfb->flags = FBINFO_FLAG_DEFAULT;
+ cfb->flags = FBINFO_DEFAULT;
clps711x_guess_lcd_params(cfb);
diff --git a/drivers/video/controlfb.c b/drivers/video/controlfb.c
index 8ad33fa31c85e7..e03d05520c4d71 100644
--- a/drivers/video/controlfb.c
+++ b/drivers/video/controlfb.c
@@ -1010,7 +1010,7 @@ static void __init control_init_info(struct fb_info *info, struct fb_info_contro
info->par = &p->par;
info->fbops = &controlfb_ops;
info->pseudo_palette = p->pseudo_palette;
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
info->screen_base = (char *) p->frame_buffer + CTRLFB_OFF;
fb_alloc_cmap(&info->cmap, 256, 0);
diff --git a/drivers/video/cyber2000fb.c b/drivers/video/cyber2000fb.c
index 0afebb72c8e1ef..6550989d99d1c3 100644
--- a/drivers/video/cyber2000fb.c
+++ b/drivers/video/cyber2000fb.c
@@ -1281,7 +1281,7 @@ cyberpro_alloc_fb_info(unsigned int id, char *name)
cfb->fb.var.accel_flags = FB_ACCELF_TEXT;
cfb->fb.fbops = &cyber2000fb_ops;
- cfb->fb.flags = FBINFO_FLAG_DEFAULT;
+ cfb->fb.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
cfb->fb.pseudo_palette = (void *)(cfb + 1);
fb_alloc_cmap(&cfb->fb.cmap, NR_PALETTE, 0);
diff --git a/drivers/video/epson1355fb.c b/drivers/video/epson1355fb.c
index a998ee9d8d68e7..a0294d8154e6a0 100644
--- a/drivers/video/epson1355fb.c
+++ b/drivers/video/epson1355fb.c
@@ -507,7 +507,7 @@ int __init e1355fb_init(void)
fb_info.gen.parsize = sizeof(struct e1355_par);
fb_info.gen.info.switch_con = &fbgen_switch;
fb_info.gen.info.updatevar = &fbgen_update_var;
- fb_info.gen.info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.gen.info.flags = FBINFO_DEFAULT;
/* This should give a reasonable default video mode */
fbgen_get_var(&disp.var, -1, &fb_info.gen.info);
fbgen_do_set_var(&disp.var, 1, &fb_info.gen);
diff --git a/drivers/video/ffb.c b/drivers/video/ffb.c
index 1f761313193286..2b6247b096a338 100644
--- a/drivers/video/ffb.c
+++ b/drivers/video/ffb.c
@@ -1027,7 +1027,7 @@ static void ffb_init_one(int node, int parent)
all->par.prom_node = node;
all->par.prom_parent_node = parent;
- all->info.flags = FBINFO_FLAG_DEFAULT;
+ all->info.flags = FBINFO_DEFAULT;
all->info.fbops = &ffb_ops;
all->info.screen_base = (char *) all->par.physbase + FFB_DFB24_POFF;
all->info.currcon = -1;
diff --git a/drivers/video/fm2fb.c b/drivers/video/fm2fb.c
index 9bd202284489f9..9d33a0b3ef2594 100644
--- a/drivers/video/fm2fb.c
+++ b/drivers/video/fm2fb.c
@@ -280,7 +280,7 @@ static int __devinit fm2fb_probe(struct zorro_dev *z,
info->pseudo_palette = info->par;
info->par = NULL;
info->fix = fb_fix;
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT;
if (register_framebuffer(info) < 0) {
fb_dealloc_cmap(&info->cmap);
diff --git a/drivers/video/g364fb.c b/drivers/video/g364fb.c
index a869bf147f7409..5f759eba6772d9 100644
--- a/drivers/video/g364fb.c
+++ b/drivers/video/g364fb.c
@@ -241,7 +241,7 @@ int __init g364fb_init(void)
fb_info.screen_base = (char *) G364_MEM_BASE; /* virtual kernel address */
fb_info.var = fb_var;
fb_info.fix = fb_fix;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
fb_alloc_cmap(&fb_info.cmap, 255, 0);
diff --git a/drivers/video/gbefb.c b/drivers/video/gbefb.c
index 2afc4148b929cc..6ea4a576b8a94b 100644
--- a/drivers/video/gbefb.c
+++ b/drivers/video/gbefb.c
@@ -1135,7 +1135,7 @@ int __init gbefb_init(void)
fb_info.currcon = -1;
fb_info.fbops = &gbefb_ops;
fb_info.pseudo_palette = pseudo_palette;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT;
fb_info.screen_base = gbe_mem;
fb_alloc_cmap(&fb_info.cmap, 256, 0);
diff --git a/drivers/video/hgafb.c b/drivers/video/hgafb.c
index 05244ce4ad4880..4965d17e24acf4 100644
--- a/drivers/video/hgafb.c
+++ b/drivers/video/hgafb.c
@@ -558,7 +558,7 @@ int __init hgafb_init(void)
hga_fix.smem_start = VGA_MAP_MEM(hga_vram_base);
hga_fix.smem_len = hga_vram_len;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
fb_info.var = hga_default_var;
fb_info.fix = hga_fix;
fb_info.monspecs.hfmin = 0;
diff --git a/drivers/video/hitfb.c b/drivers/video/hitfb.c
index 90439cbb2ca5ac..e0a97591619e4c 100644
--- a/drivers/video/hitfb.c
+++ b/drivers/video/hitfb.c
@@ -321,7 +321,7 @@ int __init hitfb_init(void)
fb_info.var = hitfb_var;
fb_info.fix = hitfb_fix;
fb_info.pseudo_palette = pseudo_palette;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
fb_info.screen_base = (void *)hitfb_fix.smem_start;
diff --git a/drivers/video/hpfb.c b/drivers/video/hpfb.c
index bfbdbabfd18833..26680863367d86 100644
--- a/drivers/video/hpfb.c
+++ b/drivers/video/hpfb.c
@@ -151,7 +151,7 @@ int __init hpfb_init_one(unsigned long base)
* Let there be consoles..
*/
fb_info.fbops = &hpfb_ops;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT;
fb_info.var = hpfb_defined;
fb_info.fix = hpfb_fix;
fb_info.screen_base = (char *)hpfb_fix.smem_start; // FIXME
diff --git a/drivers/video/igafb.c b/drivers/video/igafb.c
index 7e0353afb5c68a..d8bd687d0cd075 100644
--- a/drivers/video/igafb.c
+++ b/drivers/video/igafb.c
@@ -357,7 +357,7 @@ static int __init iga_init(struct fb_info *info, struct iga_par *par)
video_cmap_len = 256;
info->fbops = &igafb_ops;
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT;
fb_alloc_cmap(&info->cmap, video_cmap_len, 0);
diff --git a/drivers/video/imsttfb.c b/drivers/video/imsttfb.c
index 7bef8b772bd2b5..f672f80bcfc02e 100644
--- a/drivers/video/imsttfb.c
+++ b/drivers/video/imsttfb.c
@@ -1442,7 +1442,10 @@ init_imstt(struct fb_info *info)
info->var.pixclock = 1000000 / getclkMHz(par);
info->fbops = &imsttfb_ops;
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT |
+ FBINFO_HWACCEL_COPYAREA |
+ FBINFO_HWACCEL_FILLRECT |
+ FBINFO_HWACCEL_YPAN;
fb_alloc_cmap(&info->cmap, 0, 0);
diff --git a/drivers/video/kyro/fbdev.c b/drivers/video/kyro/fbdev.c
index ad74caab223d9c..11381a52084408 100644
--- a/drivers/video/kyro/fbdev.c
+++ b/drivers/video/kyro/fbdev.c
@@ -712,7 +712,7 @@ static int __devinit kyrofb_probe(struct pci_dev *pdev,
info->fix = kyro_fix;
info->par = currentpar;
info->pseudo_palette = (void *)(currentpar + 1);
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT;
SetCoreClockPLL(deviceInfo.pSTGReg, pdev);
diff --git a/drivers/video/leo.c b/drivers/video/leo.c
index 7547e893659087..19ef4cc73372dc 100644
--- a/drivers/video/leo.c
+++ b/drivers/video/leo.c
@@ -588,7 +588,7 @@ static void leo_init_one(struct sbus_dev *sdev)
sbus_ioremap(&sdev->resource[0], LEO_OFF_LX_CURSOR,
sizeof(struct leo_cursor), "leolx cursor");
- all->info.flags = FBINFO_FLAG_DEFAULT;
+ all->info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
all->info.fbops = &leo_ops;
all->info.currcon = -1;
all->info.par = &all->par;
diff --git a/drivers/video/macfb.c b/drivers/video/macfb.c
index 67e21aac80c74d..37c969e6ce080b 100644
--- a/drivers/video/macfb.c
+++ b/drivers/video/macfb.c
@@ -950,7 +950,7 @@ void __init macfb_init(void)
fb_info.var = macfb_defined;
fb_info.fix = macfb_fix;
fb_info.pseudo_palette = pseudo_palette;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT;
fb_alloc_cmap(&fb_info.cmap, video_cmap_len, 0);
diff --git a/drivers/video/maxinefb.c b/drivers/video/maxinefb.c
index 572ed2269a6c3e..4c5b25e82e2280 100644
--- a/drivers/video/maxinefb.c
+++ b/drivers/video/maxinefb.c
@@ -159,7 +159,7 @@ int __init maxinefb_init(void)
fb_info.screen_base = (char *) maxinefb_fix.smem_start;
fb_info.var = maxinefb_defined;
fb_info.fix = maxinefb_fix;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT;
fb_alloc_cmap(&fb_info.cmap, 256, 0);
diff --git a/drivers/video/neofb.c b/drivers/video/neofb.c
index dfa6e35d7ab5e5..88ce7d05ce8955 100644
--- a/drivers/video/neofb.c
+++ b/drivers/video/neofb.c
@@ -2055,7 +2055,11 @@ static struct fb_info *__devinit neo_alloc_fb_info(struct pci_dev *dev, const st
info->fix.accel = id->driver_data;
info->fbops = &neofb_ops;
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT |
+ FBINFO_HWACCEL_IMAGEBLIT |
+ FBINFO_HWACCEL_FILLRECT |
+ FBINFO_HWACCEL_COPYAREA |
+ FBINFO_HWACCEL_YPAN;
info->pseudo_palette = (void *) (par + 1);
return info;
}
diff --git a/drivers/video/offb.c b/drivers/video/offb.c
index 99c2e6322ebb05..9fc18ed4bd42a5 100644
--- a/drivers/video/offb.c
+++ b/drivers/video/offb.c
@@ -527,7 +527,7 @@ static void __init offb_init_fb(const char *name, const char *full_name,
info->screen_base = ioremap(address, fix->smem_len);
info->par = par;
info->pseudo_palette = (void *) (info + 1);
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT;
fb_alloc_cmap(&info->cmap, 256, 0);
diff --git a/drivers/video/p9100.c b/drivers/video/p9100.c
index 67b71d5a4ed225..095b1c04e55880 100644
--- a/drivers/video/p9100.c
+++ b/drivers/video/p9100.c
@@ -297,7 +297,7 @@ static void p9100_init_one(struct sbus_dev *sdev)
sbus_ioremap(&sdev->resource[0], 0,
sizeof(struct p9100_regs), "p9100 regs");
- all->info.flags = FBINFO_FLAG_DEFAULT;
+ all->info.flags = FBINFO_DEFAULT;
all->info.fbops = &p9100_ops;
#ifdef CONFIG_SPARC32
all->info.screen_base = (char *)
diff --git a/drivers/video/platinumfb.c b/drivers/video/platinumfb.c
index feba14a6059d7a..144f9beb4b37fa 100644
--- a/drivers/video/platinumfb.c
+++ b/drivers/video/platinumfb.c
@@ -311,7 +311,7 @@ static void __devinit platinum_init_info(struct fb_info *info, struct fb_info_pl
/* Fill fb_info */
info->fbops = &platinumfb_ops;
info->pseudo_palette = pinfo->pseudo_palette;
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT;
info->screen_base = (char *) pinfo->frame_buffer + 0x20;
fb_alloc_cmap(&info->cmap, 256, 0);
diff --git a/drivers/video/pm2fb.c b/drivers/video/pm2fb.c
index 61953c1e182f1b..c0383bf6087073 100644
--- a/drivers/video/pm2fb.c
+++ b/drivers/video/pm2fb.c
@@ -1124,7 +1124,8 @@ static int __devinit pm2fb_probe(struct pci_dev *pdev,
info->fbops = &pm2fb_ops;
info->fix = pm2fb_fix;
info->pseudo_palette = (void *)(default_par + 1);
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT |
+ FBINFO_HWACCEL_YPAN;
#ifndef MODULE
if (!mode)
diff --git a/drivers/video/pmag-ba-fb.c b/drivers/video/pmag-ba-fb.c
index 45e3265734410d..482a2ca459a40c 100644
--- a/drivers/video/pmag-ba-fb.c
+++ b/drivers/video/pmag-ba-fb.c
@@ -142,7 +142,7 @@ int __init pmagbafb_init_one(int slot)
info->var = pmagbafb_defined;
info->fix = pmagbafb_fix;
info->screen_base = pmagbafb_fix.smem_start;
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT;
fb_alloc_cmap(&fb_info.cmap, 256, 0);
diff --git a/drivers/video/pmagb-b-fb.c b/drivers/video/pmagb-b-fb.c
index 16847d8d8776b8..8947b1b3ebc059 100644
--- a/drivers/video/pmagb-b-fb.c
+++ b/drivers/video/pmagb-b-fb.c
@@ -145,7 +145,7 @@ int __init pmagbbfb_init_one(int slot)
info->var = pmagbbfb_defined;
info->fix = pmagbbfb_fix;
info->screen_base = pmagbbfb_fix.smem_start;
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT;
fb_alloc_cmap(&fb_info.cmap, 256, 0);
diff --git a/drivers/video/pvr2fb.c b/drivers/video/pvr2fb.c
index 5f63f10af805ca..09f4b85cb2e088 100644
--- a/drivers/video/pvr2fb.c
+++ b/drivers/video/pvr2fb.c
@@ -795,7 +795,7 @@ static int __init pvr2fb_common_init(void)
fb_info->fix = pvr2_fix;
fb_info->par = currentpar;
fb_info->pseudo_palette = (void *)(fb_info->par + 1);
- fb_info->flags = FBINFO_FLAG_DEFAULT;
+ fb_info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
if (video_output == VO_VGA)
defmode = DEFMODE_VGA;
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index 0a860dd8879c6d..c6ba24ea4b6823 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -1040,7 +1040,7 @@ static struct pxafb_info * __init pxafb_init_fbinfo(struct device *dev)
fbi->fb.var.vmode = FB_VMODE_NONINTERLACED;
fbi->fb.fbops = &pxafb_ops;
- fbi->fb.flags = FBINFO_FLAG_DEFAULT;
+ fbi->fb.flags = FBINFO_DEFAULT;
fbi->fb.node = -1;
fbi->fb.currcon = -1;
diff --git a/drivers/video/q40fb.c b/drivers/video/q40fb.c
index 0c7b267e491820..ffb5745a290823 100644
--- a/drivers/video/q40fb.c
+++ b/drivers/video/q40fb.c
@@ -105,7 +105,7 @@ static int __init q40fb_probe(struct device *device)
info->var = q40fb_var;
info->fix = q40fb_fix;
info->fbops = &q40fb_ops;
- info->flags = FBINFO_FLAG_DEFAULT; /* not as module for now */
+ info->flags = FBINFO_DEFAULT; /* not as module for now */
info->pseudo_palette = info->par;
info->par = NULL;
info->screen_base = (char *) q40fb_fix.smem_start;
diff --git a/drivers/video/radeonfb.c b/drivers/video/radeonfb.c
index 1f3f23f3ca56b2..6901b508aecdd1 100644
--- a/drivers/video/radeonfb.c
+++ b/drivers/video/radeonfb.c
@@ -2250,7 +2250,7 @@ static int __devinit radeon_set_fbinfo (struct radeonfb_info *rinfo)
info->currcon = -1;
info->par = rinfo;
info->pseudo_palette = rinfo->pseudo_palette;
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
info->fbops = &radeonfb_ops;
info->screen_base = (char *)rinfo->fb_base;
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
index ae8fb7aef251dc..6cb0ccb84aebdd 100644
--- a/drivers/video/sa1100fb.c
+++ b/drivers/video/sa1100fb.c
@@ -1671,7 +1671,7 @@ static struct sa1100fb_info * __init sa1100fb_init_fbinfo(struct device *dev)
fbi->fb.var.vmode = FB_VMODE_NONINTERLACED;
fbi->fb.fbops = &sa1100fb_ops;
- fbi->fb.flags = FBINFO_FLAG_DEFAULT;
+ fbi->fb.flags = FBINFO_DEFAULT;
fbi->fb.monspecs = monspecs;
fbi->fb.currcon = -1;
fbi->fb.pseudo_palette = (fbi + 1);
diff --git a/drivers/video/sgivwfb.c b/drivers/video/sgivwfb.c
index 136c9d8e5546a4..4f5fdae311d768 100644
--- a/drivers/video/sgivwfb.c
+++ b/drivers/video/sgivwfb.c
@@ -790,7 +790,7 @@ int __init sgivwfb_init(void)
fb_info.fbops = &sgivwfb_ops;
fb_info.pseudo_palette = pseudo_palette;
fb_info.par = &default_par;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT;
fb_info.screen_base = ioremap_nocache((unsigned long) sgivwfb_mem_phys, sgivwfb_mem_size);
if (!fb_info.screen_base) {
diff --git a/drivers/video/sstfb.c b/drivers/video/sstfb.c
index f732dbbf89f591..2a6828cd350362 100644
--- a/drivers/video/sstfb.c
+++ b/drivers/video/sstfb.c
@@ -1473,7 +1473,7 @@ static int __devinit sstfb_probe(struct pci_dev *pdev,
f_ddprintk("membase_phys: %#lx\n", fix->smem_start);
f_ddprintk("fbbase_virt: %p\n", info->screen_base);
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT;
info->fbops = &sstfb_ops;
info->currcon = -1;
info->pseudo_palette = &all->pseudo_palette;
diff --git a/drivers/video/stifb.c b/drivers/video/stifb.c
index 6463bcc8c669fa..e6530ee45e3361 100644
--- a/drivers/video/stifb.c
+++ b/drivers/video/stifb.c
@@ -1325,7 +1325,7 @@ stifb_init_fb(struct sti_struct *sti, int force_bpp)
strcpy(fix->id, "stifb");
info->fbops = &stifb_ops;
info->screen_base = (void*) REGION_BASE(fb,1);
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT;
info->currcon = -1;
/* This has to been done !!! */
diff --git a/drivers/video/tcx.c b/drivers/video/tcx.c
index 543711c99ded5a..496a322ac49a4c 100644
--- a/drivers/video/tcx.c
+++ b/drivers/video/tcx.c
@@ -412,7 +412,7 @@ static void tcx_init_one(struct sbus_dev *sdev)
all->par.mmap_map[i].poff = sdev->reg_addrs[j].phys_addr;
}
- all->info.flags = FBINFO_FLAG_DEFAULT;
+ all->info.flags = FBINFO_DEFAULT;
all->info.fbops = &tcx_ops;
#ifdef CONFIG_SPARC32
all->info.screen_base = (char *)
diff --git a/drivers/video/tdfxfb.c b/drivers/video/tdfxfb.c
index 2873877622e338..6d0aff93c84cd4 100644
--- a/drivers/video/tdfxfb.c
+++ b/drivers/video/tdfxfb.c
@@ -1253,7 +1253,11 @@ static int __devinit tdfxfb_probe(struct pci_dev *pdev,
info->fix = tdfx_fix;
info->par = default_par;
info->pseudo_palette = (void *)(default_par + 1);
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT |
+ FBINFO_HWACCEL_COPYAREA |
+ FBINFO_HWACCEL_FILLRECT |
+ FBINFO_HWACCEL_IMAGEBLIT |
+ FBINFO_HWACCEL_YPAN;
#ifndef MODULE
if (!mode_option)
diff --git a/drivers/video/tgafb.c b/drivers/video/tgafb.c
index 3d02b0de980926..86def43fe0b4d5 100644
--- a/drivers/video/tgafb.c
+++ b/drivers/video/tgafb.c
@@ -1426,7 +1426,8 @@ tgafb_pci_register(struct pci_dev *pdev, const struct pci_device_id *ent)
pci_read_config_byte(pdev, PCI_REVISION_ID, &all->par.tga_chip_rev);
/* Setup framebuffer. */
- all->info.flags = FBINFO_FLAG_DEFAULT;
+ all->info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_COPYAREA |
+ FBINFO_HWACCEL_IMAGEBLIT | FBINFO_HWACCEL_FILLRECT;
all->info.fbops = &tgafb_ops;
all->info.screen_base = (char *) all->par.tga_fb_base;
all->info.currcon = -1;
diff --git a/drivers/video/tridentfb.c b/drivers/video/tridentfb.c
index 17f8101ff554ca..78bffb139b2e21 100644
--- a/drivers/video/tridentfb.c
+++ b/drivers/video/tridentfb.c
@@ -1149,7 +1149,10 @@ static int __devinit trident_pci_probe(struct pci_dev * dev, const struct pci_de
fb_info.fbops = &tridentfb_ops;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
+#ifdef CONFIG_FB_TRIDENT_ACCEL
+ fb_info.flags |= FBINFO_HWACCEL_COPYAREA | FBINFO_HWACCEL_FILLRECT;
+#endif
fb_info.pseudo_palette = pseudo_pal;
if (!fb_find_mode(&default_var,&fb_info,mode,NULL,0,NULL,bpp))
diff --git a/drivers/video/tx3912fb.c b/drivers/video/tx3912fb.c
index 0e60059c4976d5..0d59b691dbc95f 100644
--- a/drivers/video/tx3912fb.c
+++ b/drivers/video/tx3912fb.c
@@ -299,7 +299,7 @@ int __init tx3912fb_init(void)
fb_info.var = tx3912fb_var;
fb_info.fix = tx3912fb_fix;
fb_info.pseudo_palette = pseudo_palette;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
+ fb_info.flags = FBINFO_DEFAULT;
/* Clear the framebuffer */
memset((void *) fb_info.fix.smem_start, 0xff, fb_info.fix.smem_len);
diff --git a/drivers/video/valkyriefb.c b/drivers/video/valkyriefb.c
index fd8eb47a4d06fe..28b497fe5be08c 100644
--- a/drivers/video/valkyriefb.c
+++ b/drivers/video/valkyriefb.c
@@ -540,7 +540,7 @@ static void __init valkyrie_init_info(struct fb_info *info, struct fb_info_valky
{
info->fbops = &valkyriefb_ops;
info->screen_base = (char *) p->frame_buffer + 0x1000;
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_DEFAULT;
info->pseudo_palette = p->pseudo_palette;
fb_alloc_cmap(&info->cmap, 256, 0);
info->par = &p->par;