[media] media: mx2_camera: Add image size HW limits
authorJavier Martin <javier.martin@vista-silicon.com>
Tue, 30 Oct 2012 14:29:00 +0000 (11:29 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 20 Dec 2012 16:38:03 +0000 (14:38 -0200)
The CSI on i.MX27 has some constraints regarding image width.
This patch makes sure those requirements are met in try_fmt().

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
[g.liakhovetski@gmx.de: make constraint i.MX27-specific]
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/platform/soc_camera/mx2_camera.c

index 77529f8..2c14802 100644 (file)
@@ -1394,8 +1394,6 @@ static int mx2_camera_try_fmt(struct soc_camera_device *icd,
                return -EINVAL;
        }
 
-       /* FIXME: implement MX27 limits */
-
        /* limit to MX25 hardware capabilities */
        if (cpu_is_mx25()) {
                if (xlate->host_fmt->bits_per_sample <= 8)
@@ -1427,6 +1425,12 @@ static int mx2_camera_try_fmt(struct soc_camera_device *icd,
                        pix->sizeimage = soc_mbus_image_size(xlate->host_fmt,
                                                pix->bytesperline, pix->height);
                }
+       } else {
+               /*
+                * Width must be a multiple of 8 as requested by the CSI.
+                * (Table 39-2 in the i.MX27 Reference Manual).
+                */
+               pix->width &= ~0x7;
        }
 
        /* limit to sensor capabilities */