1
0
Fork 0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2024-06-09 16:26:29 +02:00
openwrt/target/linux/bcm27xx/patches-5.10/950-0586-staging-bcm2835-co...
Álvaro Fernández Rojas 8299d1f057 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>
2021-08-21 19:07:07 +02:00

37 lines
1.5 KiB
Diff

From 0409260a821dd9b8d3d8e5f4fbdee1b6f892bd4d Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Thu, 15 Apr 2021 11:07:55 +0100
Subject: [PATCH] staging/bcm2835-codec: Do not update crop from S_FMT
after res change
During decode, setting the CAPTURE queue format was setting the crop
rectangle to the requested height before aligning up the format to
cater for simple clients that weren't expecting to deal with cropping
and the SELECTION API.
This caused problems on some resolution change events if the client
didn't also then use the selection API.
Disable the crop update after a resolution change.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
.../vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 7 +++++++
1 file changed, 7 insertions(+)
--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c
+++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c
@@ -999,6 +999,13 @@ static void handle_fmt_changed(struct bc
q_data->crop_width = format->es.video.crop.width;
q_data->crop_height = format->es.video.crop.height;
+ /*
+ * Stop S_FMT updating crop_height should it be unaligned.
+ * Client can still update the crop region via S_SELECTION should it
+ * really want to, but the decoder is likely to complain that the
+ * format then doesn't match.
+ */
+ q_data->selection_set = true;
q_data->bytesperline = get_bytesperline(format->es.video.width,
q_data->fmt);