The alignments given to the v4l_bound_align_image() are expressed in
bytes, while the function expects them to be expressed as a power of
two. Fix it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
         */
        switch (csis_fmt->width % 8) {
        case 0:
-               align = 1;
+               align = 0;
                break;
        case 4:
-               align = 2;
+               align = 1;
                break;
        case 2:
        case 6:
-               align = 4;
+               align = 2;
                break;
        case 1:
        case 3:
        case 5:
        case 7:
-               align = 8;
+               align = 3;
                break;
        }
 
        v4l_bound_align_image(&fmt->width, 1, CSIS_MAX_PIX_WIDTH, align,
-                             &fmt->height, 1, CSIS_MAX_PIX_HEIGHT, 1, 0);
+                             &fmt->height, 1, CSIS_MAX_PIX_HEIGHT, 0, 0);
 
        sdformat->format = *fmt;