Skip to content

Commit

Permalink
cirrusfb: fix 16bpp modes
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Krzysztof Helt authored and Linus Torvalds committed Oct 16, 2008
1 parent 55a0dd8 commit 3b92183
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions drivers/video/cirrusfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -657,7 +657,7 @@ static int cirrusfb_decode_var(const struct fb_var_screeninfo *var,
case 16:
case 32:
info->fix.line_length = var->xres_virtual * maxclockidx;
info->fix.visual = FB_VISUAL_DIRECTCOLOR;
info->fix.visual = FB_VISUAL_TRUECOLOR;
break;

default:
Expand Down Expand Up @@ -1178,10 +1178,7 @@ static int cirrusfb_set_par_foo(struct fb_info *info)

case BT_ALPINE:
DPRINTK(" (for GD543x)\n");
if (var->xres >= 1024)
vga_wseq(regbase, CL_SEQR7, 0xa7);
else
vga_wseq(regbase, CL_SEQR7, 0xa3);
vga_wseq(regbase, CL_SEQR7, 0xa7);
cirrusfb_set_mclk(cinfo, regs.mclk, regs.divMCLK);
break;

Expand Down

0 comments on commit 3b92183

Please sign in to comment.