]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: rcar-vin: Use bytes per line instead of width for UV offset
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Thu, 5 Sep 2019 21:25:17 +0000 (18:25 -0300)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 10 Oct 2019 10:28:43 +0000 (07:28 -0300)
The image size is doubled for NV16 and is calculated as bytesperline *
height * 2 to accommodate the split of UV data. When writing the offset
to hardware, the width is used instead of bytesperline, fix this.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/rcar-vin/rcar-dma.c

index c7859b329dd4f02ab722a35f5232c4a2e3b417f2..af4f774149f085971a801cc38d4b05ca4a8f2475 100644 (file)
@@ -703,8 +703,8 @@ static int rvin_setup(struct rvin_dev *vin)
        switch (vin->format.pixelformat) {
        case V4L2_PIX_FMT_NV16:
                rvin_write(vin,
-                          ALIGN(vin->format.width * vin->format.height, 0x80),
-                          VNUVAOF_REG);
+                          ALIGN(vin->format.bytesperline * vin->format.height,
+                                0x80), VNUVAOF_REG);
                dmr = VNDMR_DTMD_YCSEP;
                output_is_yuv = true;
                break;