summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorBenet Clark <benetc@codeaurora.org>2016-04-01 10:45:46 -0700
committerJeevan Shriram <jshriram@codeaurora.org>2016-05-20 19:23:44 -0700
commit474828cd364aeec55aec204e95e0b552ba12514d (patch)
treeaa6119568c1dc661bd62605f7372479babcea952 /drivers/video/fbdev
parentb1dd9f0c4c618723a85e799fd38bf4ce9885ba32 (diff)
msm: mdss: Add newly supported writeback formats to MDP driver
Writeback display now supports more MDP formats. This change adds the definitions for those formats. CRs-Fixed: 978785 Change-Id: I72fc29a8d7b286b0766c0483ba69d6e02d29b661 Signed-off-by: Benet Clark <benetc@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_formats.h72
1 files changed, 62 insertions, 10 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_formats.h b/drivers/video/fbdev/msm/mdss_mdp_formats.h
index 1865720ead06..a3a3434c9044 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_formats.h
+++ b/drivers/video/fbdev/msm/mdss_mdp_formats.h
@@ -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,
@@ -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),
@@ -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,
@@ -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,