The value for AVID stop is relative to the width of the active video area,
not the maximum register value. Zero means equal and a negative value means
we're cropping on the right side.

Signed-off-by: Robin van der Gracht <ro...@protonic.nl>
---
 drivers/media/i2c/tvp5150.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/i2c/tvp5150.c b/drivers/media/i2c/tvp5150.c
index f47cb9a023fb..6bc65ab5e8ab 100644
--- a/drivers/media/i2c/tvp5150.c
+++ b/drivers/media/i2c/tvp5150.c
@@ -1231,10 +1231,10 @@ __tvp5150_set_selection(struct v4l2_subdev *sd, struct 
v4l2_rect rect)
        regmap_write(decoder->regmap, TVP5150_ACT_VD_CROP_ST_LSB,
                     rect.left | (1 << TVP5150_CROP_SHIFT));
        regmap_write(decoder->regmap, TVP5150_ACT_VD_CROP_STP_MSB,
-                    (rect.left + rect.width - TVP5150_MAX_CROP_LEFT) >>
+                    (rect.left + rect.width - TVP5150_H_MAX) >>
                     TVP5150_CROP_SHIFT);
        regmap_write(decoder->regmap, TVP5150_ACT_VD_CROP_STP_LSB,
-                    rect.left + rect.width - TVP5150_MAX_CROP_LEFT);
+                    rect.left + rect.width - TVP5150_H_MAX);
 }
 
 static int tvp5150_set_selection(struct v4l2_subdev *sd,
-- 
2.20.1

Reply via email to