media: i2c: imx477: Fix for long exposure limit calculations
authorNaushir Patuck <naush@raspberrypi.com>
Fri, 11 Jun 2021 11:47:07 +0000 (12:47 +0100)
committerPhil Elwell <8911409+pelwell@users.noreply.github.com>
Fri, 11 Jun 2021 15:23:01 +0000 (16:23 +0100)
Do not scale IMX477_EXPOSURE_OFFSET with the long exposure factor during
the limit calculations. This allows larger exposure times, and does seem to be
what the sensor is doing internally.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
drivers/media/i2c/imx477.c

index 34bfd22..b06add2 100644 (file)
@@ -1282,7 +1282,7 @@ static void imx477_adjust_exposure_range(struct imx477 *imx477)
 
        /* Honour the VBLANK limits when setting exposure. */
        exposure_max = imx477->mode->height + imx477->vblank->val -
-                      (IMX477_EXPOSURE_OFFSET << imx477->long_exp_shift);
+                      IMX477_EXPOSURE_OFFSET;
        exposure_def = min(exposure_max, imx477->exposure->val);
        __v4l2_ctrl_modify_range(imx477->exposure, imx477->exposure->minimum,
                                 exposure_max, imx477->exposure->step,