[PATCH] media: imx: Fix rounding

From: Dorota Czaplejewicz
Date: Fri Sep 24 2021 - 06:07:14 EST


Change rounding to the minimal burst size from 2^n to n.

This fixes images with sizes that are a multiple of 8 pixels.

See section 13.7.6.13 CSI Image Parameter Register of the
i.MX 8M Quad Applications Processors Reference Manual.

Fixes: 451a7b7815d0b ("media: imx: lift CSI and PRP ENC/VF width
alignment restriction")
Signed-off-by: Dorota Czaplejewicz <dorota.czaplejewicz@xxxxxxx>
---
Hi,

I tested this patch on the Librem 5 with the main camera.

--Dorota
drivers/staging/media/imx/imx-media-utils.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/media/imx/imx-media-utils.c b/drivers/staging/media/imx/imx-media-utils.c
index 5128915a5d6f..a2d8fab32a39 100644
--- a/drivers/staging/media/imx/imx-media-utils.c
+++ b/drivers/staging/media/imx/imx-media-utils.c
@@ -545,13 +545,13 @@ int imx_media_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix,
}

/* Round up width for minimum burst size */
- width = round_up(mbus->width, 8);
+ width = round_up(mbus->width, 3);

/* Round up stride for IDMAC line start address alignment */
if (cc->planar)
- stride = round_up(width, 16);
+ stride = round_up(width, 4);
else
- stride = round_up((width * cc->bpp) >> 3, 8);
+ stride = round_up((width * cc->bpp) >> 3, 3);

pix->width = width;
pix->height = mbus->height;
--
2.31.1

Attachment: pgp8nvWKJ3eOJ.pgp
Description: OpenPGP digital signature