Hi Eugen On Fri, Oct 22, 2021 at 10:52:36AM +0300, Eugen Hristev wrote: > The ISC supports a full broad range of frame sizes. > Until now, the subdevice was queried for possible frame sizes and these > were reported to the user space. > However, the ISC should not care about which frame sizes the subdev supports, > as long as this frame size is supported. > Thus, report a continuous range from smallest frame size up to the max > resolution. > > Signed-off-by: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx> Reviewed-by: Jacopo Mondi <jacopo@xxxxxxxxxx> Thanks j > --- > drivers/media/platform/atmel/atmel-isc-base.c | 22 +++++++++---------- > 1 file changed, 10 insertions(+), 12 deletions(-) > > diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c > index 8537ad73d160..2dd2511c7be1 100644 > --- a/drivers/media/platform/atmel/atmel-isc-base.c > +++ b/drivers/media/platform/atmel/atmel-isc-base.c > @@ -1077,14 +1077,12 @@ static int isc_enum_framesizes(struct file *file, void *fh, > struct v4l2_frmsizeenum *fsize) > { > struct isc_device *isc = video_drvdata(file); > - struct v4l2_subdev_frame_size_enum fse = { > - .code = isc->config.sd_format->mbus_code, > - .index = fsize->index, > - .which = V4L2_SUBDEV_FORMAT_ACTIVE, > - }; > int ret = -EINVAL; > int i; > > + if (fsize->index) > + return -EINVAL; > + > for (i = 0; i < isc->num_user_formats; i++) > if (isc->user_formats[i]->fourcc == fsize->pixel_format) > ret = 0; > @@ -1096,14 +1094,14 @@ static int isc_enum_framesizes(struct file *file, void *fh, > if (ret) > return ret; > > - ret = v4l2_subdev_call(isc->current_subdev->sd, pad, enum_frame_size, > - NULL, &fse); > - if (ret) > - return ret; > + fsize->type = V4L2_FRMSIZE_TYPE_CONTINUOUS; > > - fsize->type = V4L2_FRMSIZE_TYPE_DISCRETE; > - fsize->discrete.width = fse.max_width; > - fsize->discrete.height = fse.max_height; > + fsize->stepwise.min_width = 16; > + fsize->stepwise.max_width = isc->max_width; > + fsize->stepwise.min_height = 16; > + fsize->stepwise.max_height = isc->max_height; > + fsize->stepwise.step_width = 1; > + fsize->stepwise.step_height = 1; > > return 0; > } > -- > 2.25.1 >