aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0628-media-i2c-imx477-Fix-for-long-exposure-limit-calcula.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0628-media-i2c-imx477-Fix-for-long-exposure-limit-calcula.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.10/950-0628-media-i2c-imx477-Fix-for-long-exposure-limit-calcula.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0628-media-i2c-imx477-Fix-for-long-exposure-limit-calcula.patch b/target/linux/bcm27xx/patches-5.10/950-0628-media-i2c-imx477-Fix-for-long-exposure-limit-calcula.patch
new file mode 100644
index 0000000000..769e592657
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.10/950-0628-media-i2c-imx477-Fix-for-long-exposure-limit-calcula.patch
@@ -0,0 +1,26 @@
+From cd306429474a0265660759ab12024d8ff978d586 Mon Sep 17 00:00:00 2001
+From: Naushir Patuck <naush@raspberrypi.com>
+Date: Fri, 11 Jun 2021 12:47:07 +0100
+Subject: [PATCH] media: i2c: imx477: Fix for long exposure limit
+ calculations
+
+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 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/media/i2c/imx477.c
++++ b/drivers/media/i2c/imx477.c
+@@ -1282,7 +1282,7 @@ static void imx477_adjust_exposure_range
+
+ /* 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,