Merge pull request #5259 from HiassofT/le10-kernel-5.10.20+

linux (RPi): update to 5.10.23-13c4388
This commit is contained in:
CvH 2021-03-20 07:14:31 +01:00 committed by GitHub
commit e367b4a71c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 153 additions and 84 deletions

View File

@ -3,8 +3,8 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="bcm2835-driver" PKG_NAME="bcm2835-driver"
PKG_VERSION="5985247fb75681985547641d66196c77499f26b9" PKG_VERSION="57e7fd133f6e409fe0e55a1e5f277b3909b9f4de"
PKG_SHA256="bf2807be5ca1589a662a3a4f832f21c27cd0bf803a1b11fa57c1aae1b554396a" PKG_SHA256="bbc609a681dc757fefb61389b6e88bb187d242964aa8774123d01e41756f4b4d"
PKG_LICENSE="nonfree" PKG_LICENSE="nonfree"
PKG_SITE="http://www.broadcom.com" PKG_SITE="http://www.broadcom.com"
PKG_URL="${DISTRO_SRC}/${PKG_NAME}-${PKG_VERSION}.tar.xz" PKG_URL="${DISTRO_SRC}/${PKG_NAME}-${PKG_VERSION}.tar.xz"

View File

@ -22,8 +22,8 @@ case "${LINUX}" in
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
;; ;;
raspberrypi) raspberrypi)
PKG_VERSION="12fdeddcde1ce67177ae0e13931ff24944015625" # 5.10.17 PKG_VERSION="13c43880f2ee6db7d26949cb6a3e8db1a4b76736" # 5.10.23
PKG_SHA256="e4dcdb2ee22ffeae85c4f3916d60a5065f7068f852b76a530f5604628d4e60ba" PKG_SHA256="cfc1e54102b66719ad8f3e6f97baa4ddc46873ba82a130c481619a705901b1da"
PKG_URL="https://github.com/raspberrypi/linux/archive/${PKG_VERSION}.tar.gz" PKG_URL="https://github.com/raspberrypi/linux/archive/${PKG_VERSION}.tar.gz"
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
;; ;;

View File

@ -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 <popcornmix@gmail.com> From: Dom Cobley <popcornmix@gmail.com>
Date: Sat, 23 Jan 2021 18:00:48 +0000 Date: Mon, 15 Mar 2021 13:28:06 +0000
Subject: [PATCH] vc4_place: Don't reject fractional source coords 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 <popcornmix@gmail.com>
--- ---
drivers/gpu/drm/vc4/vc4_plane.c | 3 ++- drivers/gpu/drm/vc4/vc4_plane.c | 9 ---------
1 file changed, 2 insertions(+), 1 deletion(-) 1 file changed, 9 deletions(-)
diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c 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 --- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/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) @@ -339,7 +339,6 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state)
(state->src.x2 & subpixel_src_mask) || struct vc4_plane_state *vc4_state = to_vc4_plane_state(state);
(state->src.y1 & subpixel_src_mask) || struct drm_framebuffer *fb = state->fb;
(state->src.y2 & subpixel_src_mask)) { struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0);
- return -EINVAL; - u32 subpixel_src_mask = (1 << 16) - 1;
+ 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); int num_planes = fb->format->num_planes;
+ //return -EINVAL; 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_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;

View File

@ -1,30 +0,0 @@
From 6ddb85813f7a61637a54f76a76ccb95ade8a50de Mon Sep 17 00:00:00 2001
From: Dom Cobley <popcornmix@gmail.com>
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 |

View File

@ -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";
};

View File

@ -0,0 +1,91 @@
From a2769637a9b98c6809d4d25a3a20447a3ff7b23a Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
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 <hias@horus.com>
---
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 <drm/drm_edid.h>
#include <sound/pcm.h>
#include <sound/pcm_drm_eld.h>
+#include <linux/hdmi.h>
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

View File

@ -3,8 +3,8 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="bcm2835-bootloader" PKG_NAME="bcm2835-bootloader"
PKG_VERSION="5985247fb75681985547641d66196c77499f26b9" PKG_VERSION="57e7fd133f6e409fe0e55a1e5f277b3909b9f4de"
PKG_SHA256="539e7768d9d7fd553dc3e294b8e0f53b9d843a81587ff99b52c2aceb67c37d6f" PKG_SHA256="0a6810c7f4be49fe39dda08d76755c5e7ac90c527a30cea558a412be7a99aa15"
PKG_ARCH="arm aarch64" PKG_ARCH="arm aarch64"
PKG_LICENSE="nonfree" PKG_LICENSE="nonfree"
PKG_SITE="http://www.broadcom.com" PKG_SITE="http://www.broadcom.com"

View File

@ -2,8 +2,8 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="rpi-eeprom" PKG_NAME="rpi-eeprom"
PKG_VERSION="1b937edc4b9523f4d7f902b3e77ac787bcede597" PKG_VERSION="4e51d9a73521436ce5c7ec07f3525b57c248e62b"
PKG_SHA256="3596e56a30a6b53b211db54e6287f6dc90c10edf74cb7783d29492631d09c607" PKG_SHA256="d932db25552ade16780c6936bad50500d28333efba32137ca9f9416dea4fa9a7"
PKG_ARCH="arm" PKG_ARCH="arm"
PKG_LICENSE="BSD-3/custom" PKG_LICENSE="BSD-3/custom"
PKG_SITE="https://github.com/raspberrypi/rpi-eeprom" PKG_SITE="https://github.com/raspberrypi/rpi-eeprom"

View File

@ -1,10 +1,10 @@
# #
# Automatically generated file; DO NOT EDIT. # 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_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0"
CONFIG_CC_IS_GCC=y CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=70200 CONFIG_GCC_VERSION=80300
CONFIG_LD_VERSION=231010000 CONFIG_LD_VERSION=231010000
CONFIG_CLANG_VERSION=0 CONFIG_CLANG_VERSION=0
CONFIG_LLD_VERSION=0 CONFIG_LLD_VERSION=0
@ -192,6 +192,7 @@ CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_PRELOAD is not set # CONFIG_BPF_PRELOAD is not set
# CONFIG_USERFAULTFD is not set # CONFIG_USERFAULTFD is not set
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_KCMP=y
CONFIG_RSEQ=y CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set # CONFIG_DEBUG_RSEQ is not set
CONFIG_EMBEDDED=y CONFIG_EMBEDDED=y
@ -487,7 +488,7 @@ CONFIG_CRYPTO_SHA1_ARM=m
CONFIG_CRYPTO_SHA256_ARM=m CONFIG_CRYPTO_SHA256_ARM=m
# CONFIG_CRYPTO_SHA512_ARM is not set # CONFIG_CRYPTO_SHA512_ARM is not set
CONFIG_CRYPTO_AES_ARM=m CONFIG_CRYPTO_AES_ARM=m
# CONFIG_CRYPTO_CHACHA20_NEON is not set CONFIG_CRYPTO_CHACHA20_NEON=m
CONFIG_CRYPTO_POLY1305_ARM=m CONFIG_CRYPTO_POLY1305_ARM=m
# #
@ -4662,7 +4663,6 @@ CONFIG_RESET_CONTROLLER=y
# PHY Subsystem # PHY Subsystem
# #
# CONFIG_GENERIC_PHY is not set # CONFIG_GENERIC_PHY is not set
# CONFIG_USB_LGM_PHY is not set
# CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_BCM_KONA_USB2_PHY is not set
# CONFIG_PHY_CADENCE_TORRENT is not set # CONFIG_PHY_CADENCE_TORRENT is not set
# CONFIG_PHY_CADENCE_DPHY 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_ARC4=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m
CONFIG_CRYPTO_LIB_BLAKE2S=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_CHACHA=m
CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
CONFIG_CRYPTO_LIB_CURVE25519=m CONFIG_CRYPTO_LIB_CURVE25519=m

View File

@ -1,10 +1,10 @@
# #
# Automatically generated file; DO NOT EDIT. # 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_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0"
CONFIG_CC_IS_GCC=y CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=70200 CONFIG_GCC_VERSION=80300
CONFIG_LD_VERSION=231010000 CONFIG_LD_VERSION=231010000
CONFIG_CLANG_VERSION=0 CONFIG_CLANG_VERSION=0
CONFIG_LLD_VERSION=0 CONFIG_LLD_VERSION=0
@ -205,6 +205,7 @@ CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_PRELOAD is not set # CONFIG_BPF_PRELOAD is not set
# CONFIG_USERFAULTFD is not set # CONFIG_USERFAULTFD is not set
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_KCMP=y
CONFIG_RSEQ=y CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set # CONFIG_DEBUG_RSEQ is not set
CONFIG_EMBEDDED=y CONFIG_EMBEDDED=y
@ -4804,7 +4805,6 @@ CONFIG_RESET_CONTROLLER=y
# PHY Subsystem # PHY Subsystem
# #
# CONFIG_GENERIC_PHY is not set # CONFIG_GENERIC_PHY is not set
# CONFIG_USB_LGM_PHY is not set
# CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_BCM_KONA_USB2_PHY is not set
# CONFIG_PHY_CADENCE_TORRENT is not set # CONFIG_PHY_CADENCE_TORRENT is not set
# CONFIG_PHY_CADENCE_DPHY is not set # CONFIG_PHY_CADENCE_DPHY is not set

View File

@ -1,10 +1,10 @@
# #
# Automatically generated file; DO NOT EDIT. # 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_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0"
CONFIG_CC_IS_GCC=y CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=70200 CONFIG_GCC_VERSION=80300
CONFIG_LD_VERSION=231010000 CONFIG_LD_VERSION=231010000
CONFIG_CLANG_VERSION=0 CONFIG_CLANG_VERSION=0
CONFIG_LLD_VERSION=0 CONFIG_LLD_VERSION=0
@ -207,6 +207,7 @@ CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_PRELOAD is not set # CONFIG_BPF_PRELOAD is not set
# CONFIG_USERFAULTFD is not set # CONFIG_USERFAULTFD is not set
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_KCMP=y
CONFIG_RSEQ=y CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set # CONFIG_DEBUG_RSEQ is not set
CONFIG_EMBEDDED=y CONFIG_EMBEDDED=y
@ -5400,7 +5401,6 @@ CONFIG_RESET_SIMPLE=y
# PHY Subsystem # PHY Subsystem
# #
# CONFIG_GENERIC_PHY is not set # CONFIG_GENERIC_PHY is not set
# CONFIG_USB_LGM_PHY is not set
# CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_BCM_KONA_USB2_PHY is not set
# CONFIG_PHY_CADENCE_TORRENT is not set # CONFIG_PHY_CADENCE_TORRENT is not set
# CONFIG_PHY_CADENCE_DPHY is not set # CONFIG_PHY_CADENCE_DPHY is not set