Instead of aligning the image width to match the image stride at stream
start time do so when configuring the format. This allows the format
width to strictly match the image stride which is useful when enabling
scaling on Gen3.

Signed-off-by: Niklas Söderlund <[email protected]>
---
 drivers/media/platform/rcar-vin/rcar-dma.c  | 5 +----
 drivers/media/platform/rcar-vin/rcar-v4l2.c | 9 +++++++++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/media/platform/rcar-vin/rcar-dma.c 
b/drivers/media/platform/rcar-vin/rcar-dma.c
index 92323310f7352147..e752bc86e40153b1 100644
--- a/drivers/media/platform/rcar-vin/rcar-dma.c
+++ b/drivers/media/platform/rcar-vin/rcar-dma.c
@@ -597,10 +597,7 @@ void rvin_crop_scale_comp(struct rvin_dev *vin)
        if (vin->info->model != RCAR_GEN3)
                rvin_crop_scale_comp_gen2(vin);
 
-       if (vin->format.pixelformat == V4L2_PIX_FMT_NV16)
-               rvin_write(vin, ALIGN(vin->format.width, 0x20), VNIS_REG);
-       else
-               rvin_write(vin, ALIGN(vin->format.width, 0x10), VNIS_REG);
+       rvin_write(vin, vin->format.width, VNIS_REG);
 }
 
 /* 
-----------------------------------------------------------------------------
diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c 
b/drivers/media/platform/rcar-vin/rcar-v4l2.c
index dc77682b47857c97..94bc559a0cb1e47a 100644
--- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
+++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
@@ -96,6 +96,15 @@ static void rvin_format_align(struct rvin_dev *vin, struct 
v4l2_pix_format *pix)
             pix->pixelformat == V4L2_PIX_FMT_XBGR32))
                pix->pixelformat = RVIN_DEFAULT_FORMAT;
 
+       switch (pix->pixelformat) {
+       case V4L2_PIX_FMT_NV16:
+               pix->width = ALIGN(pix->width, 0x20);
+               break;
+       default:
+               pix->width = ALIGN(pix->width, 0x10);
+               break;
+       }
+
        switch (pix->field) {
        case V4L2_FIELD_TOP:
        case V4L2_FIELD_BOTTOM:
-- 
2.19.0

Reply via email to