On Wed Nov 20 19:17:03 2024 +0000, Dave Stevenson wrote:
> 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.steven...@raspberrypi.com>
> Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> Reviewed-by: Alexander Stein <alexander.st...@ew.tq-group.com>
> Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>

Patch committed.

Thanks,
Mauro Carvalho Chehab

 drivers/media/i2c/imx290.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

---

diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c
index f5ee6bd3b52d..baff3cc7bb6a 100644
--- a/drivers/media/i2c/imx290.c
+++ b/drivers/media/i2c/imx290.c
@@ -176,6 +176,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;
 };
 
@@ -876,14 +877,10 @@ static int imx290_ctrl_init(struct imx290 *imx290)
         * 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
@@ -1441,18 +1438,21 @@ static const struct imx290_model_info imx290_models[] = 
{
                .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",
        },
 };

Reply via email to