Adds latest 6.6 patches from the Raspberry Pi repository. These patches were generated from: https://github.com/raspberrypi/linux/commits/rpi-6.6.y/ With the following command: git format-patch -N v6.6.83..HEAD (HEAD -> 08d4e8f52256bd422d8a1f876411603f627d0a82) Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
72 lines
2.7 KiB
Diff
72 lines
2.7 KiB
Diff
From b3dd7e8947cddec41864e8d3ce5f5d8b81033d6a Mon Sep 17 00:00:00 2001
|
|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
Date: Wed, 20 Nov 2024 19:17:03 +0000
|
|
Subject: [PATCH] media: i2c: imx290: Limit analogue gain according to module
|
|
|
|
Commit ec75fd952b0b5cdab7b606cdacba237c57c1fdda upstream.
|
|
|
|
The imx327 only supports up to 29.4dB of analogue gain, vs
|
|
the imx290 going up to 30dB. Both are in 0.3dB steps.
|
|
|
|
As we now have model specific config, fix this mismatch,
|
|
and delete the comment referencing it.
|
|
|
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
|
|
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
|
|
---
|
|
drivers/media/i2c/imx290.c | 12 ++++++------
|
|
1 file changed, 6 insertions(+), 6 deletions(-)
|
|
|
|
--- a/drivers/media/i2c/imx290.c
|
|
+++ b/drivers/media/i2c/imx290.c
|
|
@@ -178,6 +178,7 @@ struct imx290_model_info {
|
|
enum imx290_colour_variant colour_variant;
|
|
const struct cci_reg_sequence *init_regs;
|
|
size_t init_regs_num;
|
|
+ unsigned int max_analog_gain;
|
|
const char *name;
|
|
};
|
|
|
|
@@ -879,14 +880,10 @@ static int imx290_ctrl_init(struct imx29
|
|
* up to 72.0dB (240) add further digital gain. Limit the range to
|
|
* analog gain only, support for digital gain can be added separately
|
|
* if needed.
|
|
- *
|
|
- * The IMX327 and IMX462 are largely compatible with the IMX290, but
|
|
- * have an analog gain range of 0.0dB to 29.4dB and 42dB of digital
|
|
- * gain. When support for those sensors gets added to the driver, the
|
|
- * gain control should be adjusted accordingly.
|
|
*/
|
|
v4l2_ctrl_new_std(&imx290->ctrls, &imx290_ctrl_ops,
|
|
- V4L2_CID_ANALOGUE_GAIN, 0, 100, 1, 0);
|
|
+ V4L2_CID_ANALOGUE_GAIN, 0,
|
|
+ imx290->model->max_analog_gain, 1, 0);
|
|
|
|
/*
|
|
* Correct range will be determined through imx290_ctrl_update setting
|
|
@@ -1437,18 +1434,21 @@ static const struct imx290_model_info im
|
|
.colour_variant = IMX290_VARIANT_COLOUR,
|
|
.init_regs = imx290_global_init_settings_290,
|
|
.init_regs_num = ARRAY_SIZE(imx290_global_init_settings_290),
|
|
+ .max_analog_gain = 100,
|
|
.name = "imx290",
|
|
},
|
|
[IMX290_MODEL_IMX290LLR] = {
|
|
.colour_variant = IMX290_VARIANT_MONO,
|
|
.init_regs = imx290_global_init_settings_290,
|
|
.init_regs_num = ARRAY_SIZE(imx290_global_init_settings_290),
|
|
+ .max_analog_gain = 100,
|
|
.name = "imx290",
|
|
},
|
|
[IMX290_MODEL_IMX327LQR] = {
|
|
.colour_variant = IMX290_VARIANT_COLOUR,
|
|
.init_regs = imx290_global_init_settings_327,
|
|
.init_regs_num = ARRAY_SIZE(imx290_global_init_settings_327),
|
|
+ .max_analog_gain = 98,
|
|
.name = "imx327",
|
|
},
|
|
};
|