Loading drivers/video/msm/mdss/mdss_mdp_formats.h +44 −2 Original line number Diff line number Diff line Loading @@ -19,14 +19,16 @@ #include "mdss_mdp.h" /* * number of bits for source component, * 0 = 1 bit, 1 = 2 bits, 2 = 6 bits, 3 = 8 bits * Value of enum choosen to fit the number of bits * expected by the HW programming. */ enum { COLOR_4BIT, COLOR_5BIT, COLOR_6BIT, COLOR_8BIT, COLOR_ALPHA_1BIT = 0, COLOR_ALPHA_4BIT = 1, }; #define FMT_RGB_565(fmt, e0, e1, e2) \ Loading Loading @@ -151,6 +153,42 @@ enum { .element = { (e0), (e1) } \ } #define FMT_RGB_1555(fmt, alpha_en, e0, e1, e2, e3) \ { \ .format = (fmt), \ .fetch_planes = MDSS_MDP_PLANE_INTERLEAVED, \ .unpack_tight = 1, \ .unpack_align_msb = 0, \ .alpha_enable = (alpha_en), \ .unpack_count = 4, \ .bpp = 2, \ .element = { (e0), (e1), (e2), (e3) }, \ .bits = { \ [C3_ALPHA] = COLOR_ALPHA_1BIT, \ [C2_R_Cr] = COLOR_5BIT, \ [C0_G_Y] = COLOR_5BIT, \ [C1_B_Cb] = COLOR_5BIT, \ }, \ } #define FMT_RGB_4444(fmt, alpha_en, e0, e1, e2, e3) \ { \ .format = (fmt), \ .fetch_planes = MDSS_MDP_PLANE_INTERLEAVED, \ .unpack_tight = 1, \ .unpack_align_msb = 0, \ .alpha_enable = (alpha_en), \ .unpack_count = 4, \ .bpp = 2, \ .element = { (e0), (e1), (e2), (e3) }, \ .bits = { \ [C3_ALPHA] = COLOR_ALPHA_4BIT, \ [C2_R_Cr] = COLOR_4BIT, \ [C0_G_Y] = COLOR_4BIT, \ [C1_B_Cb] = COLOR_4BIT, \ }, \ } static struct mdss_mdp_format_params mdss_mdp_format_map[] = { FMT_RGB_565(MDP_RGB_565, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_565(MDP_BGR_565, C2_R_Cr, C0_G_Y, C1_B_Cb), Loading Loading @@ -229,6 +267,10 @@ static struct mdss_mdp_format_params mdss_mdp_format_map[] = { .bpp = 2, .element = { C2_R_Cr, C0_G_Y, C1_B_Cb, C0_G_Y }, }, FMT_RGB_1555(MDP_RGBA_5551, 1, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_1555(MDP_ARGB_1555, 1, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_4444(MDP_RGBA_4444, 1, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_4444(MDP_ARGB_4444, 1, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), }; #endif include/uapi/linux/msm_mdp.h +4 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,10 @@ enum { MDP_YCBYCR_H2V1, /* YCbYCr interleave */ MDP_RGB_565_TILE, /* RGB 565 in tile format */ MDP_BGR_565_TILE, /* BGR 565 in tile format */ MDP_ARGB_1555, /*ARGB 1555*/ MDP_RGBA_5551, /*RGBA 5551*/ MDP_ARGB_4444, /*ARGB 4444*/ MDP_RGBA_4444, /*RGBA 4444*/ MDP_IMGTYPE_LIMIT, MDP_RGB_BORDERFILL, /* border fill pipe */ MDP_FB_FORMAT = MDP_IMGTYPE2_START, /* framebuffer format */ Loading Loading
drivers/video/msm/mdss/mdss_mdp_formats.h +44 −2 Original line number Diff line number Diff line Loading @@ -19,14 +19,16 @@ #include "mdss_mdp.h" /* * number of bits for source component, * 0 = 1 bit, 1 = 2 bits, 2 = 6 bits, 3 = 8 bits * Value of enum choosen to fit the number of bits * expected by the HW programming. */ enum { COLOR_4BIT, COLOR_5BIT, COLOR_6BIT, COLOR_8BIT, COLOR_ALPHA_1BIT = 0, COLOR_ALPHA_4BIT = 1, }; #define FMT_RGB_565(fmt, e0, e1, e2) \ Loading Loading @@ -151,6 +153,42 @@ enum { .element = { (e0), (e1) } \ } #define FMT_RGB_1555(fmt, alpha_en, e0, e1, e2, e3) \ { \ .format = (fmt), \ .fetch_planes = MDSS_MDP_PLANE_INTERLEAVED, \ .unpack_tight = 1, \ .unpack_align_msb = 0, \ .alpha_enable = (alpha_en), \ .unpack_count = 4, \ .bpp = 2, \ .element = { (e0), (e1), (e2), (e3) }, \ .bits = { \ [C3_ALPHA] = COLOR_ALPHA_1BIT, \ [C2_R_Cr] = COLOR_5BIT, \ [C0_G_Y] = COLOR_5BIT, \ [C1_B_Cb] = COLOR_5BIT, \ }, \ } #define FMT_RGB_4444(fmt, alpha_en, e0, e1, e2, e3) \ { \ .format = (fmt), \ .fetch_planes = MDSS_MDP_PLANE_INTERLEAVED, \ .unpack_tight = 1, \ .unpack_align_msb = 0, \ .alpha_enable = (alpha_en), \ .unpack_count = 4, \ .bpp = 2, \ .element = { (e0), (e1), (e2), (e3) }, \ .bits = { \ [C3_ALPHA] = COLOR_ALPHA_4BIT, \ [C2_R_Cr] = COLOR_4BIT, \ [C0_G_Y] = COLOR_4BIT, \ [C1_B_Cb] = COLOR_4BIT, \ }, \ } static struct mdss_mdp_format_params mdss_mdp_format_map[] = { FMT_RGB_565(MDP_RGB_565, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_565(MDP_BGR_565, C2_R_Cr, C0_G_Y, C1_B_Cb), Loading Loading @@ -229,6 +267,10 @@ static struct mdss_mdp_format_params mdss_mdp_format_map[] = { .bpp = 2, .element = { C2_R_Cr, C0_G_Y, C1_B_Cb, C0_G_Y }, }, FMT_RGB_1555(MDP_RGBA_5551, 1, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_1555(MDP_ARGB_1555, 1, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_4444(MDP_RGBA_4444, 1, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_4444(MDP_ARGB_4444, 1, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), }; #endif
include/uapi/linux/msm_mdp.h +4 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,10 @@ enum { MDP_YCBYCR_H2V1, /* YCbYCr interleave */ MDP_RGB_565_TILE, /* RGB 565 in tile format */ MDP_BGR_565_TILE, /* BGR 565 in tile format */ MDP_ARGB_1555, /*ARGB 1555*/ MDP_RGBA_5551, /*RGBA 5551*/ MDP_ARGB_4444, /*ARGB 4444*/ MDP_RGBA_4444, /*RGBA 4444*/ MDP_IMGTYPE_LIMIT, MDP_RGB_BORDERFILL, /* border fill pipe */ MDP_FB_FORMAT = MDP_IMGTYPE2_START, /* framebuffer format */ Loading