aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/cirrusfb.c11
-rw-r--r--include/linux/fb.h1
2 files changed, 10 insertions, 2 deletions
diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c
index 15e2e6bfcbff..e9a2661669eb 100644
--- a/drivers/video/cirrusfb.c
+++ b/drivers/video/cirrusfb.c
@@ -519,6 +519,7 @@ static int cirrusfb_check_var(struct fb_var_screeninfo *var,
519 int yres; 519 int yres;
520 /* memory size in pixels */ 520 /* memory size in pixels */
521 unsigned pixels = info->screen_size * 8 / var->bits_per_pixel; 521 unsigned pixels = info->screen_size * 8 / var->bits_per_pixel;
522 struct cirrusfb_info *cinfo = info->par;
522 523
523 switch (var->bits_per_pixel) { 524 switch (var->bits_per_pixel) {
524 case 1: 525 case 1:
@@ -627,6 +628,9 @@ static int cirrusfb_check_var(struct fb_var_screeninfo *var,
627 if (cirrusfb_check_pixclock(var, info)) 628 if (cirrusfb_check_pixclock(var, info))
628 return -EINVAL; 629 return -EINVAL;
629 630
631 if (!is_laguna(cinfo))
632 var->accel_flags = FB_ACCELF_TEXT;
633
630 return 0; 634 return 0;
631} 635}
632 636
@@ -2029,8 +2033,12 @@ static int __devinit cirrusfb_set_fbinfo(struct fb_info *info)
2029 | FBINFO_HWACCEL_FILLRECT 2033 | FBINFO_HWACCEL_FILLRECT
2030 | FBINFO_HWACCEL_IMAGEBLIT 2034 | FBINFO_HWACCEL_IMAGEBLIT
2031 | FBINFO_HWACCEL_COPYAREA; 2035 | FBINFO_HWACCEL_COPYAREA;
2032 if (noaccel || is_laguna(cinfo)) 2036 if (noaccel || is_laguna(cinfo)) {
2033 info->flags |= FBINFO_HWACCEL_DISABLED; 2037 info->flags |= FBINFO_HWACCEL_DISABLED;
2038 info->fix.accel = FB_ACCEL_NONE;
2039 } else
2040 info->fix.accel = FB_ACCEL_CIRRUS_ALPINE;
2041
2034 info->fbops = &cirrusfb_ops; 2042 info->fbops = &cirrusfb_ops;
2035 2043
2036 if (cinfo->btype == BT_GD5480) { 2044 if (cinfo->btype == BT_GD5480) {
@@ -2056,7 +2064,6 @@ static int __devinit cirrusfb_set_fbinfo(struct fb_info *info)
2056 2064
2057 /* FIXME: map region at 0xB8000 if available, fill in here */ 2065 /* FIXME: map region at 0xB8000 if available, fill in here */
2058 info->fix.mmio_len = 0; 2066 info->fix.mmio_len = 0;
2059 info->fix.accel = FB_ACCEL_NONE;
2060 2067
2061 fb_alloc_cmap(&info->cmap, 256, 0); 2068 fb_alloc_cmap(&info->cmap, 256, 0);
2062 2069
diff --git a/include/linux/fb.h b/include/linux/fb.h
index 31527e17076b..fe7d0d7907ab 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -123,6 +123,7 @@ struct dentry;
123#define FB_ACCEL_TRIDENT_3DIMAGE 51 /* Trident 3DImage */ 123#define FB_ACCEL_TRIDENT_3DIMAGE 51 /* Trident 3DImage */
124#define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */ 124#define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */
125#define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */ 125#define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */
126#define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */
126#define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */ 127#define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */
127#define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */ 128#define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */
128#define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */ 129#define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */