media: i2c: tvp5150: Fix horizontal crop stop boundry
Commit Message
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 <robin@protonic.nl>
---
drivers/media/i2c/tvp5150.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Comments
On 17/09/2019 09:14, Robin van der Gracht wrote:
> 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.
While going through old unreviewed patches I came across this one (sorry Robin,
your patch fell through the cracks).
Can someone verify/test that this is correct? Marco perhaps?
Regards,
Hans
>
> Signed-off-by: Robin van der Gracht <robin@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,
>
Hi,
On 20-06-25 13:05, Hans Verkuil wrote:
> On 17/09/2019 09:14, Robin van der Gracht wrote:
> > 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.
>
> While going through old unreviewed patches I came across this one (sorry Robin,
> your patch fell through the cracks).
>
> Can someone verify/test that this is correct? Marco perhaps?
sorry for my long absence on this. I will test it next week if it is not
already to late.
Regards,
Marco
> Regards,
>
> Hans
>
> >
> > Signed-off-by: Robin van der Gracht <robin@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,
> >
>
>
Marco,
On 2020-07-29 11:29, Marco Felsch wrote:
> Hi,
>
> On 20-06-25 13:05, Hans Verkuil wrote:
>> On 17/09/2019 09:14, Robin van der Gracht wrote:
>> > 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.
>>
>> While going through old unreviewed patches I came across this one
>> (sorry Robin,
>> your patch fell through the cracks).
>>
>> Can someone verify/test that this is correct? Marco perhaps?
>
> sorry for my long absence on this. I will test it next week if it is
> not
> already to late.
Thanks. Let me know if you need more info.
Robin
@@ -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,