diff options
author | Krzysztof Helt <krzysztof.h1@wp.pl> | 2009-03-31 18:25:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-01 11:59:29 -0400 |
commit | 614c0dc93284404be2a4d5750c79bb95f2b6c980 (patch) | |
tree | 767a9412f5dcea630d2734fab7d9e8f4e393b38c /drivers/video/cirrusfb.c | |
parent | dd14f71cc62dd07b588cc6de935155e6fd3911c9 (diff) |
cirrusfb: add accelerator constant
Add an accelerator constant so almost all Cirrus are recognized as
accelerators by the fbset command.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/cirrusfb.c')
-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 | ||