Merge "msm: sde: Updating linear format definition for v4l2 rotator" into msm-4.8
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 ef3194a..3f463ef 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 @@
 		.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 @@
 		.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 8e57933..5318c9d 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 @@
 		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 @@
 	},
 	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 d80512c..ce62e25 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