summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/mtk-mdp
diff options
context:
space:
mode:
authorMinghsiu Tsai2016-09-08 15:09:05 +0200
committerMauro Carvalho Chehab2016-10-21 16:09:48 +0200
commit859b5e407d83e79f42dad08c50bdfc2bb17766cb (patch)
tree2978ee0dd88e075c119f58c0ed69c5f8cb3996a8 /drivers/media/platform/mtk-mdp
parent[media] mtk-mdp: fix compilation warnings if !DEBUG (diff)
downloadkernel-qcow2-linux-859b5e407d83e79f42dad08c50bdfc2bb17766cb.tar.gz
kernel-qcow2-linux-859b5e407d83e79f42dad08c50bdfc2bb17766cb.tar.xz
kernel-qcow2-linux-859b5e407d83e79f42dad08c50bdfc2bb17766cb.zip
[media] media: mtk-mdp: support pixelformat V4L2_PIX_FMT_MT21C
Add V4L2_PIX_FMT_MT21C in format list. [mchehab@s-opensource.org: re-add mtk_mdp_size_align] Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/platform/mtk-mdp')
-rw-r--r--drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c8
-rw-r--r--drivers/media/platform/mtk-mdp/mtk_mdp_regs.c4
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c b/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c
index 065502757133..a90972efec5c 100644
--- a/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c
+++ b/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c
@@ -54,6 +54,14 @@ static struct mtk_mdp_pix_align mtk_mdp_size_align = {
static const struct mtk_mdp_fmt mtk_mdp_formats[] = {
{
+ .pixelformat = V4L2_PIX_FMT_MT21C,
+ .depth = { 8, 4 },
+ .row_depth = { 8, 8 },
+ .num_planes = 2,
+ .num_comp = 2,
+ .align = &mtk_mdp_size_align,
+ .flags = MTK_MDP_FMT_FLAG_OUTPUT,
+ }, {
.pixelformat = V4L2_PIX_FMT_NV12M,
.depth = { 8, 4 },
.row_depth = { 8, 8 },
diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_regs.c b/drivers/media/platform/mtk-mdp/mtk_mdp_regs.c
index a5601e1a238c..86d57f380c97 100644
--- a/drivers/media/platform/mtk-mdp/mtk_mdp_regs.c
+++ b/drivers/media/platform/mtk-mdp/mtk_mdp_regs.c
@@ -29,6 +29,8 @@ enum MDP_COLOR_ENUM {
MDP_COLOR_NV12 = MDP_COLORFMT_PACK(0, 2, 1, 1, 1, 8, 1, 0, 12),
MDP_COLOR_I420 = MDP_COLORFMT_PACK(0, 3, 0, 1, 1, 8, 1, 0, 8),
MDP_COLOR_YV12 = MDP_COLORFMT_PACK(0, 3, 0, 1, 1, 8, 1, 1, 8),
+ /* Mediatek proprietary format */
+ MDP_COLOR_420_MT21 = MDP_COLORFMT_PACK(5, 2, 1, 1, 1, 256, 1, 0, 12),
};
static int32_t mtk_mdp_map_color_format(int v4l2_format)
@@ -37,6 +39,8 @@ static int32_t mtk_mdp_map_color_format(int v4l2_format)
case V4L2_PIX_FMT_NV12M:
case V4L2_PIX_FMT_NV12:
return MDP_COLOR_NV12;
+ case V4L2_PIX_FMT_MT21C:
+ return MDP_COLOR_420_MT21;
case V4L2_PIX_FMT_YUV420M:
case V4L2_PIX_FMT_YUV420:
return MDP_COLOR_I420;