[...]
> diff --git a/drivers/media/i2c/adv7180.c b/drivers/media/i2c/adv7180.c
> index a8b434b..c6fed71 100644
> --- a/drivers/media/i2c/adv7180.c
> +++ b/drivers/media/i2c/adv7180.c
> @@ -680,10 +680,13 @@ static int adv7180_set_pad_format(struct v4l2_subdev
> *sd,
> switch (format->format.field) {
> case V4L2_FIELD_NONE:
> if (!(state->chip_info->flags & ADV7180_FLAG_I2P))
> - format->format.field = V4L2_FIELD_INTERLACED;
> + format->format.field = V4L2_FIELD_ALTERNATE;
> break;
> default:
> - format->format.field = V4L2_FIELD_INTERLACED;
> + if (state->chip_info->flags & ADV7180_FLAG_I2P)
> + format->format.field = V4L2_FIELD_INTERLACED;
I'm not convinced this is correct. As far as I understand it when the I2P
feature is enabled the core outputs full progressive frames at the full
framerate. If it is bypassed it outputs half-frames. So we have the option
of either V4L2_FIELD_NONE or V4L2_FIELD_ALTERNATE, but never interlaced. I
think this branch should setup the field format to be ALTERNATE regardless
of whether the I2P feature is available.
> + else
> + format->format.field = V4L2_FIELD_ALTERNATE;
> break;
> }
>