diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-08-21 10:54:34 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-08-21 19:07:07 +0200 |
commit | 8299d1f057439f94c6a4412e2e5c5082b82a30c9 (patch) | |
tree | 1bf678d61f11f7394493be464c7876e496f7faed /target/linux/bcm27xx/patches-5.10/950-0487-media-i2c-imx290-Handle-exposure-correctly-when-vbla.patch | |
parent | 33b6885975ce376ff075362b7f0890326043111b (diff) | |
download | upstream-8299d1f057439f94c6a4412e2e5c5082b82a30c9.tar.gz upstream-8299d1f057439f94c6a4412e2e5c5082b82a30c9.tar.bz2 upstream-8299d1f057439f94c6a4412e2e5c5082b82a30c9.zip |
bcm27xx: add kernel 5.10 support
Rebased RPi foundation patches on linux 5.10.59, removed applied and reverted
patches, wireless patches and defconfig patches.
bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 4B v1.1 4G
bcm2711: boot tested on RPi 4B v1.1 4G
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0487-media-i2c-imx290-Handle-exposure-correctly-when-vbla.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.10/950-0487-media-i2c-imx290-Handle-exposure-correctly-when-vbla.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0487-media-i2c-imx290-Handle-exposure-correctly-when-vbla.patch b/target/linux/bcm27xx/patches-5.10/950-0487-media-i2c-imx290-Handle-exposure-correctly-when-vbla.patch new file mode 100644 index 0000000000..ed1701103a --- /dev/null +++ b/target/linux/bcm27xx/patches-5.10/950-0487-media-i2c-imx290-Handle-exposure-correctly-when-vbla.patch @@ -0,0 +1,42 @@ +From 8e9c9047f05e165d158b3718528fc8bcdaf856e8 Mon Sep 17 00:00:00 2001 +From: David Plowman <david.plowman@raspberrypi.com> +Date: Thu, 18 Feb 2021 11:58:29 +0000 +Subject: [PATCH] media: i2c: imx290: Handle exposure correctly when + vblank changes + +When vblank changes we must modify the exposure range. Also, with this +sensor, the effective exposure time implicitly changes when vblank +does, so we have to reset it after every vblank update. + +Signed-off-by: David Plowman <david.plowman@raspberrypi.com> +--- + drivers/media/i2c/imx290.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +--- a/drivers/media/i2c/imx290.c ++++ b/drivers/media/i2c/imx290.c +@@ -618,6 +618,24 @@ static int imx290_set_vmax(struct imx290 + if (ret) + dev_err(imx290->dev, "Unable to write vmax\n"); + ++ /* ++ * Changing vblank changes the allowed range for exposure. ++ * We don't supply the current exposure as default here as it ++ * may lie outside the new range. We will reset it just below. ++ */ ++ __v4l2_ctrl_modify_range(imx290->exposure, ++ IMX290_EXPOSURE_MIN, ++ vmax - 2, ++ IMX290_EXPOSURE_STEP, ++ vmax - 2); ++ ++ /* ++ * Becuse of the way exposure works for this sensor, updating ++ * vblank causes the effective exposure to change, so we must ++ * set it back to the "new" correct value. ++ */ ++ imx290_set_exposure(imx290, imx290->exposure->val); ++ + return ret; + } + |