فهرست منبع

[media] cobalt: support reduced fps

Add support for reduced fps (i.e. 59.94 Hz instead of 60 Hz) for the
HDMI output.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Hans Verkuil 9 سال پیش
والد
کامیت
605a74e628
1فایلهای تغییر یافته به همراه5 افزوده شده و 2 حذف شده
  1. 5 2
      drivers/media/pci/cobalt/cobalt-v4l2.c

+ 5 - 2
drivers/media/pci/cobalt/cobalt-v4l2.c

@@ -161,8 +161,11 @@ static void cobalt_enable_output(struct cobalt_stream *s)
 	struct v4l2_subdev_format sd_fmt = {
 	struct v4l2_subdev_format sd_fmt = {
 		.which = V4L2_SUBDEV_FORMAT_ACTIVE,
 		.which = V4L2_SUBDEV_FORMAT_ACTIVE,
 	};
 	};
+	u64 clk = bt->pixelclock;
 
 
-	if (!cobalt_cpld_set_freq(cobalt, bt->pixelclock)) {
+	if (bt->flags & V4L2_DV_FL_REDUCED_FPS)
+		clk = div_u64(clk * 1000ULL, 1001);
+	if (!cobalt_cpld_set_freq(cobalt, clk)) {
 		cobalt_err("pixelclock out of range\n");
 		cobalt_err("pixelclock out of range\n");
 		return;
 		return;
 	}
 	}
@@ -644,7 +647,7 @@ static int cobalt_s_dv_timings(struct file *file, void *priv_fh,
 		return 0;
 		return 0;
 	}
 	}
 
 
-	if (v4l2_match_dv_timings(timings, &s->timings, 0, false))
+	if (v4l2_match_dv_timings(timings, &s->timings, 0, true))
 		return 0;
 		return 0;
 
 
 	if (vb2_is_busy(&s->q))
 	if (vb2_is_busy(&s->q))