devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrey Konovalov <andrey.konovalov@linaro.org>
To: Sakari Ailus <sakari.ailus@iki.fi>
Cc: mchehab@kernel.org, manivannan.sadhasivam@linaro.org,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	c.barrett@framos.com, a.brela@framos.com,
	peter.griffin@linaro.org
Subject: Re: [PATCH v3 08/10] media: i2c: imx290: Add support to enumerate all frame sizes
Date: Sun, 7 Jun 2020 19:28:56 +0300	[thread overview]
Message-ID: <effee6cc-680f-3234-2e56-2f6b24d107cd@linaro.org> (raw)
In-Reply-To: <20200526091716.GJ8214@valkosipuli.retiisi.org.uk>

Hi Sakari,

Thank you for the review!

On 26.05.2020 12:17, Sakari Ailus wrote:
> Hi Andrey,
> 
> On Sun, May 24, 2020 at 10:25:03PM +0300, Andrey Konovalov wrote:
>> From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
>>
>> Add support to enumerate all frame sizes supported by IMX290. This is
>> required for using with userspace tools such as libcamera.
>>
>> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
>> Signed-off-by: Andrey Konovalov <andrey.konovalov@linaro.org>
>> ---
>>   drivers/media/i2c/imx290.c | 20 ++++++++++++++++++++
>>   1 file changed, 20 insertions(+)
>>
>> diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c
>> index 6e70ff22bc5f..88850f3b1427 100644
>> --- a/drivers/media/i2c/imx290.c
>> +++ b/drivers/media/i2c/imx290.c
>> @@ -471,6 +471,25 @@ static int imx290_enum_mbus_code(struct v4l2_subdev *sd,
>>   	return 0;
>>   }
>>   
>> +static int imx290_enum_frame_size(struct v4l2_subdev *subdev,
>> +				  struct v4l2_subdev_pad_config *cfg,
>> +				  struct v4l2_subdev_frame_size_enum *fse)
>> +{
>> +	if ((fse->code != imx290_formats[0].code) &&
>> +	    (fse->code != imx290_formats[1].code))
>> +		return -EINVAL;
> 
> Please skip the modes that do not have the code specified by the user. They
> should not be enumerated here.

I've double checked this part of the code, and it doesn't seem to need changes.
The reason is that for the both codes the set of the modes and the frame sizes is
exactly the same. And the fse->code check above just guards against the codes not
supported by the driver at all.

Thanks,
Andrey

>> +
>> +	if (fse->index >= ARRAY_SIZE(imx290_modes))
>> +		return -EINVAL;
>> +
>> +	fse->min_width = imx290_modes[fse->index].width;
>> +	fse->max_width = imx290_modes[fse->index].width;
>> +	fse->min_height = imx290_modes[fse->index].height;
>> +	fse->max_height = imx290_modes[fse->index].height;
>> +
>> +	return 0;
>> +}
>> +
>>   static int imx290_get_fmt(struct v4l2_subdev *sd,
>>   			  struct v4l2_subdev_pad_config *cfg,
>>   			  struct v4l2_subdev_format *fmt)
>> @@ -850,6 +869,7 @@ static const struct v4l2_subdev_video_ops imx290_video_ops = {
>>   static const struct v4l2_subdev_pad_ops imx290_pad_ops = {
>>   	.init_cfg = imx290_entity_init_cfg,
>>   	.enum_mbus_code = imx290_enum_mbus_code,
>> +	.enum_frame_size = imx290_enum_frame_size,
>>   	.get_fmt = imx290_get_fmt,
>>   	.set_fmt = imx290_set_fmt,
>>   };
> 

  reply	other threads:[~2020-06-07 16:29 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-24 19:24 [PATCH v3 00/10] Improvements to IMX290 CMOS driver Andrey Konovalov
2020-05-24 19:24 ` [PATCH v3 01/10] media: i2c: imx290: set the format before VIDIOC_SUBDEV_G_FMT is called Andrey Konovalov
2020-05-24 19:24 ` [PATCH v3 02/10] media: i2c: imx290: fix the order of the args in SET_RUNTIME_PM_OPS() Andrey Konovalov
2020-05-24 19:24 ` [PATCH v3 03/10] media: i2c: imx290: fix reset GPIO pin handling Andrey Konovalov
2020-05-24 19:24 ` [PATCH v3 04/10] media: i2c: imx290: Add support for 2 data lanes Andrey Konovalov
2020-05-26  9:01   ` Sakari Ailus
2020-05-26  9:14     ` Andrey Konovalov
2020-05-26  9:16       ` Sakari Ailus
2020-05-24 19:25 ` [PATCH v3 05/10] media: i2c: imx290: Add configurable link frequency and pixel rate Andrey Konovalov
2020-05-26  9:12   ` Sakari Ailus
2020-05-26  9:27     ` Andrey Konovalov
2020-05-26  9:58       ` Sakari Ailus
2020-05-27 14:43   ` kbuild test robot
2020-05-24 19:25 ` [PATCH v3 06/10] media: i2c: imx290: Add support for test pattern generation Andrey Konovalov
2020-05-24 19:25 ` [PATCH v3 07/10] media: i2c: imx290: Add RAW12 mode support Andrey Konovalov
2020-05-26 16:05   ` Dave Stevenson
2020-05-27  8:42     ` Andrey Konovalov
2020-05-24 19:25 ` [PATCH v3 08/10] media: i2c: imx290: Add support to enumerate all frame sizes Andrey Konovalov
2020-05-26  9:17   ` Sakari Ailus
2020-06-07 16:28     ` Andrey Konovalov [this message]
2020-06-08  8:00       ` Sakari Ailus
2020-05-24 19:25 ` [PATCH v3 09/10] media: i2c: imx290: Move the settle time delay out of loop Andrey Konovalov
2020-05-24 19:25 ` [PATCH v3 10/10] media: i2c: imx290: set bus_type before calling v4l2_fwnode_endpoint_alloc_parse() Andrey Konovalov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=effee6cc-680f-3234-2e56-2f6b24d107cd@linaro.org \
    --to=andrey.konovalov@linaro.org \
    --cc=a.brela@framos.com \
    --cc=c.barrett@framos.com \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=manivannan.sadhasivam@linaro.org \
    --cc=mchehab@kernel.org \
    --cc=peter.griffin@linaro.org \
    --cc=sakari.ailus@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).