From 5054dc17dfcb7c748c6c2ba31f1cb4333995e248 Mon Sep 17 00:00:00 2001 From: Krzysztof Helt Date: Wed, 15 Oct 2008 22:03:41 -0700 Subject: [PATCH] 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/video/cirrusfb.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c index 245005e61e403..9e0a1c58fde44 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, 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: @@ -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; -- 2.39.5