video: s3c-fb: correct transparency checking in 32bpp

32bpp means ARGB 8888 in the driver, therfore the transparency length
and offset should be 8 and 24 respectively. However, the transparency
length and offset were previously 0, which means that the driver supports
RGB 888 without alpha blending when 32bpp is used.

So, the transparency checking in 32bpp is corrected so that the
transparency length and offset are 8 and 24 respectively.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Jingoo Han 2011-05-24 08:55:23 +00:00 committed by Paul Mundt
parent 6aa9681100
commit af1ce6b2fa

View File

@ -302,6 +302,7 @@ static int s3c_fb_check_var(struct fb_var_screeninfo *var,
var->blue.length = 5; var->blue.length = 5;
break; break;
case 32:
case 28: case 28:
case 25: case 25:
var->transp.length = var->bits_per_pixel - 24; var->transp.length = var->bits_per_pixel - 24;
@ -310,7 +311,6 @@ static int s3c_fb_check_var(struct fb_var_screeninfo *var,
case 24: case 24:
/* our 24bpp is unpacked, so 32bpp */ /* our 24bpp is unpacked, so 32bpp */
var->bits_per_pixel = 32; var->bits_per_pixel = 32;
case 32:
var->red.offset = 16; var->red.offset = 16;
var->red.length = 8; var->red.length = 8;
var->green.offset = 8; var->green.offset = 8;