From: "Antonino A. Daplas" 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 Signed-off-by: Andrew Morton --- 25-akpm/drivers/video/68328fb.c | 2 +- 25-akpm/drivers/video/acornfb.c | 2 +- 25-akpm/drivers/video/amifb.c | 5 ++++- 25-akpm/drivers/video/asiliantfb.c | 2 +- 25-akpm/drivers/video/bw2.c | 2 +- 25-akpm/drivers/video/cg14.c | 2 +- 25-akpm/drivers/video/cg3.c | 2 +- 25-akpm/drivers/video/cg6.c | 3 ++- 25-akpm/drivers/video/chipsfb.c | 2 +- 25-akpm/drivers/video/clps711xfb.c | 2 +- 25-akpm/drivers/video/controlfb.c | 2 +- 25-akpm/drivers/video/cyber2000fb.c | 2 +- 25-akpm/drivers/video/epson1355fb.c | 2 +- 25-akpm/drivers/video/ffb.c | 2 +- 25-akpm/drivers/video/fm2fb.c | 2 +- 25-akpm/drivers/video/g364fb.c | 2 +- 25-akpm/drivers/video/gbefb.c | 2 +- 25-akpm/drivers/video/hgafb.c | 2 +- 25-akpm/drivers/video/hitfb.c | 2 +- 25-akpm/drivers/video/hpfb.c | 2 +- 25-akpm/drivers/video/igafb.c | 2 +- 25-akpm/drivers/video/imsttfb.c | 5 ++++- 25-akpm/drivers/video/kyro/fbdev.c | 2 +- 25-akpm/drivers/video/leo.c | 2 +- 25-akpm/drivers/video/macfb.c | 2 +- 25-akpm/drivers/video/maxinefb.c | 2 +- 25-akpm/drivers/video/neofb.c | 6 +++++- 25-akpm/drivers/video/offb.c | 2 +- 25-akpm/drivers/video/p9100.c | 2 +- 25-akpm/drivers/video/platinumfb.c | 2 +- 25-akpm/drivers/video/pm2fb.c | 3 ++- 25-akpm/drivers/video/pmag-ba-fb.c | 2 +- 25-akpm/drivers/video/pmagb-b-fb.c | 2 +- 25-akpm/drivers/video/pvr2fb.c | 2 +- 25-akpm/drivers/video/pxafb.c | 2 +- 25-akpm/drivers/video/q40fb.c | 2 +- 25-akpm/drivers/video/radeonfb.c | 2 +- 25-akpm/drivers/video/sa1100fb.c | 2 +- 25-akpm/drivers/video/sgivwfb.c | 2 +- 25-akpm/drivers/video/sstfb.c | 2 +- 25-akpm/drivers/video/stifb.c | 2 +- 25-akpm/drivers/video/tcx.c | 2 +- 25-akpm/drivers/video/tdfxfb.c | 6 +++++- 25-akpm/drivers/video/tgafb.c | 3 ++- 25-akpm/drivers/video/tridentfb.c | 5 ++++- 25-akpm/drivers/video/tx3912fb.c | 2 +- 25-akpm/drivers/video/valkyriefb.c | 2 +- 47 files changed, 67 insertions(+), 47 deletions(-) diff -puN drivers/video/68328fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/68328fb.c --- 25/drivers/video/68328fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.515087872 -0700 +++ 25-akpm/drivers/video/68328fb.c 2004-07-28 20:42:02.688061576 -0700 @@ -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 -puN drivers/video/acornfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/acornfb.c --- 25/drivers/video/acornfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.525086352 -0700 +++ 25-akpm/drivers/video/acornfb.c 2004-07-28 20:42:02.689061424 -0700 @@ -1010,7 +1010,7 @@ static void __init acornfb_init_fbinfo(v 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 -puN drivers/video/amifb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/amifb.c --- 25/drivers/video/amifb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.527086048 -0700 +++ 25-akpm/drivers/video/amifb.c 2004-07-28 20:42:02.692060968 -0700 @@ -1307,6 +1307,8 @@ static int amifb_set_par(struct fb_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 else info->fix.xpanstep = 16<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 = ¤tpar; - 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 -puN drivers/video/asiliantfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/asiliantfb.c --- 25/drivers/video/asiliantfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.529085744 -0700 +++ 25-akpm/drivers/video/asiliantfb.c 2004-07-28 20:42:02.693060816 -0700 @@ -524,7 +524,7 @@ static void __init init_asiliant(struct 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 -puN drivers/video/bw2.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/bw2.c --- 25/drivers/video/bw2.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.530085592 -0700 +++ 25-akpm/drivers/video/bw2.c 2004-07-28 20:42:02.694060664 -0700 @@ -351,7 +351,7 @@ static void bw2_init_one(struct sbus_dev 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 -puN drivers/video/cg14.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/cg14.c --- 25/drivers/video/cg14.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.532085288 -0700 +++ 25-akpm/drivers/video/cg14.c 2004-07-28 20:42:02.694060664 -0700 @@ -550,7 +550,7 @@ static void cg14_init_one(struct sbus_de 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 -puN drivers/video/cg3.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/cg3.c --- 25/drivers/video/cg3.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.534084984 -0700 +++ 25-akpm/drivers/video/cg3.c 2004-07-28 20:42:02.695060512 -0700 @@ -398,7 +398,7 @@ static void cg3_init_one(struct sbus_dev 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 -puN drivers/video/cg6.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/cg6.c --- 25/drivers/video/cg6.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.535084832 -0700 +++ 25-akpm/drivers/video/cg6.c 2004-07-28 20:42:02.695060512 -0700 @@ -712,7 +712,8 @@ static void cg6_init_one(struct sbus_dev 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 -puN drivers/video/chipsfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/chipsfb.c --- 25/drivers/video/chipsfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.537084528 -0700 +++ 25-akpm/drivers/video/chipsfb.c 2004-07-28 20:42:02.696060360 -0700 @@ -362,7 +362,7 @@ static void __init init_chips(struct fb_ 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 -puN drivers/video/clps711xfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/clps711xfb.c --- 25/drivers/video/clps711xfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.541083920 -0700 +++ 25-akpm/drivers/video/clps711xfb.c 2004-07-28 20:42:02.696060360 -0700 @@ -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 -puN drivers/video/controlfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/controlfb.c --- 25/drivers/video/controlfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.542083768 -0700 +++ 25-akpm/drivers/video/controlfb.c 2004-07-28 20:42:02.697060208 -0700 @@ -1010,7 +1010,7 @@ static void __init control_init_info(str 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 -puN drivers/video/cyber2000fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/cyber2000fb.c --- 25/drivers/video/cyber2000fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.544083464 -0700 +++ 25-akpm/drivers/video/cyber2000fb.c 2004-07-28 20:42:02.699059904 -0700 @@ -1281,7 +1281,7 @@ cyberpro_alloc_fb_info(unsigned int id, 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 -puN drivers/video/epson1355fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/epson1355fb.c --- 25/drivers/video/epson1355fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.546083160 -0700 +++ 25-akpm/drivers/video/epson1355fb.c 2004-07-28 20:42:02.699059904 -0700 @@ -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 -puN drivers/video/ffb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/ffb.c --- 25/drivers/video/ffb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.552082248 -0700 +++ 25-akpm/drivers/video/ffb.c 2004-07-28 20:42:02.700059752 -0700 @@ -1027,7 +1027,7 @@ static void ffb_init_one(int node, int p 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 -puN drivers/video/fm2fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/fm2fb.c --- 25/drivers/video/fm2fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.553082096 -0700 +++ 25-akpm/drivers/video/fm2fb.c 2004-07-28 20:42:02.701059600 -0700 @@ -280,7 +280,7 @@ static int __devinit fm2fb_probe(struct 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 -puN drivers/video/g364fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/g364fb.c --- 25/drivers/video/g364fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.555081792 -0700 +++ 25-akpm/drivers/video/g364fb.c 2004-07-28 20:42:02.702059448 -0700 @@ -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 -puN drivers/video/gbefb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/gbefb.c --- 25/drivers/video/gbefb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.557081488 -0700 +++ 25-akpm/drivers/video/gbefb.c 2004-07-28 20:42:02.703059296 -0700 @@ -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 -puN drivers/video/hgafb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/hgafb.c --- 25/drivers/video/hgafb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.558081336 -0700 +++ 25-akpm/drivers/video/hgafb.c 2004-07-28 20:42:02.704059144 -0700 @@ -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 -puN drivers/video/hitfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/hitfb.c --- 25/drivers/video/hitfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.560081032 -0700 +++ 25-akpm/drivers/video/hitfb.c 2004-07-28 20:42:02.704059144 -0700 @@ -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 -puN drivers/video/hpfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/hpfb.c --- 25/drivers/video/hpfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.561080880 -0700 +++ 25-akpm/drivers/video/hpfb.c 2004-07-28 20:42:02.705058992 -0700 @@ -151,7 +151,7 @@ int __init hpfb_init_one(unsigned long b * 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 -puN drivers/video/igafb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/igafb.c --- 25/drivers/video/igafb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.563080576 -0700 +++ 25-akpm/drivers/video/igafb.c 2004-07-28 20:42:02.705058992 -0700 @@ -357,7 +357,7 @@ static int __init iga_init(struct fb_inf 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 -puN drivers/video/imsttfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/imsttfb.c --- 25/drivers/video/imsttfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.572079208 -0700 +++ 25-akpm/drivers/video/imsttfb.c 2004-07-28 20:42:02.707058688 -0700 @@ -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 -puN drivers/video/kyro/fbdev.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/kyro/fbdev.c --- 25/drivers/video/kyro/fbdev.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.586077080 -0700 +++ 25-akpm/drivers/video/kyro/fbdev.c 2004-07-28 20:42:02.707058688 -0700 @@ -712,7 +712,7 @@ static int __devinit kyrofb_probe(struct 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 -puN drivers/video/leo.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/leo.c --- 25/drivers/video/leo.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.588076776 -0700 +++ 25-akpm/drivers/video/leo.c 2004-07-28 20:42:02.708058536 -0700 @@ -588,7 +588,7 @@ static void leo_init_one(struct sbus_dev 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 -puN drivers/video/macfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/macfb.c --- 25/drivers/video/macfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.589076624 -0700 +++ 25-akpm/drivers/video/macfb.c 2004-07-28 20:42:02.815042272 -0700 @@ -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 -puN drivers/video/maxinefb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/maxinefb.c --- 25/drivers/video/maxinefb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.591076320 -0700 +++ 25-akpm/drivers/video/maxinefb.c 2004-07-28 20:42:02.816042120 -0700 @@ -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 -puN drivers/video/neofb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/neofb.c --- 25/drivers/video/neofb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.605074192 -0700 +++ 25-akpm/drivers/video/neofb.c 2004-07-28 20:42:02.817041968 -0700 @@ -2055,7 +2055,11 @@ static struct fb_info *__devinit neo_all 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 -puN drivers/video/offb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/offb.c --- 25/drivers/video/offb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.606074040 -0700 +++ 25-akpm/drivers/video/offb.c 2004-07-28 20:42:02.818041816 -0700 @@ -527,7 +527,7 @@ static void __init offb_init_fb(const ch 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 -puN drivers/video/p9100.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/p9100.c --- 25/drivers/video/p9100.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.608073736 -0700 +++ 25-akpm/drivers/video/p9100.c 2004-07-28 20:42:02.819041664 -0700 @@ -297,7 +297,7 @@ static void p9100_init_one(struct sbus_d 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 -puN drivers/video/platinumfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/platinumfb.c --- 25/drivers/video/platinumfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.609073584 -0700 +++ 25-akpm/drivers/video/platinumfb.c 2004-07-28 20:42:02.819041664 -0700 @@ -311,7 +311,7 @@ static void __devinit platinum_init_info /* 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 -puN drivers/video/pm2fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/pm2fb.c --- 25/drivers/video/pm2fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.611073280 -0700 +++ 25-akpm/drivers/video/pm2fb.c 2004-07-28 20:42:02.820041512 -0700 @@ -1124,7 +1124,8 @@ static int __devinit pm2fb_probe(struct 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 -puN drivers/video/pmag-ba-fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/pmag-ba-fb.c --- 25/drivers/video/pmag-ba-fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.613072976 -0700 +++ 25-akpm/drivers/video/pmag-ba-fb.c 2004-07-28 20:42:02.821041360 -0700 @@ -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 -puN drivers/video/pmagb-b-fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/pmagb-b-fb.c --- 25/drivers/video/pmagb-b-fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.614072824 -0700 +++ 25-akpm/drivers/video/pmagb-b-fb.c 2004-07-28 20:42:02.821041360 -0700 @@ -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 -puN drivers/video/pvr2fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/pvr2fb.c --- 25/drivers/video/pvr2fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.620071912 -0700 +++ 25-akpm/drivers/video/pvr2fb.c 2004-07-28 20:42:02.822041208 -0700 @@ -795,7 +795,7 @@ static int __init pvr2fb_common_init(voi 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 -puN drivers/video/pxafb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/pxafb.c --- 25/drivers/video/pxafb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.633069936 -0700 +++ 25-akpm/drivers/video/pxafb.c 2004-07-28 20:42:02.823041056 -0700 @@ -1040,7 +1040,7 @@ static struct pxafb_info * __init pxafb_ 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 -puN drivers/video/q40fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/q40fb.c --- 25/drivers/video/q40fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.635069632 -0700 +++ 25-akpm/drivers/video/q40fb.c 2004-07-28 20:42:02.824040904 -0700 @@ -105,7 +105,7 @@ static int __init q40fb_probe(struct dev 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 -puN drivers/video/radeonfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/radeonfb.c --- 25/drivers/video/radeonfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.637069328 -0700 +++ 25-akpm/drivers/video/radeonfb.c 2004-07-28 20:42:02.826040600 -0700 @@ -2250,7 +2250,7 @@ static int __devinit radeon_set_fbinfo ( 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 -puN drivers/video/sa1100fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/sa1100fb.c --- 25/drivers/video/sa1100fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.649067504 -0700 +++ 25-akpm/drivers/video/sa1100fb.c 2004-07-28 20:42:02.827040448 -0700 @@ -1673,7 +1673,7 @@ static struct sa1100fb_info * __init sa1 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 -puN drivers/video/sgivwfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/sgivwfb.c --- 25/drivers/video/sgivwfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.655066592 -0700 +++ 25-akpm/drivers/video/sgivwfb.c 2004-07-28 20:42:02.828040296 -0700 @@ -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 -puN drivers/video/sstfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/sstfb.c --- 25/drivers/video/sstfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.665065072 -0700 +++ 25-akpm/drivers/video/sstfb.c 2004-07-28 20:42:02.830039992 -0700 @@ -1473,7 +1473,7 @@ static int __devinit sstfb_probe(struct 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 -puN drivers/video/stifb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/stifb.c --- 25/drivers/video/stifb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.667064768 -0700 +++ 25-akpm/drivers/video/stifb.c 2004-07-28 20:42:02.880032392 -0700 @@ -1325,7 +1325,7 @@ stifb_init_fb(struct sti_struct *sti, in 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 -puN drivers/video/tcx.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/tcx.c --- 25/drivers/video/tcx.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.675063552 -0700 +++ 25-akpm/drivers/video/tcx.c 2004-07-28 20:42:02.881032240 -0700 @@ -412,7 +412,7 @@ static void tcx_init_one(struct sbus_dev 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 -puN drivers/video/tdfxfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/tdfxfb.c --- 25/drivers/video/tdfxfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.677063248 -0700 +++ 25-akpm/drivers/video/tdfxfb.c 2004-07-28 20:42:02.882032088 -0700 @@ -1253,7 +1253,11 @@ static int __devinit tdfxfb_probe(struct 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 -puN drivers/video/tgafb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/tgafb.c --- 25/drivers/video/tgafb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.680062792 -0700 +++ 25-akpm/drivers/video/tgafb.c 2004-07-28 20:42:02.883031936 -0700 @@ -1426,7 +1426,8 @@ tgafb_pci_register(struct pci_dev *pdev, 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 -puN drivers/video/tridentfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/tridentfb.c --- 25/drivers/video/tridentfb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.682062488 -0700 +++ 25-akpm/drivers/video/tridentfb.c 2004-07-28 20:42:02.884031784 -0700 @@ -1149,7 +1149,10 @@ static int __devinit trident_pci_probe(s 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 -puN drivers/video/tx3912fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/tx3912fb.c --- 25/drivers/video/tx3912fb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.683062336 -0700 +++ 25-akpm/drivers/video/tx3912fb.c 2004-07-28 20:42:02.917026768 -0700 @@ -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 -puN drivers/video/valkyriefb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities drivers/video/valkyriefb.c --- 25/drivers/video/valkyriefb.c~fbdev-attn-maintainers-set-correct-hardware-capabilities 2004-07-28 20:42:02.684062184 -0700 +++ 25-akpm/drivers/video/valkyriefb.c 2004-07-28 20:42:02.918026616 -0700 @@ -540,7 +540,7 @@ static void __init valkyrie_init_info(st { 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; _