diff options
author | Dima Zavin <dima@android.com> | 2011-03-02 16:17:08 -0500 |
---|---|---|
committer | David Brown <davidb@codeaurora.org> | 2011-03-02 16:43:15 -0500 |
commit | a8d380f30a7d8cc507fd5cc84b2dc5ee2b2144d7 (patch) | |
tree | b7b73a057d32c3bdfdbeedbd867d6682e4c38eaa /drivers/video/msm | |
parent | b0a679326ce90e65779178906df5b8b6180163d6 (diff) |
msm: mdp: Add support for RGBX 8888 image format.
Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
Diffstat (limited to 'drivers/video/msm')
-rw-r--r-- | drivers/video/msm/mdp_hw.h | 9 | ||||
-rw-r--r-- | drivers/video/msm/mdp_ppp.c | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/video/msm/mdp_hw.h b/drivers/video/msm/mdp_hw.h index 4e3deb4e592b..9e1e92ef3edb 100644 --- a/drivers/video/msm/mdp_hw.h +++ b/drivers/video/msm/mdp_hw.h | |||
@@ -449,6 +449,7 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req, | |||
449 | #define PPP_CFG_MDP_XRGB_8888(dir) PPP_CFG_MDP_ARGB_8888(dir) | 449 | #define PPP_CFG_MDP_XRGB_8888(dir) PPP_CFG_MDP_ARGB_8888(dir) |
450 | #define PPP_CFG_MDP_RGBA_8888(dir) PPP_CFG_MDP_ARGB_8888(dir) | 450 | #define PPP_CFG_MDP_RGBA_8888(dir) PPP_CFG_MDP_ARGB_8888(dir) |
451 | #define PPP_CFG_MDP_BGRA_8888(dir) PPP_CFG_MDP_ARGB_8888(dir) | 451 | #define PPP_CFG_MDP_BGRA_8888(dir) PPP_CFG_MDP_ARGB_8888(dir) |
452 | #define PPP_CFG_MDP_RGBX_8888(dir) PPP_CFG_MDP_ARGB_8888(dir) | ||
452 | 453 | ||
453 | #define PPP_CFG_MDP_Y_CBCR_H2V2(dir) (PPP_##dir##_C2R_8BIT | \ | 454 | #define PPP_CFG_MDP_Y_CBCR_H2V2(dir) (PPP_##dir##_C2R_8BIT | \ |
454 | PPP_##dir##_C0G_8BIT | \ | 455 | PPP_##dir##_C0G_8BIT | \ |
@@ -494,6 +495,8 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req, | |||
494 | MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_B, CLR_G, CLR_R, 8) | 495 | MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_B, CLR_G, CLR_R, 8) |
495 | #define PPP_PACK_PATTERN_MDP_BGRA_8888 \ | 496 | #define PPP_PACK_PATTERN_MDP_BGRA_8888 \ |
496 | MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_R, CLR_G, CLR_B, 8) | 497 | MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_R, CLR_G, CLR_B, 8) |
498 | #define PPP_PACK_PATTERN_MDP_RGBX_8888 \ | ||
499 | MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_B, CLR_G, CLR_R, 8) | ||
497 | #define PPP_PACK_PATTERN_MDP_Y_CBCR_H2V1 \ | 500 | #define PPP_PACK_PATTERN_MDP_Y_CBCR_H2V1 \ |
498 | MDP_GET_PACK_PATTERN(0, 0, CLR_CB, CLR_CR, 8) | 501 | MDP_GET_PACK_PATTERN(0, 0, CLR_CB, CLR_CR, 8) |
499 | #define PPP_PACK_PATTERN_MDP_Y_CBCR_H2V2 PPP_PACK_PATTERN_MDP_Y_CBCR_H2V1 | 502 | #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, | |||
509 | #define PPP_CHROMA_SAMP_MDP_ARGB_8888(dir) PPP_OP_##dir##_CHROMA_RGB | 512 | #define PPP_CHROMA_SAMP_MDP_ARGB_8888(dir) PPP_OP_##dir##_CHROMA_RGB |
510 | #define PPP_CHROMA_SAMP_MDP_RGBA_8888(dir) PPP_OP_##dir##_CHROMA_RGB | 513 | #define PPP_CHROMA_SAMP_MDP_RGBA_8888(dir) PPP_OP_##dir##_CHROMA_RGB |
511 | #define PPP_CHROMA_SAMP_MDP_BGRA_8888(dir) PPP_OP_##dir##_CHROMA_RGB | 514 | #define PPP_CHROMA_SAMP_MDP_BGRA_8888(dir) PPP_OP_##dir##_CHROMA_RGB |
515 | #define PPP_CHROMA_SAMP_MDP_RGBX_8888(dir) PPP_OP_##dir##_CHROMA_RGB | ||
512 | #define PPP_CHROMA_SAMP_MDP_Y_CBCR_H2V1(dir) PPP_OP_##dir##_CHROMA_H2V1 | 516 | #define PPP_CHROMA_SAMP_MDP_Y_CBCR_H2V1(dir) PPP_OP_##dir##_CHROMA_H2V1 |
513 | #define PPP_CHROMA_SAMP_MDP_Y_CBCR_H2V2(dir) PPP_OP_##dir##_CHROMA_420 | 517 | #define PPP_CHROMA_SAMP_MDP_Y_CBCR_H2V2(dir) PPP_OP_##dir##_CHROMA_420 |
514 | #define PPP_CHROMA_SAMP_MDP_Y_CRCB_H2V1(dir) PPP_OP_##dir##_CHROMA_H2V1 | 518 | #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, | |||
523 | [MDP_ARGB_8888] = PPP_##name##_MDP_ARGB_8888,\ | 527 | [MDP_ARGB_8888] = PPP_##name##_MDP_ARGB_8888,\ |
524 | [MDP_RGBA_8888] = PPP_##name##_MDP_RGBA_8888,\ | 528 | [MDP_RGBA_8888] = PPP_##name##_MDP_RGBA_8888,\ |
525 | [MDP_BGRA_8888] = PPP_##name##_MDP_BGRA_8888,\ | 529 | [MDP_BGRA_8888] = PPP_##name##_MDP_BGRA_8888,\ |
530 | [MDP_RGBX_8888] = PPP_##name##_MDP_RGBX_8888,\ | ||
526 | [MDP_Y_CBCR_H2V1] = PPP_##name##_MDP_Y_CBCR_H2V1,\ | 531 | [MDP_Y_CBCR_H2V1] = PPP_##name##_MDP_Y_CBCR_H2V1,\ |
527 | [MDP_Y_CBCR_H2V2] = PPP_##name##_MDP_Y_CBCR_H2V2,\ | 532 | [MDP_Y_CBCR_H2V2] = PPP_##name##_MDP_Y_CBCR_H2V2,\ |
528 | [MDP_Y_CRCB_H2V1] = PPP_##name##_MDP_Y_CRCB_H2V1,\ | 533 | [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, | |||
536 | [MDP_ARGB_8888] = PPP_##name##_MDP_ARGB_8888(dir),\ | 541 | [MDP_ARGB_8888] = PPP_##name##_MDP_ARGB_8888(dir),\ |
537 | [MDP_RGBA_8888] = PPP_##name##_MDP_RGBA_8888(dir),\ | 542 | [MDP_RGBA_8888] = PPP_##name##_MDP_RGBA_8888(dir),\ |
538 | [MDP_BGRA_8888] = PPP_##name##_MDP_BGRA_8888(dir),\ | 543 | [MDP_BGRA_8888] = PPP_##name##_MDP_BGRA_8888(dir),\ |
544 | [MDP_RGBX_8888] = PPP_##name##_MDP_RGBX_8888(dir),\ | ||
539 | [MDP_Y_CBCR_H2V1] = PPP_##name##_MDP_Y_CBCR_H2V1(dir),\ | 545 | [MDP_Y_CBCR_H2V1] = PPP_##name##_MDP_Y_CBCR_H2V1(dir),\ |
540 | [MDP_Y_CBCR_H2V2] = PPP_##name##_MDP_Y_CBCR_H2V2(dir),\ | 546 | [MDP_Y_CBCR_H2V2] = PPP_##name##_MDP_Y_CBCR_H2V2(dir),\ |
541 | [MDP_Y_CRCB_H2V1] = PPP_##name##_MDP_Y_CRCB_H2V1(dir),\ | 547 | [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, | |||
547 | (img == MDP_YCRYCB_H2V1)) | 553 | (img == MDP_YCRYCB_H2V1)) |
548 | #define IS_RGB(img) ((img == MDP_RGB_565) | (img == MDP_RGB_888) | \ | 554 | #define IS_RGB(img) ((img == MDP_RGB_565) | (img == MDP_RGB_888) | \ |
549 | (img == MDP_ARGB_8888) | (img == MDP_RGBA_8888) | \ | 555 | (img == MDP_ARGB_8888) | (img == MDP_RGBA_8888) | \ |
550 | (img == MDP_XRGB_8888) | (img == MDP_BGRA_8888)) | 556 | (img == MDP_XRGB_8888) | (img == MDP_BGRA_8888) | \ |
557 | (img == MDP_RGBX_8888)) | ||
551 | #define HAS_ALPHA(img) ((img == MDP_ARGB_8888) | (img == MDP_RGBA_8888) | \ | 558 | #define HAS_ALPHA(img) ((img == MDP_ARGB_8888) | (img == MDP_RGBA_8888) | \ |
552 | (img == MDP_BGRA_8888)) | 559 | (img == MDP_BGRA_8888)) |
553 | 560 | ||
diff --git a/drivers/video/msm/mdp_ppp.c b/drivers/video/msm/mdp_ppp.c index 4ff001f4cbbd..2b6564e8bfea 100644 --- a/drivers/video/msm/mdp_ppp.c +++ b/drivers/video/msm/mdp_ppp.c | |||
@@ -69,6 +69,7 @@ static uint32_t bytes_per_pixel[] = { | |||
69 | [MDP_ARGB_8888] = 4, | 69 | [MDP_ARGB_8888] = 4, |
70 | [MDP_RGBA_8888] = 4, | 70 | [MDP_RGBA_8888] = 4, |
71 | [MDP_BGRA_8888] = 4, | 71 | [MDP_BGRA_8888] = 4, |
72 | [MDP_RGBX_8888] = 4, | ||
72 | [MDP_Y_CBCR_H2V1] = 1, | 73 | [MDP_Y_CBCR_H2V1] = 1, |
73 | [MDP_Y_CBCR_H2V2] = 1, | 74 | [MDP_Y_CBCR_H2V2] = 1, |
74 | [MDP_Y_CRCB_H2V1] = 1, | 75 | [MDP_Y_CRCB_H2V1] = 1, |