cirrusfb: use 5-6-5 RGB for 16bpp mode

Use the 5-6-5 RGB mode instead of the 5-5-5 mode at 16bpp depth.

It fixes colors in the 16bpp modes on Cirrus Laguna chips.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Geert Uytterhoeven <geert.uytterhoeven@gmail.com>
Cc: Arthur Marsh <arthur.marsh@internode.on.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Krzysztof Helt 2009-03-31 15:25:07 -07:00 committed by Linus Torvalds
parent 6683e01e2c
commit c4dec3962d

View File

@ -499,12 +499,12 @@ static int cirrusfb_check_var(struct fb_var_screeninfo *var,
var->green.offset = -3; var->green.offset = -3;
var->blue.offset = 8; var->blue.offset = 8;
} else { } else {
var->red.offset = 10; var->red.offset = 11;
var->green.offset = 5; var->green.offset = 5;
var->blue.offset = 0; var->blue.offset = 0;
} }
var->red.length = 5; var->red.length = 5;
var->green.length = 5; var->green.length = 6;
var->blue.length = 5; var->blue.length = 5;
break; break;
@ -1180,7 +1180,7 @@ static int cirrusfb_set_par_foo(struct fb_info *info)
/* pixel mask: pass-through all planes */ /* pixel mask: pass-through all planes */
WGen(cinfo, VGA_PEL_MSK, 0xff); WGen(cinfo, VGA_PEL_MSK, 0xff);
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
WHDR(cinfo, 0xc0); /* Copy Xbh */ WHDR(cinfo, 0xc1); /* Copy Xbh */
#elif defined(CONFIG_ZORRO) #elif defined(CONFIG_ZORRO)
/* FIXME: CONFIG_PCI and CONFIG_ZORRO may be defined both */ /* FIXME: CONFIG_PCI and CONFIG_ZORRO may be defined both */
WHDR(cinfo, 0xa0); /* hidden dac reg: nothing special */ WHDR(cinfo, 0xa0); /* hidden dac reg: nothing special */