diff options
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/cirrusfb.c | 11 |
1 files changed, 9 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 | ||