mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 23:42:43 +00:00
62b7f5931c
bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G
bcm2710: boot tested on RPi 3B v1.2
bcm2711: boot tested on RPi 4B v1.1 4G
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit f07e572f64
)
47 lines
1.5 KiB
Diff
47 lines
1.5 KiB
Diff
From 0a47c61cee411b3ada4413f6cebae8cdb06f062e Mon Sep 17 00:00:00 2001
|
|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
Date: Tue, 7 Jul 2020 10:31:53 +0100
|
|
Subject: [PATCH] media: i2c: imx290: Explicitly set v&h blank on
|
|
mode change
|
|
|
|
__v4l2_ctrl_modify_range only updates the current value should
|
|
it be invalid within the new range. That can leave modes producing
|
|
odd frame rates.
|
|
|
|
Explicitly update the HBLANK and VBLANK values so that on mode
|
|
change we revert to the default frame rate for the mode.
|
|
|
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
---
|
|
drivers/media/i2c/imx290.c | 10 ++++++++--
|
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/media/i2c/imx290.c
|
|
+++ b/drivers/media/i2c/imx290.c
|
|
@@ -796,17 +796,23 @@ static int imx290_set_fmt(struct v4l2_su
|
|
__v4l2_ctrl_s_ctrl_int64(imx290->pixel_rate,
|
|
imx290_calc_pixel_rate(imx290));
|
|
|
|
- if (imx290->hblank)
|
|
+ if (imx290->hblank) {
|
|
__v4l2_ctrl_modify_range(imx290->hblank,
|
|
imx290->hmax_min - mode->width,
|
|
IMX290_HMAX_MAX - mode->width,
|
|
1, mode->hmax - mode->width);
|
|
- if (imx290->vblank)
|
|
+ __v4l2_ctrl_s_ctrl(imx290->hblank,
|
|
+ mode->hmax - mode->width);
|
|
+ }
|
|
+ if (imx290->vblank) {
|
|
__v4l2_ctrl_modify_range(imx290->vblank,
|
|
mode->vmax - mode->height,
|
|
IMX290_VMAX_MAX - mode->height,
|
|
1,
|
|
mode->vmax - mode->height);
|
|
+ __v4l2_ctrl_s_ctrl(imx290->vblank,
|
|
+ mode->vmax - mode->height);
|
|
+ }
|
|
if (imx290->exposure)
|
|
__v4l2_ctrl_modify_range(imx290->exposure,
|
|
mode->vmax - mode->height,
|