mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 21:26:49 +00:00
Merge pull request #4889 from HiassofT/le10-kernel-5.10.5
linux (RPi): update to 5.10.5
This commit is contained in:
commit
34e82b6736
@ -3,8 +3,8 @@
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="bcm2835-driver"
|
||||
PKG_VERSION="d06d94e8f171362214edc7aef6e74329ab6cb588"
|
||||
PKG_SHA256="73930d441d724bb83dee5fb2a4e1dd842fffb2ed3b4070bc3afaad9fec6de623"
|
||||
PKG_VERSION="481ccbbbe505c9ac0a9f105a3be86b498a25baa9"
|
||||
PKG_SHA256="78010d22c9011bd2e4d9f53f0bfd1495b742d2b939b98207484b5f8db3e9c92f"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.broadcom.com"
|
||||
PKG_URL="${DISTRO_SRC}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||
|
@ -16,8 +16,8 @@ PKG_PATCH_DIRS="$LINUX"
|
||||
|
||||
case "$LINUX" in
|
||||
raspberrypi)
|
||||
PKG_VERSION="b32354539bd4e3cff29eda643b5d3a983a24c063" # 5.10.4
|
||||
PKG_SHA256="ca4731ace105c456e0f7b6676b159ea3ddc38a9c7757ba8358a7e2b9714858c7"
|
||||
PKG_VERSION="a7eebc039b08185dfe72c2bbe8275e930b37b575" # 5.10.5
|
||||
PKG_SHA256="1307a7b2bf4be953b8144dfda65853a252acabcc366fe4ccdb856a8acb439d02"
|
||||
PKG_URL="https://github.com/raspberrypi/linux/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz"
|
||||
;;
|
||||
|
@ -1,124 +0,0 @@
|
||||
From fe32fdaa926c43a8d8cab29193e69fd80423080e Mon Sep 17 00:00:00 2001
|
||||
From: Dom Cobley <popcornmix@gmail.com>
|
||||
Date: Wed, 30 Dec 2020 14:51:29 +0000
|
||||
Subject: [PATCH 1/2] bcm2835-dma: Add bcm2835-dma: Add DMA_WIDE_SOURCE and
|
||||
DMA_WIDE_DEST flags
|
||||
|
||||
Use bits 28 and 29 of the dreq value (the second cell of the DT DMA descriptor)
|
||||
to request that wide source reads or wide dest writes are required
|
||||
|
||||
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
---
|
||||
drivers/dma/bcm2835-dma.c | 21 +++++++++++++++++----
|
||||
1 file changed, 17 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c
|
||||
index 0cbfa9d559a27..33e44f14aa921 100644
|
||||
--- a/drivers/dma/bcm2835-dma.c
|
||||
+++ b/drivers/dma/bcm2835-dma.c
|
||||
@@ -171,6 +171,17 @@ struct bcm2835_desc {
|
||||
#define WAIT_RESP(x) ((x & BCM2835_DMA_NO_WAIT_RESP) ? \
|
||||
0 : BCM2835_DMA_WAIT_RESP)
|
||||
|
||||
+/* A fake bit to request that the driver requires wide reads */
|
||||
+#define BCM2835_DMA_WIDE_SOURCE BIT(28)
|
||||
+#define WIDE_SOURCE(x) ((x & BCM2835_DMA_WIDE_SOURCE) ? \
|
||||
+ BCM2835_DMA_S_WIDTH : 0)
|
||||
+
|
||||
+/* A fake bit to request that the driver requires wide writes */
|
||||
+#define BCM2835_DMA_WIDE_DEST BIT(29)
|
||||
+#define WIDE_DEST(x) ((x & BCM2835_DMA_WIDE_DEST) ? \
|
||||
+ BCM2835_DMA_D_WIDTH : 0)
|
||||
+
|
||||
+
|
||||
/* debug register bits */
|
||||
#define BCM2835_DMA_DEBUG_LAST_NOT_SET_ERR BIT(0)
|
||||
#define BCM2835_DMA_DEBUG_FIFO_ERR BIT(1)
|
||||
@@ -850,8 +861,9 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_memcpy(
|
||||
{
|
||||
struct bcm2835_chan *c = to_bcm2835_dma_chan(chan);
|
||||
struct bcm2835_desc *d;
|
||||
- u32 info = BCM2835_DMA_D_INC | BCM2835_DMA_S_INC;
|
||||
- u32 extra = BCM2835_DMA_INT_EN | WAIT_RESP(c->dreq);
|
||||
+ u32 info = BCM2835_DMA_D_INC | BCM2835_DMA_S_INC | WAIT_RESP(c->dreq) |
|
||||
+ WIDE_SOURCE(c->dreq) | WIDE_DEST(c->dreq);
|
||||
+ u32 extra = BCM2835_DMA_INT_EN;
|
||||
size_t max_len = bcm2835_dma_max_frame_length(c);
|
||||
size_t frames;
|
||||
|
||||
@@ -881,7 +893,8 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_slave_sg(
|
||||
struct bcm2835_chan *c = to_bcm2835_dma_chan(chan);
|
||||
struct bcm2835_desc *d;
|
||||
dma_addr_t src = 0, dst = 0;
|
||||
- u32 info = WAIT_RESP(c->dreq);
|
||||
+ u32 info = WAIT_RESP(c->dreq) |
|
||||
+ WIDE_SOURCE(c->dreq) | WIDE_DEST(c->dreq);
|
||||
u32 extra = BCM2835_DMA_INT_EN;
|
||||
size_t frames;
|
||||
|
||||
@@ -943,7 +956,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic(
|
||||
struct bcm2835_chan *c = to_bcm2835_dma_chan(chan);
|
||||
struct bcm2835_desc *d;
|
||||
dma_addr_t src, dst;
|
||||
- u32 info = WAIT_RESP(c->dreq);
|
||||
+ u32 info = WAIT_RESP(c->dreq) | WIDE_SOURCE(c->dreq) | WIDE_DEST(c->dreq);
|
||||
u32 extra = 0;
|
||||
size_t max_len = bcm2835_dma_max_frame_length(c);
|
||||
size_t frames;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
||||
From 0db6b8af120801c123d6066a58110554ee3f3d83 Mon Sep 17 00:00:00 2001
|
||||
From: Dom Cobley <popcornmix@gmail.com>
|
||||
Date: Wed, 30 Dec 2020 14:51:00 +0000
|
||||
Subject: [PATCH 2/2] dts: Enable DMA_WIDE_SOURCE for hdmi audio dma
|
||||
|
||||
Without this set, DVP_CFG_MAI0_CTL indicates occasional
|
||||
DLATE errors when configured to 8 channel 192kHz
|
||||
when sdram bandwidth is high (e.g. playing h.264 video)
|
||||
|
||||
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2711-rpi.dtsi | 4 ++--
|
||||
arch/arm/boot/dts/bcm2835-common.dtsi | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2711-rpi.dtsi b/arch/arm/boot/dts/bcm2711-rpi.dtsi
|
||||
index 4f903a787d65e..e67ecf3ae1613 100644
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi.dtsi
|
||||
@@ -179,7 +179,7 @@
|
||||
};
|
||||
|
||||
&hdmi0 {
|
||||
- dmas = <&dma (10|(1<<27))>;
|
||||
+ dmas = <&dma (10|(1<<27)|(1<<28))>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
};
|
||||
|
||||
&hdmi1 {
|
||||
- dmas = <&dma (17|(1<<27))>;
|
||||
+ dmas = <&dma (17|(1<<27)|(1<<28))>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2835-common.dtsi b/arch/arm/boot/dts/bcm2835-common.dtsi
|
||||
index bd77ba3a3562b..12207f96ed9e2 100644
|
||||
--- a/arch/arm/boot/dts/bcm2835-common.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2835-common.dtsi
|
||||
@@ -123,7 +123,7 @@
|
||||
clocks = <&clocks BCM2835_PLLH_PIX>,
|
||||
<&clocks BCM2835_CLOCK_HSM>;
|
||||
clock-names = "pixel", "hdmi";
|
||||
- dmas = <&dma (17|(1<<27))>;
|
||||
+ dmas = <&dma (17|(1<<27)|(1<<28))>;
|
||||
dma-names = "audio-rx";
|
||||
status = "disabled";
|
||||
};
|
||||
--
|
||||
2.20.1
|
||||
|
@ -3,8 +3,8 @@
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="bcm2835-bootloader"
|
||||
PKG_VERSION="d06d94e8f171362214edc7aef6e74329ab6cb588"
|
||||
PKG_SHA256="4ec2c064cbb91d42e0b9d974f6bf4ceb799b85fed3b461082071d18142239af4"
|
||||
PKG_VERSION="481ccbbbe505c9ac0a9f105a3be86b498a25baa9"
|
||||
PKG_SHA256="93cb950bdb79bbffc540e449ac3bda0fed70275114133a91256f72faaf0c7358"
|
||||
PKG_ARCH="arm"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.broadcom.com"
|
||||
|
Loading…
x
Reference in New Issue
Block a user