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;
|