rk fb:distinguish ARGB888 and XRGB888
authoryxj <yxj@rock-chips.com>
Thu, 24 Jan 2013 10:10:59 +0000 (18:10 +0800)
committeryxj <yxj@rock-chips.com>
Fri, 25 Jan 2013 03:04:32 +0000 (11:04 +0800)
drivers/video/rockchip/rk_fb.c
include/linux/rk_fb.h

index d2427e9702b64d1c1bdb75b56971b0e0d50474c7..d6de49d7c23a45c0a1df553cc19655cf07dfecd9 100644 (file)
@@ -214,6 +214,7 @@ static int rk_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
        }
        switch (par->format)
        {
+               case XRGB888:
                case ARGB888:
                        par->y_offset = (yoffset*xvir + xoffset)*4;
                        break;
@@ -468,8 +469,14 @@ static int rk_fb_set_par(struct fb_info *info)
 #if 1
        switch (data_format)
        {
-               case HAL_PIXEL_FORMAT_RGBA_8888 :      // rgb
                case HAL_PIXEL_FORMAT_RGBX_8888: 
+               #if defined(CONFIG_ARCH_RK3188)
+                       par->format = XRGB888;
+                       fix->line_length = 4 * xvir;
+                       par->y_offset = (yoffset*xvir + xoffset)*4;
+                       break;
+               #endif
+               case HAL_PIXEL_FORMAT_RGBA_8888 :      // rgb
                        par->format = ARGB888;
                        fix->line_length = 4 * xvir;
                        par->y_offset = (yoffset*xvir + xoffset)*4;
index 6f19857ca97fbf083df5a744edb51f3333a3245e..e18c0e39bc51ae3d2f4b0408c168b48489e1f518 100644 (file)
@@ -143,6 +143,7 @@ enum data_format{
        YUV420 = 4,
        YUV422,
        YUV444,
+       XRGB888,
 };
 
 enum fb_win_map_order{