From: Thorsten Schmelzer Date: Tue, 25 Nov 2025 14:29:57 +0000 (+0100) Subject: media: adv7180: fix frame interval in progressive mode X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=90289b67c5c1d4c18784059b27460d292e16d208;p=thirdparty%2Fkernel%2Flinux.git media: adv7180: fix frame interval in progressive mode The ADV7280-M may internally convert interlaced video input to progressive video. If this mode is enabled, the ADV7280-M delivers progressive video frames at the field rate of 50 fields per second (PAL) or 60 fields per second (NTSC). Fix the reported frame interval if progressive video is enabled. Signed-off-by: Thorsten Schmelzer Reviewed-by: Niklas Söderlund Signed-off-by: Michael Tretter Signed-off-by: Hans Verkuil --- diff --git a/drivers/media/i2c/adv7180.c b/drivers/media/i2c/adv7180.c index d289cbc2eefd5..669b0b3165b1c 100644 --- a/drivers/media/i2c/adv7180.c +++ b/drivers/media/i2c/adv7180.c @@ -507,6 +507,13 @@ static int adv7180_get_frame_interval(struct v4l2_subdev *sd, fi->interval.denominator = 25; } + /* + * If the de-interlacer is active, the chip produces full video frames + * at the field rate. + */ + if (state->field == V4L2_FIELD_NONE) + fi->interval.denominator *= 2; + return 0; }