[...] > 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; > } >