From fd4c7ff3422a2a89715c9e14209bfbc04ae27ce4 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 25 Nov 2021 20:54:42 +0100 Subject: [PATCH 1/4] RPi: update to firmware 12bc6e3 Signed-off-by: Matthias Reichl --- packages/graphics/bcm2835-driver/package.mk | 4 ++-- packages/tools/bcm2835-bootloader/package.mk | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/graphics/bcm2835-driver/package.mk b/packages/graphics/bcm2835-driver/package.mk index 247e3eb625..663be6e88c 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="fa9a00624e7d5d3dcdb297dff132dc32cc2d9a25" -PKG_SHA256="4154c55b6cb8552138a4d9a74b35a4ae006f6d313c675f682ffdf1b0f555241a" +PKG_VERSION="12bc6e3677348adaffd155e7a04761e2661d4bff" +PKG_SHA256="72dd2ebb50f5d0c69d010ac5ce9d820a6803692c687ce166fdba81be5e4274ce" PKG_LICENSE="nonfree" PKG_SITE="http://www.broadcom.com" PKG_URL="${DISTRO_SRC}/${PKG_NAME}-${PKG_VERSION}.tar.xz" diff --git a/packages/tools/bcm2835-bootloader/package.mk b/packages/tools/bcm2835-bootloader/package.mk index bbdbee992b..d9fb788d60 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="fa9a00624e7d5d3dcdb297dff132dc32cc2d9a25" -PKG_SHA256="67cf704e44ebbb0037cec922c8d46ba0e9d55789ce66085893c62e7979b13fbb" +PKG_VERSION="12bc6e3677348adaffd155e7a04761e2661d4bff" +PKG_SHA256="fdd99713fbd53333df5e7c34ae10aeb117f272d3c03694bf4c99f3195bdfd990" PKG_ARCH="arm aarch64" PKG_LICENSE="nonfree" PKG_SITE="http://www.broadcom.com" From 3486fa6b7d3955d8e08e2e1d339191577198634f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 25 Nov 2021 21:00:03 +0100 Subject: [PATCH 2/4] linux (RPi): update to 5.15.5-20426cd drop VIDIOC_DQEVENT compat32 fix patch, this is now included in RPi kernel tree Signed-off-by: Matthias Reichl --- packages/linux/package.mk | 4 +- ...backport-VIDIOC_DQEVENT-compat32-fix.patch | 135 ------------------ 2 files changed, 2 insertions(+), 137 deletions(-) delete mode 100644 packages/linux/patches/raspberrypi/linux-001-backport-VIDIOC_DQEVENT-compat32-fix.patch diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 85e2e8ada5..5c1e6d32b2 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="027a7a824320f69f6b30503c7fcf6aea2ffd56fd" # 5.15.2 - PKG_SHA256="45eef0a1c0cb326500e41f9f6ca29c680b1420103844f27d2c3509b9c9287d20" + PKG_VERSION="20426cd6b0b9af2b02d4c1c9c56a565d15552f32" # 5.15.5 + PKG_SHA256="2259969618bcf5e489062aa5d3e44584c083318eb38159bb8b096dc509ebb307" 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-001-backport-VIDIOC_DQEVENT-compat32-fix.patch b/packages/linux/patches/raspberrypi/linux-001-backport-VIDIOC_DQEVENT-compat32-fix.patch deleted file mode 100644 index f5574bbe5a..0000000000 --- a/packages/linux/patches/raspberrypi/linux-001-backport-VIDIOC_DQEVENT-compat32-fix.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 678d92b6126b9f55419b6a51ef0a88bce2ef2f20 Mon Sep 17 00:00:00 2001 -From: Arnd Bergmann -Date: Tue, 26 Oct 2021 06:49:54 +0100 -Subject: [PATCH] media: v4l2-core: fix VIDIOC_DQEVENT handling on non-x86 - -My previous bugfix addressed an API inconsistency found by syzbot, -and it correctly fixed the issue on x86-64 machines, which now behave -correctly for both native and compat tasks. - -Unfortunately, John found that the patch broke compat mode on all other -architectures, as they can no longer rely on the VIDIOC_DQEVENT_TIME32 -code from the native handler as a fallback in the compat code. - -The best way I can see for addressing this is to generalize the -VIDIOC_DQEVENT32_TIME32 code from x86 and use that for all architectures, -leaving only the VIDIOC_DQEVENT32 variant as x86 specific. The original -code was trying to be clever and use the same conversion helper for native -32-bit code and compat mode, but that turned out to be too obscure so -even I missed that bit I had introduced myself when I made the fix. - -Fixes: c344f07aa1b4 ("media: v4l2-core: ignore native time32 ioctls on 64-bit") -Reported-by: John Stultz -Signed-off-by: Arnd Bergmann -Tested-by: John Stultz -Signed-off-by: Hans Verkuil -Signed-off-by: Mauro Carvalho Chehab ---- - drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 41 ++++++++----------- - 1 file changed, 17 insertions(+), 24 deletions(-) - -diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c -index 8176769a89fa..0f3d6b5667b0 100644 ---- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c -+++ b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c -@@ -751,10 +751,6 @@ static int put_v4l2_ext_controls32(struct v4l2_ext_controls *p64, - /* - * x86 is the only compat architecture with different struct alignment - * between 32-bit and 64-bit tasks. -- * -- * On all other architectures, v4l2_event32 and v4l2_event32_time32 are -- * the same as v4l2_event and v4l2_event_time32, so we can use the native -- * handlers, converting v4l2_event to v4l2_event_time32 if necessary. - */ - struct v4l2_event32 { - __u32 type; -@@ -772,21 +768,6 @@ struct v4l2_event32 { - __u32 reserved[8]; - }; - --#ifdef CONFIG_COMPAT_32BIT_TIME --struct v4l2_event32_time32 { -- __u32 type; -- union { -- compat_s64 value64; -- __u8 data[64]; -- } u; -- __u32 pending; -- __u32 sequence; -- struct old_timespec32 timestamp; -- __u32 id; -- __u32 reserved[8]; --}; --#endif -- - static int put_v4l2_event32(struct v4l2_event *p64, - struct v4l2_event32 __user *p32) - { -@@ -802,7 +783,22 @@ static int put_v4l2_event32(struct v4l2_event *p64, - return 0; - } - -+#endif -+ - #ifdef CONFIG_COMPAT_32BIT_TIME -+struct v4l2_event32_time32 { -+ __u32 type; -+ union { -+ compat_s64 value64; -+ __u8 data[64]; -+ } u; -+ __u32 pending; -+ __u32 sequence; -+ struct old_timespec32 timestamp; -+ __u32 id; -+ __u32 reserved[8]; -+}; -+ - static int put_v4l2_event32_time32(struct v4l2_event *p64, - struct v4l2_event32_time32 __user *p32) - { -@@ -818,7 +814,6 @@ static int put_v4l2_event32_time32(struct v4l2_event *p64, - return 0; - } - #endif --#endif - - struct v4l2_edid32 { - __u32 pad; -@@ -880,9 +875,7 @@ static int put_v4l2_edid32(struct v4l2_edid *p64, - #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct v4l2_buffer32_time32) - #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct v4l2_buffer32_time32) - #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct v4l2_buffer32_time32) --#ifdef CONFIG_X86_64 - #define VIDIOC_DQEVENT32_TIME32 _IOR ('V', 89, struct v4l2_event32_time32) --#endif - #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct v4l2_buffer32_time32) - #endif - -@@ -936,10 +929,10 @@ unsigned int v4l2_compat_translate_cmd(unsigned int cmd) - #ifdef CONFIG_X86_64 - case VIDIOC_DQEVENT32: - return VIDIOC_DQEVENT; -+#endif - #ifdef CONFIG_COMPAT_32BIT_TIME - case VIDIOC_DQEVENT32_TIME32: - return VIDIOC_DQEVENT; --#endif - #endif - } - return cmd; -@@ -1032,10 +1025,10 @@ int v4l2_compat_put_user(void __user *arg, void *parg, unsigned int cmd) - #ifdef CONFIG_X86_64 - case VIDIOC_DQEVENT32: - return put_v4l2_event32(parg, arg); -+#endif - #ifdef CONFIG_COMPAT_32BIT_TIME - case VIDIOC_DQEVENT32_TIME32: - return put_v4l2_event32_time32(parg, arg); --#endif - #endif - } - return 0; --- -2.30.2 - From 5d461f27ded58e89229b23c699623671512121f9 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 25 Nov 2021 21:58:17 +0100 Subject: [PATCH 3/4] rpi-eeprom: update to 12907d0 Signed-off-by: Matthias Reichl --- packages/tools/rpi-eeprom/package.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/tools/rpi-eeprom/package.mk b/packages/tools/rpi-eeprom/package.mk index a2643a7322..d088930105 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="47976e4409c6999a8e211976c75c60a97c90275c" -PKG_SHA256="fe67e174d897c6e29549129522c2fbce2404142e098c3c809c2a3b26b5708055" +PKG_VERSION="12907d02ffe70c017de6e21e7adcce2303f9159f" +PKG_SHA256="5950ae2a6b91ee5de1278daae707ad919c7751e836cf4c628554c72a2a734504" PKG_ARCH="arm" PKG_LICENSE="BSD-3/custom" PKG_SITE="https://github.com/raspberrypi/rpi-eeprom" @@ -45,6 +45,7 @@ makeinstall_target() { cp -PRv ${PKG_DIR}/source/rpi-eeprom-update ${INSTALL}/usr/bin cp -PRv ${PKG_BUILD}/rpi-eeprom-update ${INSTALL}/usr/bin/.rpi-eeprom-update.real cp -PRv ${PKG_BUILD}/rpi-eeprom-config ${INSTALL}/usr/bin + cp -PRv ${PKG_BUILD}/rpi-eeprom-digest ${INSTALL}/usr/bin mkdir -p ${INSTALL}/etc/default cp -PRv ${PKG_DIR}/config/* ${INSTALL}/etc/default From d82807ac8a38f9b532c3f692f107eece37f88728 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 29 Nov 2021 19:53:07 +0100 Subject: [PATCH 4/4] linux (RPi): update to 5.15.5-b12c997 Signed-off-by: Matthias Reichl --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 5c1e6d32b2..0e78e6bb66 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="20426cd6b0b9af2b02d4c1c9c56a565d15552f32" # 5.15.5 - PKG_SHA256="2259969618bcf5e489062aa5d3e44584c083318eb38159bb8b096dc509ebb307" + PKG_VERSION="b12c997cf2c8cad9bb1de234684ce6fea78c5725" # 5.15.5 + PKG_SHA256="cc7fff474db3efbe4ed1f444deb5f48902d22fc954cc771702400491d16dee9a" PKG_URL="https://github.com/raspberrypi/linux/archive/${PKG_VERSION}.tar.gz" PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" ;;