msm: mdp: Add support for RGBX 8888 image format.
authorDima Zavin <dima@android.com>
Wed, 2 Mar 2011 21:17:08 +0000 (13:17 -0800)
committerDavid Brown <davidb@codeaurora.org>
Wed, 2 Mar 2011 21:43:15 +0000 (13:43 -0800)
Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
drivers/video/msm/mdp_hw.h
drivers/video/msm/mdp_ppp.c
include/linux/msm_mdp.h

index 4e3deb4e592b31ed0e4d8b4c3c69113af4aa4a98..9e1e92ef3edbe5fc93aaec49d82bf5a93fd8a60c 100644 (file)
@@ -449,6 +449,7 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
 #define PPP_CFG_MDP_XRGB_8888(dir) PPP_CFG_MDP_ARGB_8888(dir)
 #define PPP_CFG_MDP_RGBA_8888(dir) PPP_CFG_MDP_ARGB_8888(dir)
 #define PPP_CFG_MDP_BGRA_8888(dir) PPP_CFG_MDP_ARGB_8888(dir)
+#define PPP_CFG_MDP_RGBX_8888(dir) PPP_CFG_MDP_ARGB_8888(dir)
 
 #define PPP_CFG_MDP_Y_CBCR_H2V2(dir)   (PPP_##dir##_C2R_8BIT | \
                                        PPP_##dir##_C0G_8BIT | \
@@ -494,6 +495,8 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
        MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_B, CLR_G, CLR_R, 8)
 #define PPP_PACK_PATTERN_MDP_BGRA_8888 \
        MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_R, CLR_G, CLR_B, 8)
+#define PPP_PACK_PATTERN_MDP_RGBX_8888 \
+       MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_B, CLR_G, CLR_R, 8)
 #define PPP_PACK_PATTERN_MDP_Y_CBCR_H2V1 \
        MDP_GET_PACK_PATTERN(0, 0, CLR_CB, CLR_CR, 8)
 #define PPP_PACK_PATTERN_MDP_Y_CBCR_H2V2 PPP_PACK_PATTERN_MDP_Y_CBCR_H2V1
@@ -509,6 +512,7 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
 #define PPP_CHROMA_SAMP_MDP_ARGB_8888(dir) PPP_OP_##dir##_CHROMA_RGB
 #define PPP_CHROMA_SAMP_MDP_RGBA_8888(dir) PPP_OP_##dir##_CHROMA_RGB
 #define PPP_CHROMA_SAMP_MDP_BGRA_8888(dir) PPP_OP_##dir##_CHROMA_RGB
+#define PPP_CHROMA_SAMP_MDP_RGBX_8888(dir) PPP_OP_##dir##_CHROMA_RGB
 #define PPP_CHROMA_SAMP_MDP_Y_CBCR_H2V1(dir) PPP_OP_##dir##_CHROMA_H2V1
 #define PPP_CHROMA_SAMP_MDP_Y_CBCR_H2V2(dir) PPP_OP_##dir##_CHROMA_420
 #define PPP_CHROMA_SAMP_MDP_Y_CRCB_H2V1(dir) PPP_OP_##dir##_CHROMA_H2V1
@@ -523,6 +527,7 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
        [MDP_ARGB_8888] = PPP_##name##_MDP_ARGB_8888,\
        [MDP_RGBA_8888] = PPP_##name##_MDP_RGBA_8888,\
        [MDP_BGRA_8888] = PPP_##name##_MDP_BGRA_8888,\
+       [MDP_RGBX_8888] = PPP_##name##_MDP_RGBX_8888,\
        [MDP_Y_CBCR_H2V1] = PPP_##name##_MDP_Y_CBCR_H2V1,\
        [MDP_Y_CBCR_H2V2] = PPP_##name##_MDP_Y_CBCR_H2V2,\
        [MDP_Y_CRCB_H2V1] = PPP_##name##_MDP_Y_CRCB_H2V1,\
@@ -536,6 +541,7 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
        [MDP_ARGB_8888] = PPP_##name##_MDP_ARGB_8888(dir),\
        [MDP_RGBA_8888] = PPP_##name##_MDP_RGBA_8888(dir),\
        [MDP_BGRA_8888] = PPP_##name##_MDP_BGRA_8888(dir),\
+       [MDP_RGBX_8888] = PPP_##name##_MDP_RGBX_8888(dir),\
        [MDP_Y_CBCR_H2V1] = PPP_##name##_MDP_Y_CBCR_H2V1(dir),\
        [MDP_Y_CBCR_H2V2] = PPP_##name##_MDP_Y_CBCR_H2V2(dir),\
        [MDP_Y_CRCB_H2V1] = PPP_##name##_MDP_Y_CRCB_H2V1(dir),\
@@ -547,7 +553,8 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
                       (img == MDP_YCRYCB_H2V1))
 #define IS_RGB(img) ((img == MDP_RGB_565) | (img == MDP_RGB_888) | \
                     (img == MDP_ARGB_8888) | (img == MDP_RGBA_8888) | \
-                    (img == MDP_XRGB_8888) | (img == MDP_BGRA_8888))
+                    (img == MDP_XRGB_8888) | (img == MDP_BGRA_8888) | \
+                    (img == MDP_RGBX_8888))
 #define HAS_ALPHA(img) ((img == MDP_ARGB_8888) | (img == MDP_RGBA_8888) | \
                        (img == MDP_BGRA_8888))
 
index 4ff001f4cbbdd9f33a98803bf70755f562c2c1a7..2b6564e8bfeaa37e7f785904af2604ac847b4493 100644 (file)
@@ -69,6 +69,7 @@ static uint32_t bytes_per_pixel[] = {
        [MDP_ARGB_8888] = 4,
        [MDP_RGBA_8888] = 4,
        [MDP_BGRA_8888] = 4,
+       [MDP_RGBX_8888] = 4,
        [MDP_Y_CBCR_H2V1] = 1,
        [MDP_Y_CBCR_H2V2] = 1,
        [MDP_Y_CRCB_H2V1] = 1,
index d11fe0f2f956f4a97393590f7306fc0020abec60..fe722c1fb61d552afa87d0d6e62c0da6bd8f82af 100644 (file)
@@ -32,6 +32,7 @@ enum {
        MDP_Y_CBCR_H2V1,        /* Y and CrCb, pseduo planar w/ Cr is in MSB */
        MDP_RGBA_8888,          /* ARGB 888 */
        MDP_BGRA_8888,          /* ABGR 888 */
+       MDP_RGBX_8888,          /* RGBX 888 */
        MDP_IMGTYPE_LIMIT       /* Non valid image type after this enum */
 };