All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Jacopo Mondi <jacopo@jmondi.org>
Cc: Steve Longerbeam <slongerbeam@gmail.com>,
	sakari.ailus@iki.fi, hverkuil-cisco@xs4all.nl,
	mirela.rabulea@nxp.com, xavier.roumegue@oss.nxp.com,
	tomi.valkeinen@ideasonboard.com, hugues.fruchet@st.com,
	prabhakar.mahadev-lad.rj@bp.renesas.com, aford173@gmail.com,
	festevam@gmail.com, Eugen.Hristev@microchip.com,
	jbrunet@baylibre.com, Mauro Carvalho Chehab <mchehab@kernel.org>,
	linux-media@vger.kernel.org
Subject: Re: [PATCH 10/21] media: ov5640: Add HBLANK control
Date: Wed, 2 Feb 2022 23:20:42 +0200	[thread overview]
Message-ID: <Yfr1qhEXp2OBDo5V@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20220131143245.128089-11-jacopo@jmondi.org>

Hi Jacopo,

Thank you for the patch.

On Mon, Jan 31, 2022 at 03:32:34PM +0100, Jacopo Mondi wrote:
> Add the HBLANK control as read-only.
> 
> The hblank value is fixed in the mode definition and is updated
> everytime a new format is applied.

s/everytime/every time/

> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
> ---
>  drivers/media/i2c/ov5640.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
> index 1e2f37c93f0d..b2961e8e07c3 100644
> --- a/drivers/media/i2c/ov5640.c
> +++ b/drivers/media/i2c/ov5640.c
> @@ -266,6 +266,7 @@ struct ov5640_ctrls {
>  	struct v4l2_ctrl_handler handler;
>  	struct v4l2_ctrl *pixel_rate;
>  	struct v4l2_ctrl *link_freq;
> +	struct v4l2_ctrl *hblank;
>  	struct {
>  		struct v4l2_ctrl *auto_exp;
>  		struct v4l2_ctrl *exposure;
> @@ -2530,6 +2531,7 @@ static int ov5640_update_pixel_rate(struct ov5640_dev *sensor)
>  	struct v4l2_mbus_framefmt *fmt = &sensor->fmt;
>  	enum ov5640_pixel_rate_id pixel_rate_id = mode->pixel_rate;
>  	u32 num_lanes = sensor->ep.bus.mipi_csi2.num_data_lanes;
> +	unsigned int hblank;
>  	unsigned int i = 0;
>  	u32 pixel_rate;
>  	s64 link_freq;
> @@ -2580,6 +2582,10 @@ static int ov5640_update_pixel_rate(struct ov5640_dev *sensor)
>  	__v4l2_ctrl_s_ctrl_int64(sensor->ctrls.pixel_rate, pixel_rate);
>  	__v4l2_ctrl_s_ctrl(sensor->ctrls.link_freq, i);
>  
> +	hblank = mode->ppl - mode->crop.width;
> +	__v4l2_ctrl_modify_range(sensor->ctrls.hblank,
> +				 hblank, hblank, 1, hblank);
> +
>  	return 0;
>  }
>  
> @@ -3044,6 +3050,7 @@ static int ov5640_init_controls(struct ov5640_dev *sensor)
>  	const struct v4l2_ctrl_ops *ops = &ov5640_ctrl_ops;
>  	struct ov5640_ctrls *ctrls = &sensor->ctrls;
>  	struct v4l2_ctrl_handler *hdl = &ctrls->handler;
> +	unsigned int hblank;
>  	int ret;
>  
>  	v4l2_ctrl_handler_init(hdl, 32);
> @@ -3062,6 +3069,10 @@ static int ov5640_init_controls(struct ov5640_dev *sensor)
>  					ARRAY_SIZE(ov5640_csi2_link_freqs) - 1,
>  					4, ov5640_csi2_link_freqs);
>  
> +	hblank = mode->ppl - mode->crop.width;
> +	ctrls->hblank = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_HBLANK, hblank,
> +					  hblank, 1, hblank);

I was going to say that you should increase the number of controls
passed to v4l2_ctrl_handler_init(), but it's already 32, higher than the
actual number of controls. Maybe you could reduce it to the right number
on top of this series ?

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> +
>  	/* Auto/manual white balance */
>  	ctrls->auto_wb = v4l2_ctrl_new_std(hdl, ops,
>  					   V4L2_CID_AUTO_WHITE_BALANCE,
> @@ -3111,6 +3122,7 @@ static int ov5640_init_controls(struct ov5640_dev *sensor)
>  
>  	ctrls->pixel_rate->flags |= V4L2_CTRL_FLAG_READ_ONLY;
>  	ctrls->link_freq->flags |= V4L2_CTRL_FLAG_READ_ONLY;
> +	ctrls->hblank->flags |= V4L2_CTRL_FLAG_READ_ONLY;
>  	ctrls->gain->flags |= V4L2_CTRL_FLAG_VOLATILE;
>  	ctrls->exposure->flags |= V4L2_CTRL_FLAG_VOLATILE;
>  

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2022-02-02 21:21 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-31 14:32 [PATCH 00/17] media: ov5640: Rework the clock tree programming for MIPI Jacopo Mondi
2022-01-31 14:32 ` [PATCH 01/21] media: ov5640: Add pixel rate to modes Jacopo Mondi
2022-02-01 14:52   ` Laurent Pinchart
2022-01-31 14:32 ` [PATCH 02/21] media: ov5604: Re-arrange modes definition Jacopo Mondi
2022-02-01 14:20   ` Laurent Pinchart
2022-01-31 14:32 ` [PATCH 03/21] media: ov5640: Add is_mipi() function Jacopo Mondi
2022-02-01 14:25   ` Laurent Pinchart
2022-01-31 14:32 ` [PATCH 04/21] media: ov5640: Associate bpp with formats Jacopo Mondi
2022-02-01 14:27   ` Laurent Pinchart
2022-01-31 14:32 ` [PATCH 05/21] media: ov5640: Update pixel_rate and link_freq Jacopo Mondi
2022-02-01 16:52   ` Laurent Pinchart
2022-01-31 14:32 ` [PATCH 06/21] media: ov5640: Rework CSI-2 clock tree Jacopo Mondi
2022-02-01 17:27   ` Laurent Pinchart
2022-02-07 14:07     ` Jacopo Mondi
2022-01-31 14:32 ` [PATCH 07/21] media: ov5640: Rework timings programming Jacopo Mondi
2022-02-01 19:03   ` Laurent Pinchart
2022-02-07 14:37     ` Jacopo Mondi
2022-02-07 16:39       ` Laurent Pinchart
2022-01-31 14:32 ` [PATCH 08/21] media: ov5640: Re-sort per-mode register tables Jacopo Mondi
2022-02-01 19:05   ` Laurent Pinchart
2022-02-07 14:42     ` Jacopo Mondi
2022-01-31 14:32 ` [PATCH 09/21] media: ov5640: Remove ov5640_mode_init_data Jacopo Mondi
2022-02-01 19:07   ` Laurent Pinchart
2022-02-07 14:45     ` Jacopo Mondi
2022-01-31 14:32 ` [PATCH 10/21] media: ov5640: Add HBLANK control Jacopo Mondi
2022-02-02 21:20   ` Laurent Pinchart [this message]
2022-01-31 14:32 ` [PATCH 11/21] media: ov5640: Add VBLANK control Jacopo Mondi
2022-02-02 21:35   ` Laurent Pinchart
2022-02-07 15:09     ` Jacopo Mondi
2022-02-07 17:22       ` Laurent Pinchart
2022-02-03  7:58   ` Xavier Roumegue (OSS)
2022-02-07 15:12     ` Jacopo Mondi
2022-01-31 14:44 ` [PATCH 12/21] media: ov5640: Fix durations to comply with FPS Jacopo Mondi
2022-01-31 14:44   ` [PATCH 13/21] media: ov5640: Initialize try format Jacopo Mondi
2022-02-02 21:51     ` Laurent Pinchart
2022-01-31 14:44   ` [PATCH 14/21] media: ov5640: Implement get_selection Jacopo Mondi
2022-02-02 22:29     ` Laurent Pinchart
2022-02-07 15:47       ` Jacopo Mondi
2022-02-07 17:53         ` Laurent Pinchart
2022-02-08 14:18           ` Jacopo Mondi
2022-02-08 14:41             ` Laurent Pinchart
2022-01-31 14:44   ` [PATCH 15/21] media: ov5640: Limit format to FPS in DVP mode only Jacopo Mondi
2022-02-02 22:38     ` Laurent Pinchart
2022-02-07 15:49       ` Jacopo Mondi
2022-01-31 14:44   ` [PATCH 16/21] media: ov5640: Disable s_frame_interval in MIPI mode Jacopo Mondi
2022-02-02 22:40     ` Laurent Pinchart
2022-02-02 21:48   ` [PATCH 12/21] media: ov5640: Fix durations to comply with FPS Laurent Pinchart
2022-02-07 15:58     ` Jacopo Mondi
2022-01-31 14:45 ` [PATCH 17/21] media: ov5640: Register device properties Jacopo Mondi
2022-01-31 14:45   ` [PATCH 18/21] media: ov5640: Add RGB565_1X16 format Jacopo Mondi
2022-02-02 22:48     ` Laurent Pinchart
2022-01-31 14:45   ` [PATCH 19/21] media: ov5640: Add RGB888/BGR888 formats Jacopo Mondi
2022-02-02 22:49     ` Laurent Pinchart
2022-02-02 22:44   ` [PATCH 17/21] media: ov5640: Register device properties Laurent Pinchart
2022-01-31 14:45 ` [PATCH 20/21] media: ov5640: Restrict sizes to mbus code Jacopo Mondi
2022-01-31 14:45   ` [PATCH 21/21] media: ov5640: Adjust format to bpp in s_fmt Jacopo Mondi
2022-02-02 23:03     ` Laurent Pinchart
2022-02-07 16:07       ` Jacopo Mondi
2022-02-07 16:46         ` Laurent Pinchart
2022-02-02 22:57   ` [PATCH 20/21] media: ov5640: Restrict sizes to mbus code Laurent Pinchart

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=Yfr1qhEXp2OBDo5V@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=Eugen.Hristev@microchip.com \
    --cc=aford173@gmail.com \
    --cc=festevam@gmail.com \
    --cc=hugues.fruchet@st.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=jacopo@jmondi.org \
    --cc=jbrunet@baylibre.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=mirela.rabulea@nxp.com \
    --cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
    --cc=sakari.ailus@iki.fi \
    --cc=slongerbeam@gmail.com \
    --cc=tomi.valkeinen@ideasonboard.com \
    --cc=xavier.roumegue@oss.nxp.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.