Re: [PATCH v2 3/3] media: i2c: imx219: Perform a full mode set unconditionally

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Laurent

On Thu, Aug 31, 2023 at 04:57:47PM +0300, Laurent Pinchart wrote:
> The .set_fmt() handler tries to avoid updating the sensor configuration
> when the mode hasn't changed. It does so by comparing both the mode and
> the media bus code. While the latter correctly uses the media bus code
> stored in the subdev state, the former compares the mode being set with
> the active mode, regardless of whether .set_fmt() is called for the
> ACTIVE or TRY format. This can lead to .set_fmt() returning early when
> operating on TRY formats.

Ah yes indeed! My bad as I introduced this in the latest series

>
> This could be fixed by replacing the mode comparison with width and
> height comparisons, using the frame size stored in the subdev state.
> However, the optimization that avoids updates to the sensor
> configuration is not very useful, and is not commonly found in sensor
> drivers. To improve consistency across sensor drivers, it is better, in
> addition to being easier, to simply drop it. Do so.

Agreed this is better dropped !

Reviewed-by: Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx>

Thanks
  j

>
> Fixes: e8a5b1df000e ("media: i2c: imx219: Use subdev active state")

Can we make sure this is collected together with my previous series
in v6.6 ?

> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> ---
>  drivers/media/i2c/imx219.c | 3 ---
>  1 file changed, 3 deletions(-)
>
> diff --git a/drivers/media/i2c/imx219.c b/drivers/media/i2c/imx219.c
> index f19c828b6943..ec53abe2e84e 100644
> --- a/drivers/media/i2c/imx219.c
> +++ b/drivers/media/i2c/imx219.c
> @@ -762,9 +762,6 @@ static int imx219_set_pad_format(struct v4l2_subdev *sd,
>  	format = v4l2_subdev_get_pad_format(sd, sd_state, 0);
>  	crop = v4l2_subdev_get_pad_crop(sd, sd_state, 0);
>
> -	if (imx219->mode == mode && format->code == fmt->format.code)
> -		return 0;
> -
>  	*format = fmt->format;
>  	*crop = mode->crop;
>
> --
> Regards,
>
> Laurent Pinchart
>



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux