diff mbox series

[1/2] media: i2c: adv7604: Enable video adjustment

Message ID 20230210225622.24411-2-laurent.pinchart+renesas@ideasonboard.com (mailing list archive)
State Superseded
Delegated to: Kieran Bingham
Headers show
Series media: i2c: adv7604: Fix handling of video adjustments | expand

Commit Message

Laurent Pinchart Feb. 10, 2023, 10:56 p.m. UTC
The video adjustments (contrast, brightness, saturation and hue) are
ignored by default by the device when the VID_ADJ_EN bit is clear. The
corresponding V4L2 controls exposed by the drivers have thus no effect.
Fix this by setting the VID_ADJ_EN bit.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 drivers/media/i2c/adv7604.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Hans Verkuil Feb. 15, 2023, 12:49 p.m. UTC | #1
On 10/02/2023 23:56, Laurent Pinchart wrote:
> The video adjustments (contrast, brightness, saturation and hue) are
> ignored by default by the device when the VID_ADJ_EN bit is clear. The
> corresponding V4L2 controls exposed by the drivers have thus no effect.
> Fix this by setting the VID_ADJ_EN bit.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
>  drivers/media/i2c/adv7604.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
> index 9d218962d7c8..3af0e67f9edb 100644
> --- a/drivers/media/i2c/adv7604.c
> +++ b/drivers/media/i2c/adv7604.c
> @@ -1805,6 +1805,9 @@ static void select_input(struct v4l2_subdev *sd)
>  		v4l2_dbg(2, debug, sd, "%s: Unknown port %d selected\n",
>  				__func__, state->selected_input);
>  	}
> +
> +	/* Enable video adjustment (contrast, saturation, brightness and hue) */
> +	cp_write_clr_set(sd, 0x3e, 0x80, 0x80);
>  }
>  
>  static int adv76xx_s_routing(struct v4l2_subdev *sd,

Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Tested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
diff mbox series

Patch

diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
index 9d218962d7c8..3af0e67f9edb 100644
--- a/drivers/media/i2c/adv7604.c
+++ b/drivers/media/i2c/adv7604.c
@@ -1805,6 +1805,9 @@  static void select_input(struct v4l2_subdev *sd)
 		v4l2_dbg(2, debug, sd, "%s: Unknown port %d selected\n",
 				__func__, state->selected_input);
 	}
+
+	/* Enable video adjustment (contrast, saturation, brightness and hue) */
+	cp_write_clr_set(sd, 0x3e, 0x80, 0x80);
 }
 
 static int adv76xx_s_routing(struct v4l2_subdev *sd,