On Wed Jun 25 10:20:28 2025 +0100, Daniel Scally wrote:
> Add a callback to implement the VIDIOC_ENUM_FRAMESIZES ioctl for the
> CRU driver.
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart+rene...@ideasonboard.com>
> Signed-off-by: Daniel Scally <dan.scally+rene...@ideasonboard.com>
> Link: 
> https://lore.kernel.org/r/20250625-rzg2l-cru-v6-2-a9099ed26...@ideasonboard.com
> Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>

Patch committed.

Thanks,
Hans Verkuil

 .../media/platform/renesas/rzg2l-cru/rzg2l-video.c | 26 ++++++++++++++++++++++
 1 file changed, 26 insertions(+)

---

diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c 
b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
index ab35caf97c51..042a6bd44697 100644
--- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
+++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
@@ -1029,6 +1029,31 @@ static int rzg2l_cru_enum_fmt_vid_cap(struct file *file, 
void *priv,
        return 0;
 }
 
+static int rzg2l_cru_enum_framesizes(struct file *file, void *fh,
+                                    struct v4l2_frmsizeenum *fsize)
+{
+       struct rzg2l_cru_dev *cru = video_drvdata(file);
+       const struct rzg2l_cru_info *info = cru->info;
+       const struct rzg2l_cru_ip_format *fmt;
+
+       if (fsize->index)
+               return -EINVAL;
+
+       fmt = rzg2l_cru_ip_format_to_fmt(fsize->pixel_format);
+       if (!fmt)
+               return -EINVAL;
+
+       fsize->type = V4L2_FRMIVAL_TYPE_CONTINUOUS;
+       fsize->stepwise.min_width = RZG2L_CRU_MIN_INPUT_WIDTH;
+       fsize->stepwise.max_width = info->max_width;
+       fsize->stepwise.step_width = 1;
+       fsize->stepwise.min_height = RZG2L_CRU_MIN_INPUT_HEIGHT;
+       fsize->stepwise.max_height = info->max_height;
+       fsize->stepwise.step_height = 1;
+
+       return 0;
+}
+
 static const struct v4l2_ioctl_ops rzg2l_cru_ioctl_ops = {
        .vidioc_querycap                = rzg2l_cru_querycap,
        .vidioc_try_fmt_vid_cap         = rzg2l_cru_try_fmt_vid_cap,
@@ -1045,6 +1070,7 @@ static const struct v4l2_ioctl_ops rzg2l_cru_ioctl_ops = {
        .vidioc_prepare_buf             = vb2_ioctl_prepare_buf,
        .vidioc_streamon                = vb2_ioctl_streamon,
        .vidioc_streamoff               = vb2_ioctl_streamoff,
+       .vidioc_enum_framesizes         = rzg2l_cru_enum_framesizes,
 };
 
 /* 
-----------------------------------------------------------------------------

Reply via email to