These patches were generated from: https://github.com/raspberrypi/linux/commits/rpi-6.12.y With the following command: git format-patch -N v6.12.27..HEAD (HEAD -> 8d3206ee456a5ecdf9ddbfd8e5e231e4f0cd716e) Exceptions: - (def)configs patches - github workflows patches - applied & reverted patches - readme patches - wireless patches Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
43 lines
1.6 KiB
Diff
43 lines
1.6 KiB
Diff
From 0170785447ca3fcc51b8f46cfc485340c5c40f93 Mon Sep 17 00:00:00 2001
|
|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
Date: Tue, 15 Apr 2025 15:38:55 +0100
|
|
Subject: [PATCH] media: i2c: imx219: Restore the 1920x1080 to using a 1:1 PAR
|
|
|
|
Commit 0af46fbc333d ("media: i2c: imx219: Calculate crop rectangle
|
|
dynamically") meant that the 1920x1080 switched from using no binning
|
|
to using vertical binning but no horizontal binning.
|
|
|
|
Restore the original behaviour by ensuring the two binning settings
|
|
are the same.
|
|
|
|
Fixes: 0af46fbc333d ("media: i2c: imx219: Calculate crop rectangle dynamically")
|
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
---
|
|
drivers/media/i2c/imx219.c | 7 ++++---
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
--- a/drivers/media/i2c/imx219.c
|
|
+++ b/drivers/media/i2c/imx219.c
|
|
@@ -843,7 +843,7 @@ static int imx219_set_pad_format(struct
|
|
const struct imx219_mode *mode;
|
|
struct v4l2_mbus_framefmt *format;
|
|
struct v4l2_rect *crop;
|
|
- unsigned int bin_h, bin_v;
|
|
+ unsigned int bin_h, bin_v, binning;
|
|
|
|
mode = v4l2_find_nearest_size(supported_modes,
|
|
ARRAY_SIZE(supported_modes),
|
|
@@ -861,10 +861,11 @@ static int imx219_set_pad_format(struct
|
|
*/
|
|
bin_h = min(IMX219_PIXEL_ARRAY_WIDTH / format->width, 2U);
|
|
bin_v = min(IMX219_PIXEL_ARRAY_HEIGHT / format->height, 2U);
|
|
+ binning = min(bin_h, bin_v);
|
|
|
|
crop = v4l2_subdev_state_get_crop(state, 0);
|
|
- crop->width = format->width * bin_h;
|
|
- crop->height = format->height * bin_v;
|
|
+ crop->width = format->width * binning;
|
|
+ crop->height = format->height * binning;
|
|
crop->left = (IMX219_NATIVE_WIDTH - crop->width) / 2;
|
|
crop->top = (IMX219_NATIVE_HEIGHT - crop->height) / 2;
|
|
|