summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorTomasz Gorochowik <tgorochowik@antmicro.com>2018-05-21 14:51:16 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2020-02-09 22:49:20 +0100
commit1324079a1c4aefbfb705a41af3feaa78571f197c (patch)
tree8590313537d6976c76f1153debf2c83941f2e907 /drivers
parent85cd4e7551ae0af558d2c4ec91feddebf30a7a8d (diff)
imx8: csi: Recognize all yuv formats as yuv
Make the get_src_fmt callback treat all yuv formats equally. This is needed to recognize the actual source format as yuv and enable yuv->rgb conversion in the image processing unit of iMX8. (cherry picked from commit 35711c32b6947d880f94bc5467acc842c0b3e96c) Conflicts: drivers/media/platform/imx8/mxc-isi-cap.c Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 7f4707774bc1c4f737bfcfab82388c44b3b7bf68) (cherry picked from commit 7fb7e36bfc525da2d3834e303db3230b395f35ba) (cherry picked from commit 6be5a17562e2adf3d3dddee86c07cb6f3435e222)
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/platform/imx8/mxc-isi-cap.c49
1 files changed, 42 insertions, 7 deletions
diff --git a/drivers/media/platform/imx8/mxc-isi-cap.c b/drivers/media/platform/imx8/mxc-isi-cap.c
index eab0864b7a03..db04e8d54b05 100644
--- a/drivers/media/platform/imx8/mxc-isi-cap.c
+++ b/drivers/media/platform/imx8/mxc-isi-cap.c
@@ -161,15 +161,50 @@ struct mxc_isi_fmt *mxc_isi_get_src_fmt(struct v4l2_subdev_format *sd_fmt)
{
u32 index;
- /* two fmt RGB32 and YUV444 from pixellink */
- if (sd_fmt->format.code == MEDIA_BUS_FMT_YUYV8_1X16 ||
- sd_fmt->format.code == MEDIA_BUS_FMT_YVYU8_2X8 ||
- sd_fmt->format.code == MEDIA_BUS_FMT_AYUV8_1X32 ||
- sd_fmt->format.code == MEDIA_BUS_FMT_UYVY8_2X8 ||
- sd_fmt->format.code == MEDIA_BUS_FMT_YUYV8_2X8)
+ /* Treat all yuv fomats equally */
+ switch (sd_fmt->format.code) {
+ case MEDIA_BUS_FMT_Y8_1X8:
+ case MEDIA_BUS_FMT_UV8_1X8:
+ case MEDIA_BUS_FMT_UYVY8_1_5X8:
+ case MEDIA_BUS_FMT_VYUY8_1_5X8:
+ case MEDIA_BUS_FMT_YUYV8_1_5X8:
+ case MEDIA_BUS_FMT_YVYU8_1_5X8:
+ case MEDIA_BUS_FMT_UYVY8_2X8:
+ case MEDIA_BUS_FMT_VYUY8_2X8:
+ case MEDIA_BUS_FMT_YUYV8_2X8:
+ case MEDIA_BUS_FMT_YVYU8_2X8:
+ case MEDIA_BUS_FMT_Y10_1X10:
+ case MEDIA_BUS_FMT_UYVY10_2X10:
+ case MEDIA_BUS_FMT_VYUY10_2X10:
+ case MEDIA_BUS_FMT_YUYV10_2X10:
+ case MEDIA_BUS_FMT_YVYU10_2X10:
+ case MEDIA_BUS_FMT_Y12_1X12:
+ case MEDIA_BUS_FMT_UYVY12_2X12:
+ case MEDIA_BUS_FMT_VYUY12_2X12:
+ case MEDIA_BUS_FMT_YUYV12_2X12:
+ case MEDIA_BUS_FMT_YVYU12_2X12:
+ case MEDIA_BUS_FMT_UYVY8_1X16:
+ case MEDIA_BUS_FMT_VYUY8_1X16:
+ case MEDIA_BUS_FMT_YUYV8_1X16:
+ case MEDIA_BUS_FMT_YVYU8_1X16:
+ case MEDIA_BUS_FMT_YDYUYDYV8_1X16:
+ case MEDIA_BUS_FMT_UYVY10_1X20:
+ case MEDIA_BUS_FMT_VYUY10_1X20:
+ case MEDIA_BUS_FMT_YUYV10_1X20:
+ case MEDIA_BUS_FMT_YVYU10_1X20:
+ case MEDIA_BUS_FMT_VUY8_1X24:
+ case MEDIA_BUS_FMT_YUV8_1X24:
+ case MEDIA_BUS_FMT_UYVY12_1X24:
+ case MEDIA_BUS_FMT_VYUY12_1X24:
+ case MEDIA_BUS_FMT_YUYV12_1X24:
+ case MEDIA_BUS_FMT_YVYU12_1X24:
+ case MEDIA_BUS_FMT_YUV10_1X30:
+ case MEDIA_BUS_FMT_AYUV8_1X32:
index = 1;
- else
+ break;
+ default:
index = 0;
+ }
return &mxc_isi_src_formats[index];
}