Message ID | 20240327132853.521461-1-sakari.ailus@linux.intel.com |
---|---|
State | Accepted |
Commit | f7aa5995910cb5e7a5419c6705f465c55973b714 |
Headers | show |
Series | [1/1] media: ov2740: Fix LINK_FREQ and PIXEL_RATE control value reporting | expand |
Sakari, Thank you for the fix patch. On 3/27/24 9:28 PM, Sakari Ailus wrote: > 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> > --- > drivers/media/i2c/ov2740.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/drivers/media/i2c/ov2740.c b/drivers/media/i2c/ov2740.c > index 552935ccb4a9..57906df7be4e 100644 > --- a/drivers/media/i2c/ov2740.c > +++ b/drivers/media/i2c/ov2740.c > @@ -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); > Reviewed-by: Bingbu Cao <bingbu.cao@intel.com>
diff --git a/drivers/media/i2c/ov2740.c b/drivers/media/i2c/ov2740.c index 552935ccb4a9..57906df7be4e 100644 --- a/drivers/media/i2c/ov2740.c +++ b/drivers/media/i2c/ov2740.c @@ -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);
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> --- drivers/media/i2c/ov2740.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)