media: i2c: adv7604: Enable video adjustment
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Sat, 25 Mar 2023 20:56:09 +0000 (22:56 +0200)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Tue, 11 Apr 2023 16:54:01 +0000 (18:54 +0200)
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>
Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Tested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/i2c/adv7604.c

index 9d21896..3af0e67 100644 (file)
@@ -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,