]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
media: ov2740: Fix LINK_FREQ and PIXEL_RATE control value reporting
authorSakari Ailus <sakari.ailus@linux.intel.com>
Wed, 27 Mar 2024 08:57:31 +0000 (10:57 +0200)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 10 Apr 2024 13:15:30 +0000 (15:15 +0200)
The driver dug the supported link frequency up from the V4L2 fwnode
endpoint and used it internally, but failed to report this in the
LINK_FREQ and PIXEL_RATE controls. Fix this.

Fixes: 0677a2d9b735 ("media: ov2740: Add support for 180 MHz link frequency")
Cc: stable@vger.kernel.org # for v6.8 and later
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Bingbu Cao <bingbu.cao@intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/i2c/ov2740.c

index 552935ccb4a90490685b9d07ba016df8516d8162..57906df7be4ec45da0b7cdbb452db2948e636b06 100644 (file)
@@ -768,14 +768,15 @@ static int ov2740_init_controls(struct ov2740 *ov2740)
        cur_mode = ov2740->cur_mode;
        size = ARRAY_SIZE(link_freq_menu_items);
 
-       ov2740->link_freq = v4l2_ctrl_new_int_menu(ctrl_hdlr, &ov2740_ctrl_ops,
-                                                  V4L2_CID_LINK_FREQ,
-                                                  size - 1, 0,
-                                                  link_freq_menu_items);
+       ov2740->link_freq =
+               v4l2_ctrl_new_int_menu(ctrl_hdlr, &ov2740_ctrl_ops,
+                                      V4L2_CID_LINK_FREQ, size - 1,
+                                      ov2740->supported_modes->link_freq_index,
+                                      link_freq_menu_items);
        if (ov2740->link_freq)
                ov2740->link_freq->flags |= V4L2_CTRL_FLAG_READ_ONLY;
 
-       pixel_rate = to_pixel_rate(OV2740_LINK_FREQ_360MHZ_INDEX);
+       pixel_rate = to_pixel_rate(ov2740->supported_modes->link_freq_index);
        ov2740->pixel_rate = v4l2_ctrl_new_std(ctrl_hdlr, &ov2740_ctrl_ops,
                                               V4L2_CID_PIXEL_RATE, 0,
                                               pixel_rate, 1, pixel_rate);