OSDN Git Service

msm: sde: Updating linear format definition for v4l2 rotator
authorBenjamin Chan <bkchan@codeaurora.org>
Wed, 22 Jun 2016 18:54:08 +0000 (14:54 -0400)
committerKyle Yan <kyan@codeaurora.org>
Tue, 12 Jul 2016 01:56:32 +0000 (18:56 -0700)
Providing additonal linear format support for v4l2 rotator in mdss 3.x
hardware.

CRs-Fixed: 1032294
Change-Id: Ie8a19341831d4ffaea36898a80c71ab25f5daf3c
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c
drivers/media/platform/msm/sde/rotator/sde_rotator_formats.c
include/uapi/media/msm_sde_rotator.h

index a7ac094..140d335 100644 (file)
@@ -90,10 +90,42 @@ static const struct v4l2_fmtdesc fmtdesc[] = {
                .pixelformat = SDE_PIX_FMT_BGRX_8888,
        },
        {
+               .description = "SDE/XBGR_8888",
+               .pixelformat = SDE_PIX_FMT_XBGR_8888,
+       },
+       {
                .description = "RGBA_5551",
                .pixelformat = SDE_PIX_FMT_RGBA_5551,
        },
        {
+               .description = "ARGB_1555",
+               .pixelformat = SDE_PIX_FMT_ARGB_1555,
+       },
+       {
+               .description = "ABGR_1555",
+               .pixelformat = SDE_PIX_FMT_ABGR_1555,
+       },
+       {
+               .description = "BGRA_5551",
+               .pixelformat = SDE_PIX_FMT_BGRA_5551,
+       },
+       {
+               .description = "BGRX_5551",
+               .pixelformat = SDE_PIX_FMT_BGRX_5551,
+       },
+       {
+               .description = "RGBX_5551",
+               .pixelformat = SDE_PIX_FMT_RGBX_5551,
+       },
+       {
+               .description = "XBGR_1555",
+               .pixelformat = SDE_PIX_FMT_XBGR_1555,
+       },
+       {
+               .description = "XRGB_1555",
+               .pixelformat = SDE_PIX_FMT_XRGB_1555,
+       },
+       {
                .description = "ARGB_4444",
                .pixelformat = SDE_PIX_FMT_ARGB_4444,
        },
@@ -102,6 +134,30 @@ static const struct v4l2_fmtdesc fmtdesc[] = {
                .pixelformat = SDE_PIX_FMT_RGBA_4444,
        },
        {
+               .description = "BGRA_4444",
+               .pixelformat = SDE_PIX_FMT_BGRA_4444,
+       },
+       {
+               .description = "ABGR_4444",
+               .pixelformat = SDE_PIX_FMT_ABGR_4444,
+       },
+       {
+               .description = "RGBX_4444",
+               .pixelformat = SDE_PIX_FMT_RGBX_4444,
+       },
+       {
+               .description = "XRGB_4444",
+               .pixelformat = SDE_PIX_FMT_XRGB_4444,
+       },
+       {
+               .description = "BGRX_4444",
+               .pixelformat = SDE_PIX_FMT_BGRX_4444,
+       },
+       {
+               .description = "XBGR_4444",
+               .pixelformat = SDE_PIX_FMT_XBGR_4444,
+       },
+       {
                .description = "RGB_888",
                .pixelformat = SDE_PIX_FMT_RGB_888,
        },
index 8e57933..5318c9d 100644 (file)
@@ -318,6 +318,10 @@ static struct sde_mdp_format_params sde_mdp_format_map[] = {
                SDE_PIX_FMT_BGRX_8888, SDE_MDP_FMT_LINEAR,
                VALID_ROT_WB_ALL | VALID_MDP_WB_INTF_FORMAT,
                0, C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA, SDE_MDP_COMPRESS_NONE),
+       FMT_RGB_8888(
+               SDE_PIX_FMT_XBGR_8888, SDE_MDP_FMT_LINEAR,
+               VALID_ROT_WB_ALL | VALID_MDP_WB_INTF_FORMAT,
+               0, C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr, SDE_MDP_COMPRESS_NONE),
 
        FMT_YUV_PSEUDO(SDE_PIX_FMT_Y_CRCB_H2V1, SDE_MDP_FMT_LINEAR,
                SDE_MDP_CHROMA_H2V1, SDE_MDP_PIXEL_NORMAL,
@@ -401,10 +405,36 @@ static struct sde_mdp_format_params sde_mdp_format_map[] = {
        },
        FMT_RGB_1555(SDE_PIX_FMT_RGBA_5551, 1, VALID_ROT_WB_ALL,
                C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr),
+       FMT_RGB_1555(SDE_PIX_FMT_ARGB_1555, 1, VALID_ROT_WB_ALL,
+               C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA),
+       FMT_RGB_1555(SDE_PIX_FMT_ABGR_1555, 1, VALID_ROT_WB_ALL,
+               C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA),
+       FMT_RGB_1555(SDE_PIX_FMT_BGRA_5551, 1, VALID_ROT_WB_ALL,
+               C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb),
+       FMT_RGB_1555(SDE_PIX_FMT_BGRX_5551, 0, VALID_ROT_WB_ALL,
+               C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb),
+       FMT_RGB_1555(SDE_PIX_FMT_RGBX_5551, 0, VALID_ROT_WB_ALL,
+               C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr),
+       FMT_RGB_1555(SDE_PIX_FMT_XBGR_1555, 0, VALID_ROT_WB_ALL,
+               C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA),
+       FMT_RGB_1555(SDE_PIX_FMT_XRGB_1555, 0, VALID_ROT_WB_ALL,
+               C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA),
        FMT_RGB_4444(SDE_PIX_FMT_RGBA_4444, 1, VALID_ROT_WB_ALL,
                C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr),
        FMT_RGB_4444(SDE_PIX_FMT_ARGB_4444, 1, VALID_ROT_WB_ALL,
                C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA),
+       FMT_RGB_4444(SDE_PIX_FMT_BGRA_4444, 1, VALID_ROT_WB_ALL,
+               C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb),
+       FMT_RGB_4444(SDE_PIX_FMT_ABGR_4444, 1, VALID_ROT_WB_ALL,
+               C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA),
+       FMT_RGB_4444(SDE_PIX_FMT_RGBX_4444, 0, VALID_ROT_WB_ALL,
+               C3_ALPHA, C1_B_Cb, C0_G_Y, C2_R_Cr),
+       FMT_RGB_4444(SDE_PIX_FMT_XRGB_4444, 0, VALID_ROT_WB_ALL,
+               C1_B_Cb, C0_G_Y, C2_R_Cr, C3_ALPHA),
+       FMT_RGB_4444(SDE_PIX_FMT_BGRX_4444, 0, VALID_ROT_WB_ALL,
+               C3_ALPHA, C2_R_Cr, C0_G_Y, C1_B_Cb),
+       FMT_RGB_4444(SDE_PIX_FMT_XBGR_4444, 0, VALID_ROT_WB_ALL,
+               C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA),
        FMT_RGB_1010102(SDE_PIX_FMT_RGBA_1010102, SDE_MDP_FMT_LINEAR,
                VALID_ROT_R3_WB_FORMAT | VALID_MDP_WB_INTF_FORMAT,
                1, C2_R_Cr, C0_G_Y, C1_B_Cb, C3_ALPHA, SDE_MDP_COMPRESS_NONE),
index d771959..461a171 100644 (file)
 #define SDE_PIX_FMT_BGRA_8888          V4L2_PIX_FMT_ARGB32
 #define SDE_PIX_FMT_RGBX_8888          v4l2_fourcc('X', 'B', '2', '4')
 #define SDE_PIX_FMT_BGRX_8888          V4L2_PIX_FMT_XRGB32
+#define SDE_PIX_FMT_XBGR_8888          v4l2_fourcc('R', 'X', '2', '4')
 #define SDE_PIX_FMT_RGBA_5551          v4l2_fourcc('R', 'A', '1', '5')
+#define SDE_PIX_FMT_ARGB_1555          V4L2_PIX_FMT_ARGB555
+#define SDE_PIX_FMT_ABGR_1555          v4l2_fourcc('A', 'B', '1', '5')
+#define SDE_PIX_FMT_BGRA_5551          v4l2_fourcc('B', 'A', '1', '5')
+#define SDE_PIX_FMT_BGRX_5551          v4l2_fourcc('B', 'X', '1', '5')
+#define SDE_PIX_FMT_RGBX_5551          v4l2_fourcc('R', 'X', '1', '5')
+#define SDE_PIX_FMT_XBGR_1555          v4l2_fourcc('X', 'B', '1', '5')
+#define SDE_PIX_FMT_XRGB_1555          V4L2_PIX_FMT_XRGB555
 #define SDE_PIX_FMT_ARGB_4444          V4L2_PIX_FMT_ARGB444
 #define SDE_PIX_FMT_RGBA_4444          v4l2_fourcc('R', 'A', '1', '2')
+#define SDE_PIX_FMT_BGRA_4444          v4l2_fourcc('B', 'A', '1', '2')
+#define SDE_PIX_FMT_ABGR_4444          v4l2_fourcc('A', 'B', '1', '2')
+#define SDE_PIX_FMT_RGBX_4444          v4l2_fourcc('R', 'X', '1', '2')
+#define SDE_PIX_FMT_XRGB_4444          V4L2_PIX_FMT_XRGB444
+#define SDE_PIX_FMT_BGRX_4444          v4l2_fourcc('B', 'X', '1', '2')
+#define SDE_PIX_FMT_XBGR_4444          v4l2_fourcc('X', 'B', '1', '2')
 #define SDE_PIX_FMT_RGB_888            V4L2_PIX_FMT_RGB24
 #define SDE_PIX_FMT_BGR_888            V4L2_PIX_FMT_BGR24
 #define SDE_PIX_FMT_RGB_565            V4L2_PIX_FMT_RGB565