diff options
| author | Benjamin Chan <bkchan@codeaurora.org> | 2016-06-22 14:54:08 -0400 |
|---|---|---|
| committer | Kyle Yan <kyan@codeaurora.org> | 2016-07-11 18:56:32 -0700 |
| commit | 9f7a8de9ee315043fb3cc3aefff8cc307e441f40 (patch) | |
| tree | fb06db3ac32ae8383423a91465a5b28736e34b53 | |
| parent | 8d87a45f664232a503a9302c8405dd1b0b5935af (diff) | |
msm: sde: Updating linear format definition for v4l2 rotator
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>
| -rw-r--r-- | drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c | 56 | ||||
| -rw-r--r-- | drivers/media/platform/msm/sde/rotator/sde_rotator_formats.c | 30 | ||||
| -rw-r--r-- | include/uapi/media/msm_sde_rotator.h | 14 |
3 files changed, 100 insertions, 0 deletions
diff --git a/drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c b/drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c index a7ac094f6c1e..140d33582c87 100644 --- a/drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c +++ b/drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c @@ -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, }, diff --git a/drivers/media/platform/msm/sde/rotator/sde_rotator_formats.c b/drivers/media/platform/msm/sde/rotator/sde_rotator_formats.c index 8e5793362875..5318c9da1277 100644 --- a/drivers/media/platform/msm/sde/rotator/sde_rotator_formats.c +++ b/drivers/media/platform/msm/sde/rotator/sde_rotator_formats.c @@ -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), diff --git a/include/uapi/media/msm_sde_rotator.h b/include/uapi/media/msm_sde_rotator.h index d771959f2e03..461a171a42c1 100644 --- a/include/uapi/media/msm_sde_rotator.h +++ b/include/uapi/media/msm_sde_rotator.h @@ -13,9 +13,23 @@ #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 |
