aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrzysztof Helt <krzysztof.h1@wp.pl>2008-10-16 01:03:41 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-16 14:21:44 -0400
commit3b921832d483a2b9d6fabdbb5f871a4f18cb9b65 (patch)
tree562e0804a957171ae3045fffcca1214f2be8150c
parent55a0dd83eb24a89fd448006aaa9326df643861ae (diff)
cirrusfb: fix 16bpp modes
The 16bpp mode did not work on the Cirrus cards as the visual type was set to DIRECTCOLOR instead of TRUECOLOR. The Alpine family used one incorrect register setting so this 16bpp modes generated wrong horizontal frequency. 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>
-rw-r--r--drivers/video/cirrusfb.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c
index 245005e61e40..9e0a1c58fde4 100644
--- a/drivers/video/cirrusfb.c
+++ b/drivers/video/cirrusfb.c
@@ -657,7 +657,7 @@ static int cirrusfb_decode_var(const struct fb_var_screeninfo *var,
657 case 16: 657 case 16:
658 case 32: 658 case 32:
659 info->fix.line_length = var->xres_virtual * maxclockidx; 659 info->fix.line_length = var->xres_virtual * maxclockidx;
660 info->fix.visual = FB_VISUAL_DIRECTCOLOR; 660 info->fix.visual = FB_VISUAL_TRUECOLOR;
661 break; 661 break;
662 662
663 default: 663 default:
@@ -1178,10 +1178,7 @@ static int cirrusfb_set_par_foo(struct fb_info *info)
1178 1178
1179 case BT_ALPINE: 1179 case BT_ALPINE:
1180 DPRINTK(" (for GD543x)\n"); 1180 DPRINTK(" (for GD543x)\n");
1181 if (var->xres >= 1024) 1181 vga_wseq(regbase, CL_SEQR7, 0xa7);
1182 vga_wseq(regbase, CL_SEQR7, 0xa7);
1183 else
1184 vga_wseq(regbase, CL_SEQR7, 0xa3);
1185 cirrusfb_set_mclk(cinfo, regs.mclk, regs.divMCLK); 1182 cirrusfb_set_mclk(cinfo, regs.mclk, regs.divMCLK);
1186 break; 1183 break;
1187 1184