diff --git a/packages/graphics/bcm2835-driver/package.mk b/packages/graphics/bcm2835-driver/package.mk index ee6d766922..9e214c14b6 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="5985247fb75681985547641d66196c77499f26b9" -PKG_SHA256="bf2807be5ca1589a662a3a4f832f21c27cd0bf803a1b11fa57c1aae1b554396a" +PKG_VERSION="57e7fd133f6e409fe0e55a1e5f277b3909b9f4de" +PKG_SHA256="bbc609a681dc757fefb61389b6e88bb187d242964aa8774123d01e41756f4b4d" 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 5aa68e88db..1b592bae8e 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -22,8 +22,8 @@ case "${LINUX}" in PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" ;; raspberrypi) - PKG_VERSION="12fdeddcde1ce67177ae0e13931ff24944015625" # 5.10.17 - PKG_SHA256="e4dcdb2ee22ffeae85c4f3916d60a5065f7068f852b76a530f5604628d4e60ba" + PKG_VERSION="13c43880f2ee6db7d26949cb6a3e8db1a4b76736" # 5.10.23 + PKG_SHA256="cfc1e54102b66719ad8f3e6f97baa4ddc46873ba82a130c481619a705901b1da" 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-010-vc4-plane-Dont-reject-fractional-source-coords.patch b/packages/linux/patches/raspberrypi/linux-010-vc4-plane-Dont-reject-fractional-source-coords.patch index ab924e64fe..6114e55a0f 100644 --- a/packages/linux/patches/raspberrypi/linux-010-vc4-plane-Dont-reject-fractional-source-coords.patch +++ b/packages/linux/patches/raspberrypi/linux-010-vc4-plane-Dont-reject-fractional-source-coords.patch @@ -1,23 +1,52 @@ -From 023078a22c3a6baf6339c946aa7be3c8f1b90a14 Mon Sep 17 00:00:00 2001 +From b7622f1dddf5dbd9d49660cef2af60a04a1e1a2d Mon Sep 17 00:00:00 2001 From: Dom Cobley -Date: Sat, 23 Jan 2021 18:00:48 +0000 -Subject: [PATCH] vc4_place: Don't reject fractional source coords +Date: Mon, 15 Mar 2021 13:28:06 +0000 +Subject: [PATCH] vc4/drm: vc4_plane: Remove subpixel positioning check +There is little harm in ignoring fractional coordinates +(they just get truncated). + +Without this: +modetest -M vc4 -F tiles,gradient -s 32:1920x1080-60 -P89@74:1920x1080*.1.1@XR24 + +is rejected. We have the same issue in Kodi when trying to +use zoom options on video. + +Note: even if all coordinates are fully integer. e.g. +src:[0,0,1920,1080] dest:[-10,-10,1940,1100] + +it will still get rejected as drm_atomic_helper_check_plane_state +uses drm_rect_clip_scaled which transforms this to fractional src coords + +Signed-off-by: Dom Cobley --- - drivers/gpu/drm/vc4/vc4_plane.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) + drivers/gpu/drm/vc4/vc4_plane.c | 9 --------- + 1 file changed, 9 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c -index b5586c92bfe54..1947798f3eaf3 100644 +index 3d33fe3dacea7..bf0093bd997f5 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -358,7 +358,8 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state) - (state->src.x2 & subpixel_src_mask) || - (state->src.y1 & subpixel_src_mask) || - (state->src.y2 & subpixel_src_mask)) { -- return -EINVAL; -+ DRM_DEBUG_KMS("Invalid subpixel scaling %x %x %x %x (%x)\n", state->src.x1, state->src.x2, state->src.y1, state->src.y2, subpixel_src_mask); -+ //return -EINVAL; - } +@@ -339,7 +339,6 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state) + struct vc4_plane_state *vc4_state = to_vc4_plane_state(state); + struct drm_framebuffer *fb = state->fb; + struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0); +- u32 subpixel_src_mask = (1 << 16) - 1; + int num_planes = fb->format->num_planes; + struct drm_crtc_state *crtc_state; + u32 h_subsample = fb->format->hsub; +@@ -361,14 +360,6 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state) + for (i = 0; i < num_planes; i++) + vc4_state->offsets[i] = bo->paddr + fb->offsets[i]; +- /* We don't support subpixel source positioning for scaling. */ +- if ((state->src.x1 & subpixel_src_mask) || +- (state->src.x2 & subpixel_src_mask) || +- (state->src.y1 & subpixel_src_mask) || +- (state->src.y2 & subpixel_src_mask)) { +- return -EINVAL; +- } +- vc4_state->src_x = state->src.x1 >> 16; + vc4_state->src_y = state->src.y1 >> 16; + vc4_state->src_w[0] = (state->src.x2 - state->src.x1) >> 16; diff --git a/packages/linux/patches/raspberrypi/linux-011-vc4-Avoid-full-hdmi-audio-fifo-writes.patch b/packages/linux/patches/raspberrypi/linux-011-vc4-Avoid-full-hdmi-audio-fifo-writes.patch deleted file mode 100644 index c407892597..0000000000 --- a/packages/linux/patches/raspberrypi/linux-011-vc4-Avoid-full-hdmi-audio-fifo-writes.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 6ddb85813f7a61637a54f76a76ccb95ade8a50de Mon Sep 17 00:00:00 2001 -From: Dom Cobley -Date: Sun, 24 Jan 2021 15:44:10 +0000 -Subject: [PATCH] vc4: Avoid full hdmi audio fifo writes - -We are getting occasional VC4_HD_MAI_CTL_ERRORF in HDMI_MAI_CTL which seem to correspond with -audio dropouts. Reduce the threshold where we deassert DREQ to avoid the fifo overfilling ---- - drivers/gpu/drm/vc4/vc4_hdmi.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index 64b1567998861..3b85158fbbaa8 100644 ---- a/drivers/gpu/drm/vc4/vc4_hdmi.c -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1562,10 +1562,10 @@ static int vc4_hdmi_audio_prepare(struct snd_pcm_substream *substream, - - /* Set the MAI threshold */ - HDMI_WRITE(HDMI_MAI_THR, -- VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICHIGH) | -- VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICLOW) | -- VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQHIGH) | -- VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQLOW)); -+ VC4_SET_FIELD(0x08, VC4_HD_MAI_THR_PANICHIGH) | -+ VC4_SET_FIELD(0x08, VC4_HD_MAI_THR_PANICLOW) | -+ VC4_SET_FIELD(0x08, VC4_HD_MAI_THR_DREQHIGH) | -+ VC4_SET_FIELD(0x08, VC4_HD_MAI_THR_DREQLOW)); - - HDMI_WRITE(HDMI_MAI_CONFIG, - VC4_HDMI_MAI_CONFIG_BIT_REVERSE | diff --git a/packages/linux/patches/raspberrypi/linux-012-increase-hdmi-dma-axi-priority.patch b/packages/linux/patches/raspberrypi/linux-012-increase-hdmi-dma-axi-priority.patch deleted file mode 100644 index 197673b1c5..0000000000 --- a/packages/linux/patches/raspberrypi/linux-012-increase-hdmi-dma-axi-priority.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/arch/arm/boot/dts/bcm2711-rpi.dtsi b/arch/arm/boot/dts/bcm2711-rpi.dtsi -index 8053ef54acc8..6bcfcc5b1ac5 100644 ---- a/arch/arm/boot/dts/bcm2711-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2711-rpi.dtsi -@@ -179,7 +179,7 @@ &pixelvalve4 { - }; - - &hdmi0 { -- dmas = <&dma (10|(1<<27)|(1<<24)|(0<<16)|(15<<20))>; -+ dmas = <&dma (10|(1<<27)|(1<<24)|(15<<16)|(15<<20))>; - status = "disabled"; - }; - -@@ -188,7 +188,7 @@ &ddc0 { - }; - - &hdmi1 { -- dmas = <&dma (17|(1<<27)|(1<<24)|(0<<16)|(15<<20))>; -+ dmas = <&dma (17|(1<<27)|(1<<24)|(15<<16)|(15<<20))>; - status = "disabled"; - }; diff --git a/packages/linux/patches/raspberrypi/linux-020-eld-constraints-for-compressed-formats.patch b/packages/linux/patches/raspberrypi/linux-020-eld-constraints-for-compressed-formats.patch new file mode 100644 index 0000000000..bb74ff7bd7 --- /dev/null +++ b/packages/linux/patches/raspberrypi/linux-020-eld-constraints-for-compressed-formats.patch @@ -0,0 +1,91 @@ +From a2769637a9b98c6809d4d25a3a20447a3ff7b23a Mon Sep 17 00:00:00 2001 +From: Matthias Reichl +Date: Fri, 19 Mar 2021 12:14:17 +0100 +Subject: [PATCH] ALSA: pcm: fix ELD constraints for some compressed audio + formats + +The SADs of compressed formats like AC3 and DTS contain the channel +and sample rate info of the audio data inside the compressed stream, +but when building constraints we must use the rates and formats used +to pass through the stream. eg 2ch 48kHz for AC3. + +Signed-off-by: Matthias Reichl +--- + sound/core/pcm_drm_eld.c | 38 +++++++++++++++++++++++++++++++++++--- + 1 file changed, 35 insertions(+), 3 deletions(-) + +diff --git a/sound/core/pcm_drm_eld.c b/sound/core/pcm_drm_eld.c +index 4b5faae5d16e5..e7ec7a8b9d420 100644 +--- a/sound/core/pcm_drm_eld.c ++++ b/sound/core/pcm_drm_eld.c +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + + static const unsigned int eld_rates[] = { + 32000, +@@ -17,9 +18,40 @@ static const unsigned int eld_rates[] = { + 192000, + }; + ++static unsigned int sad_format(const u8 *sad) ++{ ++ return (sad[0] & 0x78) >> 3; ++} ++ + static unsigned int sad_max_channels(const u8 *sad) + { +- return 1 + (sad[0] & 7); ++ switch (sad_format(sad)) { ++ case HDMI_AUDIO_CODING_TYPE_AC3: ++ case HDMI_AUDIO_CODING_TYPE_DTS: ++ case HDMI_AUDIO_CODING_TYPE_EAC3: ++ return 2; ++ case HDMI_AUDIO_CODING_TYPE_DTS_HD: ++ case HDMI_AUDIO_CODING_TYPE_MLP: ++ return 8; ++ default: ++ return 1 + (sad[0] & 7); ++ } ++} ++ ++static unsigned int sad_rate_mask(const u8 *sad) ++{ ++ switch (sad_format(sad)) { ++ case HDMI_AUDIO_CODING_TYPE_AC3: ++ case HDMI_AUDIO_CODING_TYPE_DTS: ++ return 0x07; // 32-48kHz ++ case HDMI_AUDIO_CODING_TYPE_EAC3: ++ return 0x7f; // 32-192kHz ++ case HDMI_AUDIO_CODING_TYPE_DTS_HD: ++ case HDMI_AUDIO_CODING_TYPE_MLP: ++ return 0x60; // 176.4, 192kHz ++ default: ++ return sad[1] & 0x7f; ++ } + } + + static int eld_limit_rates(struct snd_pcm_hw_params *params, +@@ -42,7 +74,7 @@ static int eld_limit_rates(struct snd_pcm_hw_params *params, + * requested number of channels. + */ + if (c->min <= max_channels) +- rate_mask |= sad[1]; ++ rate_mask |= sad_rate_mask(sad); + } + } + +@@ -70,7 +102,7 @@ static int eld_limit_channels(struct snd_pcm_hw_params *params, + rate_mask |= BIT(i); + + for (i = drm_eld_sad_count(eld); i > 0; i--, sad += 3) +- if (rate_mask & sad[1]) ++ if (rate_mask & sad_rate_mask(sad)) + t.max = max(t.max, sad_max_channels(sad)); + } + +-- +2.20.1 + diff --git a/packages/tools/bcm2835-bootloader/package.mk b/packages/tools/bcm2835-bootloader/package.mk index c5570bb893..61bda78cf4 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="5985247fb75681985547641d66196c77499f26b9" -PKG_SHA256="539e7768d9d7fd553dc3e294b8e0f53b9d843a81587ff99b52c2aceb67c37d6f" +PKG_VERSION="57e7fd133f6e409fe0e55a1e5f277b3909b9f4de" +PKG_SHA256="0a6810c7f4be49fe39dda08d76755c5e7ac90c527a30cea558a412be7a99aa15" PKG_ARCH="arm aarch64" PKG_LICENSE="nonfree" PKG_SITE="http://www.broadcom.com" diff --git a/packages/tools/rpi-eeprom/package.mk b/packages/tools/rpi-eeprom/package.mk index 377096f7ea..fb521f6e77 100644 --- a/packages/tools/rpi-eeprom/package.mk +++ b/packages/tools/rpi-eeprom/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) PKG_NAME="rpi-eeprom" -PKG_VERSION="1b937edc4b9523f4d7f902b3e77ac787bcede597" -PKG_SHA256="3596e56a30a6b53b211db54e6287f6dc90c10edf74cb7783d29492631d09c607" +PKG_VERSION="4e51d9a73521436ce5c7ec07f3525b57c248e62b" +PKG_SHA256="d932db25552ade16780c6936bad50500d28333efba32137ca9f9416dea4fa9a7" PKG_ARCH="arm" PKG_LICENSE="BSD-3/custom" PKG_SITE="https://github.com/raspberrypi/rpi-eeprom" diff --git a/projects/RPi/devices/RPi/linux/linux.arm.conf b/projects/RPi/devices/RPi/linux/linux.arm.conf index da5f794c31..1d6bc98b90 100644 --- a/projects/RPi/devices/RPi/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi/linux/linux.arm.conf @@ -1,10 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 5.10.13 Kernel Configuration +# Linux/arm 5.10.20 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=70200 +CONFIG_GCC_VERSION=80300 CONFIG_LD_VERSION=231010000 CONFIG_CLANG_VERSION=0 CONFIG_LLD_VERSION=0 @@ -192,6 +192,7 @@ CONFIG_BPF_SYSCALL=y # CONFIG_BPF_PRELOAD is not set # CONFIG_USERFAULTFD is not set CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_KCMP=y CONFIG_RSEQ=y # CONFIG_DEBUG_RSEQ is not set CONFIG_EMBEDDED=y @@ -487,7 +488,7 @@ CONFIG_CRYPTO_SHA1_ARM=m CONFIG_CRYPTO_SHA256_ARM=m # CONFIG_CRYPTO_SHA512_ARM is not set CONFIG_CRYPTO_AES_ARM=m -# CONFIG_CRYPTO_CHACHA20_NEON is not set +CONFIG_CRYPTO_CHACHA20_NEON=m CONFIG_CRYPTO_POLY1305_ARM=m # @@ -4662,7 +4663,6 @@ CONFIG_RESET_CONTROLLER=y # PHY Subsystem # # CONFIG_GENERIC_PHY is not set -# CONFIG_USB_LGM_PHY is not set # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_PHY_CADENCE_TORRENT is not set # CONFIG_PHY_CADENCE_DPHY is not set @@ -5170,7 +5170,7 @@ CONFIG_CRYPTO_LIB_AES=y CONFIG_CRYPTO_LIB_ARC4=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m CONFIG_CRYPTO_LIB_BLAKE2S=m -CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m CONFIG_CRYPTO_LIB_CHACHA=m CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m CONFIG_CRYPTO_LIB_CURVE25519=m diff --git a/projects/RPi/devices/RPi2/linux/linux.arm.conf b/projects/RPi/devices/RPi2/linux/linux.arm.conf index 7fdefdda69..b9f292aad7 100644 --- a/projects/RPi/devices/RPi2/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi2/linux/linux.arm.conf @@ -1,10 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 5.10.13 Kernel Configuration +# Linux/arm 5.10.20 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=70200 +CONFIG_GCC_VERSION=80300 CONFIG_LD_VERSION=231010000 CONFIG_CLANG_VERSION=0 CONFIG_LLD_VERSION=0 @@ -205,6 +205,7 @@ CONFIG_BPF_SYSCALL=y # CONFIG_BPF_PRELOAD is not set # CONFIG_USERFAULTFD is not set CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_KCMP=y CONFIG_RSEQ=y # CONFIG_DEBUG_RSEQ is not set CONFIG_EMBEDDED=y @@ -4804,7 +4805,6 @@ CONFIG_RESET_CONTROLLER=y # PHY Subsystem # # CONFIG_GENERIC_PHY is not set -# CONFIG_USB_LGM_PHY is not set # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_PHY_CADENCE_TORRENT is not set # CONFIG_PHY_CADENCE_DPHY is not set diff --git a/projects/RPi/devices/RPi4/linux/linux.arm.conf b/projects/RPi/devices/RPi4/linux/linux.arm.conf index 818a43f7a6..7e0e527391 100644 --- a/projects/RPi/devices/RPi4/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi4/linux/linux.arm.conf @@ -1,10 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 5.10.13 Kernel Configuration +# Linux/arm 5.10.20 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=70200 +CONFIG_GCC_VERSION=80300 CONFIG_LD_VERSION=231010000 CONFIG_CLANG_VERSION=0 CONFIG_LLD_VERSION=0 @@ -207,6 +207,7 @@ CONFIG_BPF_SYSCALL=y # CONFIG_BPF_PRELOAD is not set # CONFIG_USERFAULTFD is not set CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_KCMP=y CONFIG_RSEQ=y # CONFIG_DEBUG_RSEQ is not set CONFIG_EMBEDDED=y @@ -5400,7 +5401,6 @@ CONFIG_RESET_SIMPLE=y # PHY Subsystem # # CONFIG_GENERIC_PHY is not set -# CONFIG_USB_LGM_PHY is not set # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_PHY_CADENCE_TORRENT is not set # CONFIG_PHY_CADENCE_DPHY is not set