From: hjc Date: Mon, 9 Mar 2015 07:44:14 +0000 (+0800) Subject: rk fb: add fbdc data format: HAL_PIXEL_FORMAT_FBDC_RGBA888 X-Git-Tag: firefly_0821_release~4263^2~12 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a2d7b3902945b2678130ac2e27b54c9aad5a1c86;p=firefly-linux-kernel-4.4.55.git rk fb: add fbdc data format: HAL_PIXEL_FORMAT_FBDC_RGBA888 --- diff --git a/drivers/video/rockchip/rk_fb.c b/drivers/video/rockchip/rk_fb.c index ba1ce33b311c..46f43534f1e3 100755 --- a/drivers/video/rockchip/rk_fb.c +++ b/drivers/video/rockchip/rk_fb.c @@ -149,6 +149,7 @@ int rk_fb_pixel_width(int data_format) case ABGR888: case ARGB888: case FBDC_ARGB_888: + case FBDC_ABGR_888: case FBDC_RGBX_888: pixel_width = 4 * 8; break; @@ -225,6 +226,9 @@ static int rk_fb_data_fmt(int data_format, int bits_per_pixel) case HAL_PIXEL_FORMAT_FBDC_U8U8U8U8: /* fbdc argb888 */ fb_data_fmt = FBDC_ARGB_888; break; + case HAL_PIXEL_FORMAT_FBDC_RGBA888: /* fbdc abgr888 */ + fb_data_fmt = FBDC_ABGR_888; + break; case HAL_PIXEL_FORMAT_FBDC_U8U8U8: /* fbdc rgb888 */ fb_data_fmt = FBDC_RGBX_888; break; @@ -550,6 +554,7 @@ char *get_format_string(enum data_format format, char *fmt) strcpy(fmt, "FBDC_RGB_565"); break; case FBDC_ARGB_888: + case FBDC_ABGR_888: strcpy(fmt, "FBDC_ARGB_888"); break; case FBDC_RGBX_888: @@ -1929,6 +1934,7 @@ static int rk_fb_set_win_buffer(struct fb_info *info, ppixel_a |= ((fb_data_fmt == ARGB888) || (fb_data_fmt == FBDC_ARGB_888) || + (fb_data_fmt == FBDC_ABGR_888) || (fb_data_fmt == ABGR888)) ? 1 : 0; /* visiable pos in panel */ reg_win_data->reg_area_data[i].xpos = win_par->area_par[i].xpos; @@ -2925,6 +2931,7 @@ static int rk_fb_set_par(struct fb_info *info) win->alpha_mode = 4; /* AB_SRC_OVER; */ win->alpha_en = ((win->area[0].format == ARGB888) || (win->area[0].format == FBDC_ARGB_888) || + (win->area[0].format == FBDC_ABGR_888) || (win->area[0].format == ABGR888)) ? 1 : 0; win->g_alpha_val = 0; diff --git a/include/linux/rk_fb.h b/include/linux/rk_fb.h index 176bafe4b345..a1acbafbd6ed 100755 --- a/include/linux/rk_fb.h +++ b/include/linux/rk_fb.h @@ -199,6 +199,7 @@ enum { HAL_PIXEL_FORMAT_FBDC_RGB565 = 0x26, HAL_PIXEL_FORMAT_FBDC_U8U8U8U8 = 0x27, /*ARGB888*/ HAL_PIXEL_FORMAT_FBDC_U8U8U8 = 0x28, /*RGBP888*/ + HAL_PIXEL_FORMAT_FBDC_RGBA888 = 0x29, /*ABGR888*/ }; //display data format @@ -219,6 +220,7 @@ enum data_format { FBDC_RGB_565 = 0x26, FBDC_ARGB_888, FBDC_RGBX_888, + FBDC_ABGR_888, }; enum