video: s3c-fb: correct transparency checking in 32bpp
authorJingoo Han <jg1.han@samsung.com>
Tue, 24 May 2011 08:55:23 +0000 (08:55 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Tue, 24 May 2011 09:04:37 +0000 (18:04 +0900)
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>
drivers/video/s3c-fb.c

index 2bd86a9fa3a05f904845d3cc6c7739cfc2a8b695..0352afa49a392716762f7304cbdd00ae1770b396 100644 (file)
@@ -302,6 +302,7 @@ static int s3c_fb_check_var(struct fb_var_screeninfo *var,
                var->blue.length        = 5;
                break;
 
+       case 32:
        case 28:
        case 25:
                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:
                /* our 24bpp is unpacked, so 32bpp */
                var->bits_per_pixel     = 32;
-       case 32:
                var->red.offset         = 16;
                var->red.length         = 8;
                var->green.offset       = 8;