Loading drivers/video/msm/mdss/mdss_mdp_formats.h +62 −10 Original line number Diff line number Diff line Loading @@ -306,17 +306,26 @@ static struct mdss_mdp_format_params mdss_mdp_format_map[] = { VALID_MDP_WB_INTF_FORMAT | VALID_MDP_CURSOR_FORMAT, 0, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), FMT_RGB_8888(MDP_ARGB_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, 1, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, 1, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), FMT_RGB_8888(MDP_ABGR_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, 1, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_8888(MDP_RGBA_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, 1, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, 1, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_8888(MDP_RGBX_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, 0, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_8888(MDP_BGRA_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, 1, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, 1, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_8888(MDP_BGRX_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, 0, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_8888(MDP_XBGR_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, 0, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_8888(MDP_RGBA_8888_TILE, MDSS_MDP_FETCH_TILE, VALID_ROT_WB_FORMAT, 1, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_8888(MDP_ARGB_8888_TILE, MDSS_MDP_FETCH_TILE, Loading @@ -341,11 +350,14 @@ static struct mdss_mdp_format_params mdss_mdp_format_map[] = { FMT_YUV_PSEUDO(MDP_Y_CRCB_H2V1, MDSS_MDP_FETCH_LINEAR, MDSS_MDP_CHROMA_H2V1, VALID_ROT_WB_FORMAT, C2_R_Cr, C1_B_Cb), FMT_YUV_PSEUDO(MDP_Y_CBCR_H2V1, MDSS_MDP_FETCH_LINEAR, MDSS_MDP_CHROMA_H2V1, VALID_ROT_WB_FORMAT, C1_B_Cb, C2_R_Cr), MDSS_MDP_CHROMA_H2V1, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C1_B_Cb, C2_R_Cr), FMT_YUV_PSEUDO(MDP_Y_CRCB_H1V2, MDSS_MDP_FETCH_LINEAR, MDSS_MDP_CHROMA_H1V2, VALID_ROT_WB_FORMAT, C2_R_Cr, C1_B_Cb), MDSS_MDP_CHROMA_H1V2, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C2_R_Cr, C1_B_Cb), FMT_YUV_PSEUDO(MDP_Y_CBCR_H1V2, MDSS_MDP_FETCH_LINEAR, MDSS_MDP_CHROMA_H1V2, VALID_ROT_WB_FORMAT, C1_B_Cb, C2_R_Cr), MDSS_MDP_CHROMA_H1V2, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C1_B_Cb, C2_R_Cr), FMT_YUV_PSEUDO(MDP_Y_CRCB_H2V2, MDSS_MDP_FETCH_LINEAR, MDSS_MDP_CHROMA_420, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C2_R_Cr, C1_B_Cb), Loading Loading @@ -398,6 +410,7 @@ static struct mdss_mdp_format_params mdss_mdp_format_map[] = { }, { FMT_YUV_COMMON(MDP_YCBYCR_H2V1), .flag = VALID_MDP_WB_INTF_FORMAT, .fetch_planes = MDSS_MDP_PLANE_INTERLEAVED, .chroma_sample = MDSS_MDP_CHROMA_H2V1, .unpack_count = 4, Loading @@ -405,14 +418,53 @@ static struct mdss_mdp_format_params mdss_mdp_format_map[] = { .fetch_mode = MDSS_MDP_FETCH_LINEAR, .element = { C2_R_Cr, C0_G_Y, C1_B_Cb, C0_G_Y }, }, { FMT_YUV_COMMON(MDP_CRYCBY_H2V1), .fetch_planes = MDSS_MDP_PLANE_INTERLEAVED, .chroma_sample = MDSS_MDP_CHROMA_H2V1, .unpack_count = 4, .bpp = 2, .fetch_mode = MDSS_MDP_FETCH_LINEAR, .element = { C0_G_Y, C1_B_Cb, C0_G_Y, C2_R_Cr }, }, FMT_RGB_1555(MDP_RGBA_5551, 1, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_1555(MDP_ARGB_1555, 1, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_1555(MDP_ABGR_1555, 1, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_1555(MDP_BGRA_5551, 1, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), FMT_RGB_1555(MDP_BGRX_5551, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), FMT_RGB_1555(MDP_RGBX_5551, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_1555(MDP_XBGR_1555, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_1555(MDP_XRGB_1555, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_4444(MDP_ABGR_4444, 1, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_4444(MDP_BGRA_4444, 1, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), FMT_RGB_4444(MDP_BGRX_4444, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), FMT_RGB_4444(MDP_RGBX_4444, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_4444(MDP_XBGR_4444, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_4444(MDP_XRGB_4444, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_4444(MDP_RGBA_4444, 1, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_4444(MDP_ARGB_4444, 1, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_2101010(MDP_RGBA_1010102, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, 1, Loading include/uapi/linux/msm_mdp.h +3 −0 Original line number Diff line number Diff line Loading @@ -209,11 +209,14 @@ enum { MDP_RGBX_1010102_UBWC, MDP_Y_CBCR_H2V2_P010, MDP_Y_CBCR_H2V2_TP10_UBWC, MDP_CRYCBY_H2V1, /* CrYCbY interleave */ MDP_IMGTYPE_LIMIT1 = MDP_IMGTYPE_END, MDP_FB_FORMAT = MDP_IMGTYPE2_START, /* framebuffer format */ MDP_IMGTYPE_LIMIT2 /* Non valid image type after this enum */ }; #define MDP_CRYCBY_H2V1 MDP_CRYCBY_H2V1 enum { PMEM_IMG, FB_IMG, Loading Loading
drivers/video/msm/mdss/mdss_mdp_formats.h +62 −10 Original line number Diff line number Diff line Loading @@ -306,17 +306,26 @@ static struct mdss_mdp_format_params mdss_mdp_format_map[] = { VALID_MDP_WB_INTF_FORMAT | VALID_MDP_CURSOR_FORMAT, 0, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), FMT_RGB_8888(MDP_ARGB_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, 1, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, 1, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), FMT_RGB_8888(MDP_ABGR_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, 1, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_8888(MDP_RGBA_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, 1, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, 1, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_8888(MDP_RGBX_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, 0, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_8888(MDP_BGRA_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, 1, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, 1, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_8888(MDP_BGRX_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, 0, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_8888(MDP_XBGR_8888, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, 0, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_8888(MDP_RGBA_8888_TILE, MDSS_MDP_FETCH_TILE, VALID_ROT_WB_FORMAT, 1, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_8888(MDP_ARGB_8888_TILE, MDSS_MDP_FETCH_TILE, Loading @@ -341,11 +350,14 @@ static struct mdss_mdp_format_params mdss_mdp_format_map[] = { FMT_YUV_PSEUDO(MDP_Y_CRCB_H2V1, MDSS_MDP_FETCH_LINEAR, MDSS_MDP_CHROMA_H2V1, VALID_ROT_WB_FORMAT, C2_R_Cr, C1_B_Cb), FMT_YUV_PSEUDO(MDP_Y_CBCR_H2V1, MDSS_MDP_FETCH_LINEAR, MDSS_MDP_CHROMA_H2V1, VALID_ROT_WB_FORMAT, C1_B_Cb, C2_R_Cr), MDSS_MDP_CHROMA_H2V1, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C1_B_Cb, C2_R_Cr), FMT_YUV_PSEUDO(MDP_Y_CRCB_H1V2, MDSS_MDP_FETCH_LINEAR, MDSS_MDP_CHROMA_H1V2, VALID_ROT_WB_FORMAT, C2_R_Cr, C1_B_Cb), MDSS_MDP_CHROMA_H1V2, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C2_R_Cr, C1_B_Cb), FMT_YUV_PSEUDO(MDP_Y_CBCR_H1V2, MDSS_MDP_FETCH_LINEAR, MDSS_MDP_CHROMA_H1V2, VALID_ROT_WB_FORMAT, C1_B_Cb, C2_R_Cr), MDSS_MDP_CHROMA_H1V2, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C1_B_Cb, C2_R_Cr), FMT_YUV_PSEUDO(MDP_Y_CRCB_H2V2, MDSS_MDP_FETCH_LINEAR, MDSS_MDP_CHROMA_420, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C2_R_Cr, C1_B_Cb), Loading Loading @@ -398,6 +410,7 @@ static struct mdss_mdp_format_params mdss_mdp_format_map[] = { }, { FMT_YUV_COMMON(MDP_YCBYCR_H2V1), .flag = VALID_MDP_WB_INTF_FORMAT, .fetch_planes = MDSS_MDP_PLANE_INTERLEAVED, .chroma_sample = MDSS_MDP_CHROMA_H2V1, .unpack_count = 4, Loading @@ -405,14 +418,53 @@ static struct mdss_mdp_format_params mdss_mdp_format_map[] = { .fetch_mode = MDSS_MDP_FETCH_LINEAR, .element = { C2_R_Cr, C0_G_Y, C1_B_Cb, C0_G_Y }, }, { FMT_YUV_COMMON(MDP_CRYCBY_H2V1), .fetch_planes = MDSS_MDP_PLANE_INTERLEAVED, .chroma_sample = MDSS_MDP_CHROMA_H2V1, .unpack_count = 4, .bpp = 2, .fetch_mode = MDSS_MDP_FETCH_LINEAR, .element = { C0_G_Y, C1_B_Cb, C0_G_Y, C2_R_Cr }, }, FMT_RGB_1555(MDP_RGBA_5551, 1, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_1555(MDP_ARGB_1555, 1, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_1555(MDP_ABGR_1555, 1, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_1555(MDP_BGRA_5551, 1, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), FMT_RGB_1555(MDP_BGRX_5551, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), FMT_RGB_1555(MDP_RGBX_5551, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_1555(MDP_XBGR_1555, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_1555(MDP_XRGB_1555, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_4444(MDP_ABGR_4444, 1, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_4444(MDP_BGRA_4444, 1, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), FMT_RGB_4444(MDP_BGRX_4444, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb), FMT_RGB_4444(MDP_RGBX_4444, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_4444(MDP_XBGR_4444, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA), FMT_RGB_4444(MDP_XRGB_4444, 0, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_4444(MDP_RGBA_4444, 1, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr), FMT_RGB_4444(MDP_ARGB_4444, 1, VALID_ROT_WB_FORMAT | VALID_MDP_CURSOR_FORMAT, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), VALID_MDP_CURSOR_FORMAT | VALID_MDP_WB_INTF_FORMAT, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA), FMT_RGB_2101010(MDP_RGBA_1010102, MDSS_MDP_FETCH_LINEAR, VALID_ROT_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT, 1, Loading
include/uapi/linux/msm_mdp.h +3 −0 Original line number Diff line number Diff line Loading @@ -209,11 +209,14 @@ enum { MDP_RGBX_1010102_UBWC, MDP_Y_CBCR_H2V2_P010, MDP_Y_CBCR_H2V2_TP10_UBWC, MDP_CRYCBY_H2V1, /* CrYCbY interleave */ MDP_IMGTYPE_LIMIT1 = MDP_IMGTYPE_END, MDP_FB_FORMAT = MDP_IMGTYPE2_START, /* framebuffer format */ MDP_IMGTYPE_LIMIT2 /* Non valid image type after this enum */ }; #define MDP_CRYCBY_H2V1 MDP_CRYCBY_H2V1 enum { PMEM_IMG, FB_IMG, Loading