mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 14:16:40 +00:00
linux (RPi): update to 6.12.38-9c09b75
Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
92c221ad0b
commit
014e83d91f
@ -23,8 +23,8 @@ case "${LINUX}" in
|
||||
PKG_PATCH_DIRS="default"
|
||||
;;
|
||||
raspberrypi)
|
||||
PKG_VERSION="bba53a117a4a5c29da892962332ff1605990e17a" # 6.6.78
|
||||
PKG_SHA256="901dbc05b56e519d1f0beaefa83dac4a8d915e5b5f85190fd1adda640c345287"
|
||||
PKG_VERSION="9c09b75242960117155712f41ce540df2e3cd63c" # 6.12.38
|
||||
PKG_SHA256="efe2f6b14f4348c4930fdc1b2168fcdc7700034ba66393e860deb0f172a8083c"
|
||||
PKG_URL="https://github.com/raspberrypi/linux/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
|
||||
;;
|
||||
|
@ -1,130 +0,0 @@
|
||||
From 7ac0b48fa963cbc7e8b1f3702a4ae8d1947e65a2 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
Date: Tue, 25 Mar 2025 16:02:24 +0000
|
||||
Subject: [PATCH 1/2] drm/vc4: plane: Correct SAND30 word sizing for cropping
|
||||
on BCM2712
|
||||
|
||||
BCM2712/vc6 uses 256bit words when reading in P030/SAND128,
|
||||
increased from 128bit on BCM2711/vc5.
|
||||
|
||||
Update the code for cropping the read area to handle the correct
|
||||
word length.
|
||||
|
||||
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
---
|
||||
drivers/gpu/drm/vc4/vc4_plane.c | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c
|
||||
index fdd6ba310324..f1333d89cd92 100644
|
||||
--- a/drivers/gpu/drm/vc4/vc4_plane.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
|
||||
@@ -1934,18 +1934,18 @@ static int vc6_plane_mode_set(struct drm_plane *plane,
|
||||
|
||||
if (fb->format->format == DRM_FORMAT_P030) {
|
||||
/*
|
||||
- * Spec says: bits [31:4] of the given address
|
||||
- * should point to the 128-bit word containing
|
||||
- * the desired starting pixel, and bits[3:0]
|
||||
- * should be between 0 and 11, indicating which
|
||||
- * of the 12-pixels in that 128-bit word is the
|
||||
+ * Spec says: bits [31:5] of the given address
|
||||
+ * should point to the 256-bit word containing
|
||||
+ * the desired starting pixel, and bits[4:0]
|
||||
+ * should be between 0 and 23, indicating which
|
||||
+ * of the 24-pixels in that 256-bit word is the
|
||||
* first pixel to be used
|
||||
*/
|
||||
u32 remaining_pixels = src_x % 96;
|
||||
- u32 aligned = remaining_pixels / 12;
|
||||
- u32 last_bits = remaining_pixels % 12;
|
||||
+ u32 aligned = remaining_pixels / 24;
|
||||
+ u32 last_bits = remaining_pixels % 24;
|
||||
|
||||
- x_off = aligned * 16 + last_bits;
|
||||
+ x_off = aligned * 32 + last_bits;
|
||||
tile_w = 128;
|
||||
pix_per_tile = 96;
|
||||
} else {
|
||||
--
|
||||
2.39.5
|
||||
|
||||
|
||||
From 3064adb25c5af41920f62d80dabf47a252b233a0 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
Date: Mon, 31 Mar 2025 17:03:40 +0100
|
||||
Subject: [PATCH 2/2] drm/vc4: plane: Ensure fetch_count is sufficient for hw
|
||||
in SAND mode
|
||||
|
||||
The number of words to fetch for SAND formats on vc6 needs to account
|
||||
for all pixels requested by width.
|
||||
|
||||
If cropping fractional pixels, then the width was being increased, but
|
||||
fetch_count had already been computed. That led to insufficient words
|
||||
being fetched, and the HVS locked up solid.
|
||||
|
||||
Apply the fixup for fractional pixel source cropping before computing
|
||||
fetch_count.
|
||||
|
||||
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
---
|
||||
drivers/gpu/drm/vc4/vc4_plane.c | 36 ++++++++++++++++-----------------
|
||||
1 file changed, 18 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c
|
||||
index f1333d89cd92..7a203a702c22 100644
|
||||
--- a/drivers/gpu/drm/vc4/vc4_plane.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
|
||||
@@ -1874,6 +1874,24 @@ static int vc6_plane_mode_set(struct drm_plane *plane,
|
||||
|
||||
src_x = vc4_state->src_x >> 16;
|
||||
|
||||
+ /* fetch an extra pixel if we don't actually line up with the left edge. */
|
||||
+ if ((vc4_state->src_x & 0xffff) && vc4_state->src_x < (state->fb->width << 16))
|
||||
+ width++;
|
||||
+
|
||||
+ /* same for the right side */
|
||||
+ if (((vc4_state->src_x + vc4_state->src_w[0]) & 0xffff) &&
|
||||
+ vc4_state->src_x + vc4_state->src_w[0] < (state->fb->width << 16))
|
||||
+ width++;
|
||||
+
|
||||
+ /* now for the top */
|
||||
+ if ((vc4_state->src_y & 0xffff) && vc4_state->src_y < (state->fb->height << 16))
|
||||
+ height++;
|
||||
+
|
||||
+ /* and the bottom */
|
||||
+ if (((vc4_state->src_y + vc4_state->src_h[0]) & 0xffff) &&
|
||||
+ vc4_state->src_y + vc4_state->src_h[0] < (state->fb->height << 16))
|
||||
+ height++;
|
||||
+
|
||||
switch (base_format_mod) {
|
||||
case DRM_FORMAT_MOD_LINEAR:
|
||||
tiling = SCALER6_CTL0_ADDR_MODE_LINEAR;
|
||||
@@ -1988,24 +2006,6 @@ static int vc6_plane_mode_set(struct drm_plane *plane,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- /* fetch an extra pixel if we don't actually line up with the left edge. */
|
||||
- if ((vc4_state->src_x & 0xffff) && vc4_state->src_x < (state->fb->width << 16))
|
||||
- width++;
|
||||
-
|
||||
- /* same for the right side */
|
||||
- if (((vc4_state->src_x + vc4_state->src_w[0]) & 0xffff) &&
|
||||
- vc4_state->src_x + vc4_state->src_w[0] < (state->fb->width << 16))
|
||||
- width++;
|
||||
-
|
||||
- /* now for the top */
|
||||
- if ((vc4_state->src_y & 0xffff) && vc4_state->src_y < (state->fb->height << 16))
|
||||
- height++;
|
||||
-
|
||||
- /* and the bottom */
|
||||
- if (((vc4_state->src_y + vc4_state->src_h[0]) & 0xffff) &&
|
||||
- vc4_state->src_y + vc4_state->src_h[0] < (state->fb->height << 16))
|
||||
- height++;
|
||||
-
|
||||
/* for YUV444 hardware wants double the width, otherwise it doesn't
|
||||
* fetch full width of chroma
|
||||
*/
|
||||
--
|
||||
2.39.5
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 2d02a2c7531d2b7573237e0e7604b8d51c26583b Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Reichl <hias@horus.com>
|
||||
Date: Wed, 13 Nov 2024 00:16:47 +0100
|
||||
Subject: [PATCH 2/3] dts: bcm2711: drop numa_policy from bootargs
|
||||
|
||||
We don't compile the kernel with NUMA so drop the numa parameter
|
||||
from bootargs.
|
||||
|
||||
Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||
---
|
||||
arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts | 2 +-
|
||||
arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts
|
||||
index 71d228414b76..c48a0880539d 100644
|
||||
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts
|
||||
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts
|
||||
@@ -148,7 +148,7 @@ soc {
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
- bootargs = "coherent_pool=1M snd_bcm2835.enable_headphones=0 cgroup_disable=memory numa_policy=interleave";
|
||||
+ bootargs = "coherent_pool=1M snd_bcm2835.enable_headphones=0 cgroup_disable=memory";
|
||||
};
|
||||
|
||||
aliases {
|
||||
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
|
||||
index eb3abcdbae6b..32453b394ded 100644
|
||||
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
|
||||
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
- bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 cgroup_disable=memory numa_policy=interleave";
|
||||
+ bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 cgroup_disable=memory";
|
||||
};
|
||||
|
||||
__overrides__ {
|
||||
--
|
||||
2.39.5
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 0d692f7a53559259b1532b0503788f557e5ff182 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Reichl <hias@horus.com>
|
||||
Date: Wed, 13 Nov 2024 00:16:47 +0100
|
||||
Subject: [PATCH 3/3] dts: bcm2712: drop numa_policy from bootargs
|
||||
|
||||
We don't compile the kernel with NUMA so drop the numa parameter
|
||||
from bootargs.
|
||||
|
||||
Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||
---
|
||||
arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
|
||||
index 65abbb450daf..6bb6e81313b5 100644
|
||||
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
|
||||
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
|
||||
@@ -99,7 +99,7 @@ vdd_5v0_reg: fixedregulator_5v0 {
|
||||
|
||||
/ {
|
||||
chosen: chosen {
|
||||
- bootargs = "reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe cgroup_disable=memory numa_policy=interleave";
|
||||
+ bootargs = "reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe cgroup_disable=memory";
|
||||
stdout-path = "serial10:115200n8";
|
||||
};
|
||||
|
||||
--
|
||||
2.39.5
|
||||
|
@ -1,49 +0,0 @@
|
||||
From 826beca0ce76876507372349da860a986078eacd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Istv=C3=A1n=20V=C3=A1radi?= <ivaradi@varadiistvan.hu>
|
||||
Date: Tue, 13 Feb 2024 21:20:32 +0100
|
||||
Subject: [PATCH] media: anysee: accept read buffers of length 1 in
|
||||
anysee_master_xfer
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
anysee_master_xfer currently accepts read messages of length 2 only.
|
||||
However, several frontends, e.g. tda10023 send buffers of length 1,
|
||||
containing an 8-bit register number (see tda10023_readreg).
|
||||
These buffers are rejected currently, making many Anysee variants
|
||||
to not work. In these cases the "Unsupported Anysee version"
|
||||
message is logged.
|
||||
|
||||
This patch alters the function to accept buffers of a length of 1 too.
|
||||
|
||||
Signed-off-by: István Váradi <ivaradi@varadiistvan.hu>
|
||||
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
||||
[hverkuil: add spaces around '<', fix typo in 'sevaral']
|
||||
---
|
||||
drivers/media/usb/dvb-usb-v2/anysee.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/usb/dvb-usb-v2/anysee.c b/drivers/media/usb/dvb-usb-v2/anysee.c
|
||||
index a1235d0cce92..8699846eb416 100644
|
||||
--- a/drivers/media/usb/dvb-usb-v2/anysee.c
|
||||
+++ b/drivers/media/usb/dvb-usb-v2/anysee.c
|
||||
@@ -202,14 +202,14 @@ static int anysee_master_xfer(struct i2c_adapter *adap, struct i2c_msg *msg,
|
||||
|
||||
while (i < num) {
|
||||
if (num > i + 1 && (msg[i+1].flags & I2C_M_RD)) {
|
||||
- if (msg[i].len != 2 || msg[i + 1].len > 60) {
|
||||
+ if (msg[i].len < 1 || msg[i].len > 2 || msg[i + 1].len > 60) {
|
||||
ret = -EOPNOTSUPP;
|
||||
break;
|
||||
}
|
||||
buf[0] = CMD_I2C_READ;
|
||||
buf[1] = (msg[i].addr << 1) | 0x01;
|
||||
buf[2] = msg[i].buf[0];
|
||||
- buf[3] = msg[i].buf[1];
|
||||
+ buf[3] = (msg[i].len < 2) ? 0 : msg[i].buf[1];
|
||||
buf[4] = msg[i].len-1;
|
||||
buf[5] = msg[i+1].len;
|
||||
ret = anysee_ctrl_msg(d, buf, 6, msg[i+1].buf,
|
||||
--
|
||||
2.34.1
|
||||
|
Loading…
x
Reference in New Issue
Block a user