diff options
-rw-r--r-- | drivers/video/cirrusfb.c | 11 | ||||
-rw-r--r-- | include/linux/fb.h | 1 |
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 */ |