From: Aivils S. <ai...@us...> - 2004-06-17 10:45:04
|
Update of /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/video In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30292/ruby-2.6/drivers/video Modified Files: fbmem.c Log Message: sync to 2.6.7 Index: fbmem.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/video/fbmem.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- fbmem.c 25 May 2004 05:26:48 -0000 1.7 +++ fbmem.c 17 Jun 2004 10:44:53 -0000 1.8 @@ -114,6 +114,8 @@ extern int chips_init(void); extern int g364fb_init(void); extern int sa1100fb_init(void); +extern int pxafb_init(void); +extern int pxafb_setup(char*); extern int fm2fb_init(void); extern int fm2fb_setup(char*); extern int q40fb_init(void); @@ -121,6 +123,8 @@ extern int sun3fb_setup(char *); extern int sgivwfb_init(void); extern int sgivwfb_setup(char*); +extern int gbefb_init(void); +extern int gbefb_setup(char*); extern int rivafb_init(void); extern int rivafb_setup(char*); extern int tdfxfb_init(void); @@ -164,6 +168,8 @@ extern int leo_setup(char*); extern int kyrofb_init(void); extern int kyrofb_setup(char*); +extern int mc68x328fb_init(void); +extern int mc68x328fb_setup(char *); static struct { const char *name; @@ -305,6 +311,9 @@ #ifdef CONFIG_FB_SGIVW { "sgivwfb", sgivwfb_init, sgivwfb_setup }, #endif +#ifdef CONFIG_FB_GBE + { "gbefb", gbefb_init, gbefb_setup }, +#endif #ifdef CONFIG_FB_ACORN { "acornfb", acornfb_init, acornfb_setup }, #endif @@ -338,6 +347,9 @@ #ifdef CONFIG_FB_SA1100 { "sa1100fb", sa1100fb_init, NULL }, #endif +#ifdef CONFIG_FB_PXA + { "pxafb", pxafb_init, pxafb_setup }, +#endif #ifdef CONFIG_FB_SUN3 { "sun3fb", sun3fb_init, sun3fb_setup }, #endif @@ -380,6 +392,9 @@ /* Not a real frame buffer device... */ { "resolverfb", NULL, resolver_video_setup }, #endif +#ifdef CONFIG_FB_68328 + { "68328fb", mc68x328fb_init, mc68x328fb_setup }, +#endif #ifdef CONFIG_FB_VIRTUAL /* @@ -408,12 +423,13 @@ /* * Drawing helpers. */ -u8 sys_inbuf(struct fb_info *info, u8 *src) -{ +static u8 fb_sys_inbuf(struct fb_info *info, u8 *src) +{ return *src; } -void sys_outbuf(struct fb_info *info, u8 *dst, u8 *src, unsigned int size) +static void fb_sys_outbuf(struct fb_info *info, u8 *dst, + u8 *src, unsigned int size) { memcpy(dst, src, size); } @@ -911,7 +927,7 @@ return -ENOMEM; } - if (copy_from_user(&cursor.image.data, sprite->image.data, size) || + if (copy_from_user(cursor.image.data, sprite->image.data, size) || copy_from_user(cursor.mask, sprite->mask, size)) { kfree(cursor.image.data); kfree(cursor.mask); @@ -1010,8 +1026,11 @@ vc = vt->default_mode; vc->vc_cols = info->var.xres/vc->vc_font.width; vc->vc_rows = info->var.yres/vc->vc_font.height; - for(i = 0; i < vt->vc_count; i++) + for(i = 0; i < vt->vc_count; i++) { + acquire_console_sem(); vc_resize(vt->vc_cons[i], vc->vc_cols, vc->vc_rows); + release_console_sem(); + } return 0; } @@ -1194,8 +1213,7 @@ if (boot_cpu_data.x86 > 3) pgprot_val(vma->vm_page_prot) |= _PAGE_PCD; #elif defined(__mips__) - pgprot_val(vma->vm_page_prot) &= ~_CACHE_MASK; - pgprot_val(vma->vm_page_prot) |= _CACHE_UNCACHED; + vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); #elif defined(__hppa__) pgprot_val(vma->vm_page_prot) |= _PAGE_NO_CACHE; #elif defined(__ia64__) || defined(__arm__) || defined(__sh__) @@ -1302,14 +1320,15 @@ fb_info->pixmap.size = FBPIXMAPSIZE; fb_info->pixmap.buf_align = 1; fb_info->pixmap.scan_align = 1; + fb_info->pixmap.access_align = 4; fb_info->pixmap.flags = FB_PIXMAP_DEFAULT; } } fb_info->pixmap.offset = 0; if (fb_info->pixmap.outbuf == NULL) - fb_info->pixmap.outbuf = sys_outbuf; + fb_info->pixmap.outbuf = fb_sys_outbuf; if (fb_info->pixmap.inbuf == NULL) - fb_info->pixmap.inbuf = sys_inbuf; + fb_info->pixmap.inbuf = fb_sys_inbuf; if (fb_info->sprite.addr == NULL) { fb_info->sprite.addr = kmalloc(FBPIXMAPSIZE, GFP_KERNEL); @@ -1317,14 +1336,15 @@ fb_info->sprite.size = FBPIXMAPSIZE; fb_info->sprite.buf_align = 1; fb_info->sprite.scan_align = 1; + fb_info->sprite.access_align = 4; fb_info->sprite.flags = FB_PIXMAP_DEFAULT; } } fb_info->sprite.offset = 0; if (fb_info->sprite.outbuf == NULL) - fb_info->sprite.outbuf = sys_outbuf; + fb_info->sprite.outbuf = fb_sys_outbuf; if (fb_info->sprite.inbuf == NULL) - fb_info->sprite.inbuf = sys_inbuf; + fb_info->sprite.inbuf = fb_sys_inbuf; registered_fb[i] = fb_info; |