public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Bryan O'Donoghue <bod@kernel.org>
To: Hans de Goede <johannes.goede@oss.qualcomm.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Heimir Thor Sverrisson <heimir.sverrisson@gmail.com>,
	linux-media@vger.kernel.org, Sebastian Reichel <sre@kernel.org>
Subject: Re: [PATCH 2/5] media: ov02c10: Adjust x-win/y-win when changing flipping to preserve bayer-pattern
Date: Wed, 10 Dec 2025 00:23:32 +0000	[thread overview]
Message-ID: <2c2dd2a4-ec2c-4ea5-81da-b4db2b529ed4@kernel.org> (raw)
In-Reply-To: <20251209160621.6854-3-johannes.goede@oss.qualcomm.com>

On 09/12/2025 16:06, Hans de Goede wrote:
> The ov02c10 is capable of having its (crop) window shifted around with 1
> pixel precision while streaming.
> 
> This allows changing the x/y window coordinates when changing flipping to
> preserve the bayer-pattern.
> 
> __v4l2_ctrl_handler_setup() will now write the window coordinates at 0x3810
> and 0x3812 so these can be dropped from sensor_1928x1092_30fps_setting.
> 
> Since the bayer-pattern is now unchanged, the V4L2_CTRL_FLAG_MODIFY_LAYOUT
> flag can be dropped from the flip controls.
> 
> Note the original use of the V4L2_CTRL_FLAG_MODIFY_LAYOUT flag was
> incomplete, besides setting the flag the driver should also have reported
> a different mbus code when getting the source pad's format depending on
> the hflip / vflip settings see the ov2680.c driver for example.
> 
> Fixes: b7cd2ba3f692 ("media: ov02c10: Support hflip and vflip")
> Cc: Sebastian Reichel <sre@kernel.org>
> Cc: Bryan O'Donoghue <bod@kernel.org>
> Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
> ---
>   drivers/media/i2c/ov02c10.c | 12 ++++--------
>   1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/media/i2c/ov02c10.c b/drivers/media/i2c/ov02c10.c
> index 6369841de88b..384c2f0b1608 100644
> --- a/drivers/media/i2c/ov02c10.c
> +++ b/drivers/media/i2c/ov02c10.c
> @@ -165,10 +165,6 @@ static const struct reg_sequence sensor_1928x1092_30fps_setting[] = {
>   	{0x3809, 0x88},
>   	{0x380a, 0x04},
>   	{0x380b, 0x44},
> -	{0x3810, 0x00},
> -	{0x3811, 0x02},
> -	{0x3812, 0x00},
> -	{0x3813, 0x01},
>   	{0x3814, 0x01},
>   	{0x3815, 0x01},
>   	{0x3816, 0x01},
> @@ -465,11 +461,15 @@ static int ov02c10_set_ctrl(struct v4l2_ctrl *ctrl)
>   		break;
> 
>   	case V4L2_CID_HFLIP:
> +		cci_write(ov02c10->regmap, OV02C10_ISP_X_WIN_CONTROL,
> +			  ctrl->val ? 1 : 2, &ret);
>   		cci_update_bits(ov02c10->regmap, OV02C10_ROTATE_CONTROL,
>   				BIT(3), ov02c10->hflip->val << 3, &ret);
>   		break;
> 
>   	case V4L2_CID_VFLIP:
> +		cci_write(ov02c10->regmap, OV02C10_ISP_Y_WIN_CONTROL,
> +			  ctrl->val ? 2 : 1, &ret);
>   		cci_update_bits(ov02c10->regmap, OV02C10_ROTATE_CONTROL,
>   				BIT(4), ov02c10->vflip->val << 4, &ret);
>   		break;
> @@ -551,13 +551,9 @@ static int ov02c10_init_controls(struct ov02c10 *ov02c10)
> 
>   	ov02c10->hflip = v4l2_ctrl_new_std(ctrl_hdlr, &ov02c10_ctrl_ops,
>   					   V4L2_CID_HFLIP, 0, 1, 1, 0);
> -	if (ov02c10->hflip)
> -		ov02c10->hflip->flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT;
> 
>   	ov02c10->vflip = v4l2_ctrl_new_std(ctrl_hdlr, &ov02c10_ctrl_ops,
>   					   V4L2_CID_VFLIP, 0, 1, 1, 0);
> -	if (ov02c10->vflip)
> -		ov02c10->vflip->flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT;
> 
>   	v4l2_ctrl_new_std_menu_items(ctrl_hdlr, &ov02c10_ctrl_ops,
>   				     V4L2_CID_TEST_PATTERN,
> --
> 2.52.0
> 

Reviewed-by: Bryan O'Donoghue <bod@kernel.org>

  reply	other threads:[~2025-12-10  0:23 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <O5Gex5D3AY7Qx5JRN_QeWluQpNM8uye-XD90s-asNy5IJgdUAK9-D2UDDW5dXOL1vgSw1CeY1U70nwxr6aXm3A==@protonmail.internalid>
2025-12-09 16:06 ` [PATCH regression fixes for 6.19 0/5] media: ov02c10: h/vflip fixes Hans de Goede
2025-12-09 16:06   ` [PATCH 1/5] media: ov02c10: Fix bayer-pattern change after default vflip change Hans de Goede
2025-12-09 17:16     ` Hans de Goede
2025-12-10  0:20     ` Bryan O'Donoghue
2025-12-09 16:06   ` [PATCH 2/5] media: ov02c10: Adjust x-win/y-win when changing flipping to preserve bayer-pattern Hans de Goede
2025-12-10  0:23     ` Bryan O'Donoghue [this message]
2025-12-09 16:06   ` [PATCH 3/5] media: ov02c10: Fix the horizontal flip control Hans de Goede
2025-12-10  0:24     ` Bryan O'Donoghue
2025-12-09 16:06   ` [PATCH 4/5] media: ipu-bridge: Add DMI quirk for Dell XPS laptops with upside down sensors Hans de Goede
2025-12-10  0:26     ` Bryan O'Donoghue
2025-12-10 10:32     ` kernel test robot
2025-12-09 16:06   ` [PATCH 5/5] media: ov02c10: Remove unnecessary hflip and vflip pointers Hans de Goede
2025-12-10  0:27     ` Bryan O'Donoghue
2025-12-10  0:19   ` [PATCH regression fixes for 6.19 0/5] media: ov02c10: h/vflip fixes Bryan O'Donoghue
2025-12-10  8:06     ` Hans de Goede

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=2c2dd2a4-ec2c-4ea5-81da-b4db2b529ed4@kernel.org \
    --to=bod@kernel.org \
    --cc=heimir.sverrisson@gmail.com \
    --cc=johannes.goede@oss.qualcomm.com \
    --cc=linux-media@vger.kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=sre@kernel.org \
    /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