]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[media] v4l: vsp1: Disable HSV formats on Gen3 hardware
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tue, 28 Feb 2017 22:44:55 +0000 (19:44 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Mon, 10 Apr 2017 11:32:21 +0000 (08:32 -0300)
While all VSP instances can process HSV internally, on Gen3 hardware
reading or writing HSV24 or HSV32 from/to memory causes the device to
hang. Disable those pixel formats on Gen3 hardware.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/platform/vsp1/vsp1_pipe.c

index 3f1acf68dc6e58516c51d67d0305c297abc4080c..35364f594e1954316727f753bcbf1624c4ddd718 100644 (file)
@@ -157,9 +157,15 @@ const struct vsp1_format_info *vsp1_get_format_info(struct vsp1_device *vsp1,
 {
        unsigned int i;
 
-       /* Special case, the VYUY format is supported on Gen2 only. */
-       if (vsp1->info->gen != 2 && fourcc == V4L2_PIX_FMT_VYUY)
-               return NULL;
+       /* Special case, the VYUY and HSV formats are supported on Gen2 only. */
+       if (vsp1->info->gen != 2) {
+               switch (fourcc) {
+               case V4L2_PIX_FMT_VYUY:
+               case V4L2_PIX_FMT_HSV24:
+               case V4L2_PIX_FMT_HSV32:
+                       return NULL;
+               }
+       }
 
        for (i = 0; i < ARRAY_SIZE(vsp1_video_formats); ++i) {
                const struct vsp1_format_info *info = &vsp1_video_formats[i];