diff --git a/packages/graphics/bcm2835-driver/package.mk b/packages/graphics/bcm2835-driver/package.mk index 83876b37ad..8353a26060 100644 --- a/packages/graphics/bcm2835-driver/package.mk +++ b/packages/graphics/bcm2835-driver/package.mk @@ -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" diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 073bfb54af..190aa9ec85 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -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" ;; diff --git a/packages/linux/patches/raspberrypi/linux-011-enable-dma-wide-source.patch b/packages/linux/patches/raspberrypi/linux-011-enable-dma-wide-source.patch deleted file mode 100644 index dd7091318b..0000000000 --- a/packages/linux/patches/raspberrypi/linux-011-enable-dma-wide-source.patch +++ /dev/null @@ -1,124 +0,0 @@ -From fe32fdaa926c43a8d8cab29193e69fd80423080e Mon Sep 17 00:00:00 2001 -From: Dom Cobley -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 ---- - 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 -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 ---- - 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 - diff --git a/packages/tools/bcm2835-bootloader/package.mk b/packages/tools/bcm2835-bootloader/package.mk index c632af0cea..388ad0e7e4 100644 --- a/packages/tools/bcm2835-bootloader/package.mk +++ b/packages/tools/bcm2835-bootloader/package.mk @@ -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"