Compare commits

...

93 Commits

Author SHA1 Message Date
Christian Hewitt
a60826684c Merge pull request #5445 from CvH/10.0/settings_up_19ß6
LibreELEC-settings: update to caee341
2021-06-19 12:13:02 +04:00
CvH
10ebbc56d7 LibreELEC-settings: update to caee341 2021-06-19 10:11:41 +02:00
Christian Hewitt
607a66a480 Merge pull request #5424 from heitbaum/bins
kodi-binary-addons: update to latest versions
2021-06-17 11:42:47 +04:00
heitbaum
22fa5fcf37 kodi-binary-addons: update to latest versions 2021-06-17 06:41:02 +00:00
Christian Hewitt
c5d293ce7b Merge pull request #5438 from CvH/10.0/kodi_up_1406
Kodi update to latest Matrix
2021-06-16 12:18:34 +04:00
CvH
4ef34b70d4 LibreELEC-settings: update to 9e62eaa 2021-06-14 20:48:10 +02:00
CvH
b1474f23c9 kodi-binary-addons: update to latest versions 2021-06-14 20:48:10 +02:00
CvH
d9cb0e0749 kodi: update to f5c6051 2021-06-14 20:48:10 +02:00
CvH
2dd7685a8e Merge pull request #5431 from knaerzche/pkg-patch-arch
buildsystem: introduce TARGET_KERNEL_PATCH_ARCH
2021-06-14 12:47:45 +02:00
CvH
33895da3f3 Merge pull request #5432 from jernejsk/pc2-fix
Allwinner: H5: u-boot: Fix OrangePi PC2 config
2021-06-12 16:10:35 +02:00
Jernej Skrabec
7f305c3e9b Allwinner: H5: u-boot: Fix OrangePi PC2 config 2021-06-12 09:15:36 +02:00
Alex Bee
f88d19b575 buildsystem: introduce $TARGET_KERNEL_PATCH_ARCH 2021-06-11 18:06:58 +02:00
Jernej Škrabec
f547d15d69 Merge pull request #5426 from knaerzche/brcm-sdio-firmware-bump
brcmfmac_sdio-firmware: bump to 3ddc301c272f
2021-06-07 18:48:17 +02:00
Alex Bee
66b256f806 brcmfmac_sdio-firmware: bump to 3ddc301c272f 2021-06-07 18:45:27 +02:00
Jernej Škrabec
2a41bdf4dd Merge pull request #5418 from knaerzche/rk3399-roc-pc-fix
Rockchip: fixes for RK3399-ROC-PC/ RK3328-ROC-PC  boards
2021-06-07 18:09:26 +02:00
Alex Bee
a08e52b2c3 Rockchip: use 768 MHz dram init for all boards 2021-06-07 17:54:45 +02:00
CvH
185df54170 Merge pull request #5422 from wagnerch/wv-cleanup
Remove gperftools workaround in favor of TLS alignment patch to solve Widevine 4.10.2252.0 stability issues
2021-06-06 13:04:48 +02:00
Portisch
5ce550c354 glibc: add patch to increase TLS alignment to stay compatible with newer Widevine CDM modules Since 4.10.2252.0 a TLS alignment of 64 bytes is used but glibc dlopen is limited to 16 and will end up with: 'cannot allocate memory in static TLS block' 2021-06-05 19:50:56 +00:00
Chad Wagner
2fef238f35 Revert "gperftools: fix for release files"
Revert "gperftools: add package providing tcmalloc_minimal"
Revert "Add TCMALLOC_SUPPORT parameter to add libtcmalloc_minimal to the image"

This reverts commits:
85e3d8d4e0
780c7a3db0
d6d915d0cc
2021-06-05 19:09:06 +00:00
CvH
ff66210b8a Merge pull request #5420 from jernejsk/crust-update
crust: update to v0.4
2021-06-05 12:27:06 +02:00
Jernej Skrabec
4d9a9d0735 crust: update to v0.4 2021-06-05 11:45:23 +02:00
CvH
4f7766c635 Merge pull request #5419 from jernejsk/eth-fix
Allwinner: linux: fix OrangePi Plus ethernet
2021-06-05 10:10:20 +02:00
Jernej Skrabec
3101d67150 Allwinner: linux: fix OrangePi Plus ethernet 2021-06-05 10:01:20 +02:00
Alex Bee
e739659f29 Rockchip: linux: add patch to fix reboot for ROC-RK3399-PC 2021-06-04 22:25:57 +02:00
Alex Bee
6560ed36ef Rockchip: u-boot: fix boot for RK3999-ROC-PC 2021-06-04 22:16:41 +02:00
CvH
f6b7711a18 Merge pull request #5414 from knaerzche/rk-rcprep
Rockchip update
2021-06-02 11:39:33 +02:00
CvH
75b6560b8a Merge pull request #5413 from heitbaum/bins
kodi-binary-addons: update to latest versions
2021-06-02 11:36:53 +02:00
heitbaum
e95168ea70 kodi-binary-addons: update to latest versions 2021-06-02 08:28:10 +00:00
Alex Bee
a7b989e1ae Rockchip: kodi: disable audio passthrough 2021-06-02 09:57:07 +02:00
Alex Bee
8d87ef9f77 Rockchip: exchange devicetrees for RK3399-ROC-PC and Rock Pi 4 2021-06-02 09:53:17 +02:00
Alex Bee
72d319e8f3 Rockchip: linux: update configs 2021-06-02 09:52:30 +02:00
Alex Bee
04f5ba1f7e Rockchip: linux: update patches 2021-06-02 09:40:09 +02:00
knaerzche
de9caf8dca Merge pull request #5411 from jernejsk/uart-bt
Allwinner: linux: enable CONFIG_SERIAL_8250_16550A_VARIANTS
2021-06-01 18:26:04 +02:00
Jernej Skrabec
8d0ee6b68f Allwinner: linux: enable CONFIG_SERIAL_8250_16550A_VARIANTS 2021-05-31 18:48:49 +02:00
CvH
86a07cd1c8 Merge pull request #5409 from chewitt/docs
documentation: update Freenode references to Libera.Chat
2021-05-30 18:37:21 +02:00
Christian Hewitt
1333a8c1ad documentation: update Freenode references to Libera.Chat 2021-05-30 15:27:02 +00:00
CvH
9f36748e13 Merge pull request #5389 from heitbaum/kernel10rc
[Allwinner,Generic,Rockchip] linux: Update to 5.10.41
2021-05-29 14:04:12 +02:00
mglae
c0c15bf059 Merge pull request #5402 from Portisch/do_not_strip_components
scripts/extract: add option 'PKG_TAR_STRIP_COMPONENTS'
2021-05-29 10:43:47 +02:00
heitbaum
1a2fa0a989 linux: update to 5.10.41 2021-05-29 02:33:38 +00:00
heitbaum
8db5a28732 linux: Rockchip: drop patches upstreamed by 5.10.39 2021-05-29 02:29:28 +00:00
heitbaum
7404f97082 linux: Allwinner: drop patches upstreamed by 5.10.39 2021-05-29 02:29:28 +00:00
knaerzche
5babb79e55 Merge pull request #5400 from heitbaum/n10
Rockchip: RK3399pro: add initial support for “Radxa ROCK Pi N10”
2021-05-28 18:18:02 +02:00
Matthias Reichl
f040af4702 Merge pull request #5405 from mglae/le10_systemd_machine-id_v247
systemd: fix systemd-machine-id-setup for v247 special case
2021-05-28 18:11:29 +02:00
heitbaum
3300e758af linux (Rockchip): RK3399: dts and linux-next regulators for rock-pi-n10 2021-05-28 10:05:57 +00:00
Portisch
641caf3b52 scripts/extract: add option 'PKG_TAR_STRIP_COMPONENTS'
Some archive do not include a top level directory.
2021-05-28 08:33:36 +02:00
heitbaum
274d41ea82 Rockchip: include rk3399pro dtb in image 2021-05-28 04:00:56 +00:00
heitbaum
3cc4d90cda Rockchip (RK3399): add Radxa ROCK Pi N10 2021-05-28 04:00:52 +00:00
mglae
830c72fe53 systemd: fix systemd-machine-id-setup for v247 special case 2021-05-27 19:58:25 +02:00
CvH
63cf0d45de Merge pull request #5369 from heitbaum/sambaa
samba: update to 4.13.9
2021-05-26 19:51:42 +02:00
CvH
1b8a86b462 Merge pull request #5403 from mglae/le10_addons_no_startupenable
Kodi: Remove "disable addon dialog at startup" for LibreELEC
2021-05-26 19:50:55 +02:00
Jernej Škrabec
e2ca6d1a5f Merge pull request #5401 from heitbaum/tx6
Allwinner: linux: enable BT on Tanix TX6 and add wifi node for rtl8822cs (rtw88)
2021-05-26 19:43:15 +02:00
heitbaum
9f5e173f9b Allwinner: linux: enable BT on Tanix TX6 and add wifi node for rtl8822cs (rtw88) 2021-05-26 13:11:29 +00:00
mglae
267903e4a7 Kodi: Remove "disable addon dialog at startup" for LibreELEC 2021-05-25 19:51:09 +02:00
Matthias Reichl
04dc864eeb Merge pull request #5396 from mglae/le10_depmod_console_spam
busybox: kernel-overlays-setup: log depmod to /dev/kmsg
2021-05-24 20:12:29 +02:00
mglae
8ba9ad0273 busybox: kernel-overlays-setup: log depmod to /dev/kmsg 2021-05-24 19:56:27 +02:00
CvH
37e83ff5fb Merge pull request #5393 from heitbaum/st
system-tools: update addon to 122
2021-05-24 13:20:14 +02:00
heitbaum
8cc0a3477b vim: update to 8.2.2879
update 8.2.2293 (2021-01-04) to 8.2.2879 (2021-05-23)
changelog: https://github.com/vim/vim/commits/master
2021-05-24 10:52:55 +00:00
heitbaum
8a24fa120e unrar: update to 6.0.6
update 6.0.3 (2020-12-01) to 6.0.6
no release notes
change url to https, due to HSTS
2021-05-24 10:52:55 +00:00
heitbaum
ac0326ce7e stress-ng: update to 0.12.09
update 0.12.02 (2021-01-22) to 0.12.09
changelog: https://raw.githubusercontent.com/ColinIanKing/stress-ng/master/debian/changelog
2021-05-24 10:52:55 +00:00
heitbaum
de404e3bb0 oniguruma: update to 6.9.7.1 2021-05-24 10:52:55 +00:00
heitbaum
70f2cdb888 mtpfs: update to 2021-05-14
update 2016-12-16 to 2021-05-14
log: https://github.com/cjd/mtpfs/commits/master
- Fix crash due to use of deprecate init of lock with glib-2.0
2021-05-24 10:52:55 +00:00
heitbaum
e409a10cf8 mc: update to 4.8.26
update 4.8.25 to 4.8.26
news: http://midnight-commander.org/wiki/NEWS-4.8.26

- patch required to revert wchar shadow change.
- 8b4386df83.patch
- https://midnight-commander.org/ticket/4200
- Ticket #4102: draw shadows for dialog boxes and menus.
- http://midnight-commander.org/ticket/4102
- 72740285da
2021-05-24 10:52:55 +00:00
heitbaum
ed9b628eda bottom: initial commit 2021-05-24 10:52:48 +00:00
CvH
628fdbf308 Merge pull request #5395 from heitbaum/mt
multimedia-tools: update addon to 115
2021-05-24 12:51:19 +02:00
heitbaum
232af29e56 multimedia-tools: update addon to 115 2021-05-24 09:54:59 +00:00
heitbaum
3fc69e137a squeezelite: update to 2021-05-13 (1.9.9.1386) 2021-05-24 09:51:47 +00:00
heitbaum
4fddc317f9 mpv-drmprime: update to 0.33.1 2021-05-24 09:40:28 +00:00
heitbaum
85e40c5d80 libzen: update to 0.4.39
update 0.4.38 to 0.4.39
change URLs to https due to HSTS
2021-05-24 09:40:28 +00:00
heitbaum
5f42542eaf mpg123: update to 1.27.2
update 1.26.4 (2020-12-24) to 1.27.2 (2021-05-08)
news: http://www.mpg123.org/cgi-bin/news.cgi
2021-05-24 09:39:29 +00:00
heitbaum
535fb41c04 mediainfo: update to 21.03 2021-05-24 09:36:36 +00:00
heitbaum
19da637c9b libmediainfo: update to 21.03 2021-05-24 09:36:36 +00:00
CvH
3463a19cbb Merge pull request #5394 from heitbaum/nt
network-tools: update addon to 109
2021-05-24 11:15:46 +02:00
heitbaum
3bff294c54 network-tools: update addon to 109 2021-05-24 09:06:55 +00:00
heitbaum
87947af96d lftp: update to 4.9.2 2021-05-24 09:03:55 +00:00
heitbaum
ee452e66df rar2fs: update to 1.29.5
update 1.29.3 to 1.29.5
changelog:
- https://github.com/hasse69/rar2fs/releases/tag/v1.29.4
- https://github.com/hasse69/rar2fs/releases/tag/v1.29.5
2021-05-24 09:03:06 +00:00
heitbaum
92018b05ea irssi: update to 1.2.3 2021-05-24 08:59:35 +00:00
heitbaum
481b229fe2 file: update to 5.40 2021-05-24 07:43:45 +00:00
heitbaum
2f04664a2c system-tools: update addon to 122 2021-05-24 07:42:12 +00:00
Christian Hewitt
40e1be9482 Merge pull request #5391 from CvH/10.0/gperf
gperftools: fix for release files
2021-05-23 13:03:20 +04:00
CvH
85e3d8d4e0 gperftools: fix for release files 2021-05-23 10:49:10 +02:00
CvH
d0cc71fac2 Merge pull request #5390 from heitbaum/bins
kodi-binary-addons: update to latest versions
2021-05-23 09:46:45 +02:00
heitbaum
3c4c327d0c kodi-binary-addons: update to latest versions 2021-05-23 06:53:06 +00:00
CvH
d1b674cf3d Merge pull request #5376 from kszaq/widevine_support
[ARM] Add suport for libwidevine.so >= 4.10.2252.0
2021-05-23 07:43:08 +02:00
kszaq
7fa2987e4e glibc: add support for SHT_RELR sections
The patch is used only for ARM targets, allows to
load blobs from ChromeOS using SHT_RELR

Source: d5bc21e0f0/sys-libs/glibc/files/local/glibc-2.32/0004-sys-libs-glibc-add-support-for-SHT_RELR-sections.patch
2021-05-22 14:19:46 +02:00
kszaq
d6d915d0cc Add TCMALLOC_SUPPORT parameter to add libtcmalloc_minimal to the image 2021-05-22 14:19:46 +02:00
kszaq
780c7a3db0 gperftools: add package providing tcmalloc_minimal 2021-05-22 14:19:46 +02:00
Christian Hewitt
d17389306d Merge pull request #5385 from CvH/10.0/kodi-2005
kodi: update to 2d78f9d
2021-05-21 11:17:25 +04:00
Christian Hewitt
a75ad960d7 Merge pull request #5384 from CvH/10.0/settings_up_2005
LibreELEC-settings: update to bfec474
2021-05-21 11:17:09 +04:00
CvH
b64a2fbad1 kodi: update to 2d78f9d 2021-05-20 21:31:28 +02:00
CvH
68760f97da LibreELEC-settings: update to bfec474 2021-05-20 21:29:19 +02:00
CvH
f9d2c335b6 Merge pull request #5381 from HiassofT/le10-addons3
kodi-binary-addons: update to latest versions
2021-05-19 20:21:42 +02:00
Matthias Reichl
adbd61821b kodi-binary-addons: update to latest versions
Signed-off-by: Matthias Reichl <hias@horus.com>
2021-05-19 20:10:43 +02:00
heitbaum
111da88831 samba: update to 4.13.9
update 4.13.8 (2021-04-29) to 4.13.9 (2021-05-11)
release notes: https://www.samba.org/samba/history/samba-4.13.9.html

This is the latest stable release of the Samba 4.13 release series.

Changes since 4.13.8
--------------------

o  Jeremy Allison <jra@samba.org>
   * BUG 14696: s3: smbd: SMB1 SMBsplwr doesn't send a reply packet on success.

o  Andrew Bartlett <abartlet@samba.org>
   * BUG 14689: Add documentation for dsdb_group_audit and dsdb_group_json_audit
     to "log level", synchronise "log level" in smb.conf with the code.

o  Ralph Boehme <slow@samba.org>
   * BUG 14672: Fix smbd panic when two clients open same file.
   * BUG 14675: Fix memory leak in the RPC server.
   * BUG 14679: s3: smbd: Fix deferred renames.

o  Samuel Cabrero <scabrero@samba.org>
   * BUG 14675: s3-iremotewinspool: Set the per-request memory context.

o  Volker Lendecke <vl@samba.org>
   * BUG 14675: rpc_server3: Fix a memleak for internal pipes.

o  Stefan Metzmacher <metze@samba.org>
   * BUG 11899: third_party: Update socket_wrapper to version 1.3.2.
   * BUG 14640: third_party: Update socket_wrapper to version 1.3.3.

o  Christof Schmitt <cs@samba.org>
   * BUG 14663: idmap_rfc2307 and idmap_nss return wrong mapping for uid/gid
     conflict.

o  Martin Schwenke <martin@meltin.net
   * BUG 14288: Fix the build on OmniOS.
2021-05-13 09:55:14 +00:00
92 changed files with 5698 additions and 765 deletions

View File

@@ -1,7 +1,7 @@
### Questions about LibreELEC? ### Questions about LibreELEC?
To get your questions answered, please ask in the LibreELEC [Forum], on IRC: To get your questions answered, please ask in the LibreELEC [Forum], on IRC:
\#libreelec on freenode.net. \#libreelec on Libera.Chat.
Do not open an issue. Do not open an issue.

View File

@@ -4,7 +4,7 @@ LibreELEC is a 'Just enough OS' Linux distribution for the award-winning [Kodi](
**Issues & Support** **Issues & Support**
Please ask questions in the [LibreELEC forum: Help & Support](https://forum.libreelec.tv/forum-3.html) or ask a member of project staff in the #libreelec IRC channel on Freenode. Please report bugs via [GitHub Issues](https://github.com/LibreELEC/LibreELEC.tv/issues). Please ask questions in the [LibreELEC forum: Help & Support](https://forum.libreelec.tv/forum-3.html) or ask a member of project staff in the #libreelec IRC channel on Libera.Chat. Please report bugs via [GitHub Issues](https://github.com/LibreELEC/LibreELEC.tv/issues).
**Donations** **Donations**

View File

@@ -763,8 +763,8 @@ check_arch() {
linux_config_dir="${PROJECT_DIR}/${PROJECT}/linux" linux_config_dir="${PROJECT_DIR}/${PROJECT}/linux"
fi fi
if [ ! -e "$linux_config_dir/linux.${TARGET_PATCH_ARCH:-$TARGET_ARCH}.conf" ] && if [ ! -e "$linux_config_dir/linux.${TARGET_KERNEL_PATCH_ARCH:-$TARGET_ARCH}.conf" ] &&
! ls "$linux_config_dir/"*/linux.${TARGET_PATCH_ARCH:-$TARGET_ARCH}.conf &>/dev/null; then ! ls "$linux_config_dir/"*/linux.${TARGET_KERNEL_PATCH_ARCH:-$TARGET_ARCH}.conf &>/dev/null; then
arch_err_msg="\n $dashes$dashes$dashes" arch_err_msg="\n $dashes$dashes$dashes"
arch_err_msg="${arch_err_msg}\n ERROR: Architecture not found, use a valid Architecture" arch_err_msg="${arch_err_msg}\n ERROR: Architecture not found, use a valid Architecture"
arch_err_msg="${arch_err_msg}\n for your project or create a new config" arch_err_msg="${arch_err_msg}\n for your project or create a new config"
@@ -1246,7 +1246,7 @@ kernel_config_path() {
pkg_linux_version="$(get_pkg_version linux)" pkg_linux_version="$(get_pkg_version linux)"
pkg_linux_dir="$(get_pkg_directory linux)" pkg_linux_dir="$(get_pkg_directory linux)"
config_name="linux.${TARGET_PATCH_ARCH:-$TARGET_ARCH}.conf" config_name="linux.${TARGET_KERNEL_PATCH_ARCH:-$TARGET_ARCH}.conf"
for cfg in $PROJECT_DIR/$PROJECT/devices/$DEVICE/linux/$pkg_linux_version/$config_name \ for cfg in $PROJECT_DIR/$PROJECT/devices/$DEVICE/linux/$pkg_linux_version/$config_name \
$PROJECT_DIR/$PROJECT/devices/$DEVICE/linux/$LINUX/$config_name \ $PROJECT_DIR/$PROJECT/devices/$DEVICE/linux/$LINUX/$config_name \
@@ -1268,7 +1268,7 @@ kernel_config_path() {
kernel_initramfs_confs() { kernel_initramfs_confs() {
local config_name cfg confs local config_name cfg confs
config_name="initramfs.${TARGET_PATCH_ARCH:-$TARGET_ARCH}.conf" config_name="initramfs.${TARGET_KERNEL_PATCH_ARCH:-$TARGET_ARCH}.conf"
confs="$(get_pkg_directory initramfs)/config/initramfs.conf" confs="$(get_pkg_directory initramfs)/config/initramfs.conf"
for cfg in $PROJECT_DIR/$PROJECT/packages/initramfs/config/$config_name \ for cfg in $PROJECT_DIR/$PROJECT/packages/initramfs/config/$config_name \

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libmediainfo" PKG_NAME="libmediainfo"
PKG_VERSION="20.09" PKG_VERSION="21.03"
PKG_SHA256="d07ce857330a9f9eedc4e5748f8022af1e9540e88a732d4e45c818c8ec4dd196" PKG_SHA256="56b7e9abf80cba48032165cd7a46fd8d43dd63e3af35765f66c3f134caaca4ca"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://mediaarea.net/en/MediaInfo/Download/Source" PKG_SITE="https://mediaarea.net/en/MediaInfo/Download/Source"
PKG_URL="https://mediaarea.net/download/source/libmediainfo/${PKG_VERSION}/libmediainfo_${PKG_VERSION}.tar.xz" PKG_URL="https://mediaarea.net/download/source/libmediainfo/${PKG_VERSION}/libmediainfo_${PKG_VERSION}.tar.xz"

View File

@@ -2,11 +2,11 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libzen" PKG_NAME="libzen"
PKG_VERSION="0.4.38" PKG_VERSION="0.4.39"
PKG_SHA256="b8825b3190b3a31d8d362547cfa26a3c10e8c063df2d87e4a05758d6b756c8ab" PKG_SHA256="cded5d7774294e7d5b42768ceb285243709b6e99eec6e980a3cf7f0890dbb622"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://mediaarea.net/en/MediaInfo/" PKG_SITE="https://mediaarea.net/en/MediaInfo/"
PKG_URL="http://mediaarea.net/download/source/libzen/${PKG_VERSION}/libzen_${PKG_VERSION}.tar.xz" PKG_URL="https://mediaarea.net/download/source/libzen/${PKG_VERSION}/libzen_${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain" PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="MediaInfo is a convenient unified display of the most relevant technical and tag data for video and audio files" PKG_LONGDESC="MediaInfo is a convenient unified display of the most relevant technical and tag data for video and audio files"
PKG_TOOLCHAIN="manual" PKG_TOOLCHAIN="manual"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="mediainfo" PKG_NAME="mediainfo"
PKG_VERSION="20.09" PKG_VERSION="21.03"
PKG_SHA256="39327ef83caa38a96114d1b90654012b9ef727538fe82c37dd67aea2cf4f0f67" PKG_SHA256="de50ca0b2c607b8999d3c9e542d27c97030a59f31859b612335315be6850021e"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://mediaarea.net/en/MediaInfo/Download/Source" PKG_SITE="https://mediaarea.net/en/MediaInfo/Download/Source"
PKG_URL="https://mediaarea.net/download/source/mediainfo/${PKG_VERSION}/mediainfo_${PKG_VERSION}.tar.xz" PKG_URL="https://mediaarea.net/download/source/mediainfo/${PKG_VERSION}/mediainfo_${PKG_VERSION}.tar.xz"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="mpg123" PKG_NAME="mpg123"
PKG_VERSION="1.26.4" PKG_VERSION="1.27.2"
PKG_SHA256="081991540df7a666b29049ad870f293cfa28863b36488ab4d58ceaa7b5846454" PKG_SHA256="52f6ceb962c05db0c043bb27acf5a721381f5f356ac4610e5221f50293891b04"
PKG_LICENSE="LGPLv2" PKG_LICENSE="LGPLv2"
PKG_SITE="http://www.mpg123.org/" PKG_SITE="http://www.mpg123.org/"
PKG_URL="http://downloads.sourceforge.net/sourceforge/mpg123/mpg123-${PKG_VERSION}.tar.bz2" PKG_URL="http://downloads.sourceforge.net/sourceforge/mpg123/mpg123-${PKG_VERSION}.tar.bz2"

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="mpv-drmprime" PKG_NAME="mpv-drmprime"
PKG_VERSION="0.33.0" PKG_VERSION="0.33.1"
PKG_SHA256="f1b9baf5dc2eeaf376597c28a6281facf6ed98ff3d567e3955c95bf2459520b4" PKG_SHA256="100a116b9f23bdcda3a596e9f26be3a69f166a4f1d00910d1789b6571c46f3a9"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://mpv.io/" PKG_SITE="https://mpv.io/"
PKG_URL="https://github.com/mpv-player/mpv/archive/v${PKG_VERSION}.tar.gz" PKG_URL="https://github.com/mpv-player/mpv/archive/v${PKG_VERSION}.tar.gz"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="squeezelite" PKG_NAME="squeezelite"
PKG_VERSION="78fef68d39704753cb7101231a8d3bc29f2aa2c9" # 2021-01-03 # 1.9.8.1315 PKG_VERSION="556de5689d27b4440adbfeb3c3012da02dbf438e" # 2021-05-14 # 1.9.9.1386
PKG_SHA256="e4dce15d6f8968150d9535cb4e95017b4097d2282a1da1c87b3c7651dbca40c3" PKG_SHA256="8de5348b0ee23f4a24371dad589c887d083194e24a0e526585417edcd34a4d86"
PKG_LICENSE="GPLv3" PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/ralph-irving/squeezelite" PKG_SITE="https://github.com/ralph-irving/squeezelite"
PKG_URL="https://github.com/ralph-irving/squeezelite/archive/${PKG_VERSION}.tar.gz" PKG_URL="https://github.com/ralph-irving/squeezelite/archive/${PKG_VERSION}.tar.gz"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="irssi" PKG_NAME="irssi"
PKG_VERSION="1.2.2" PKG_VERSION="1.2.3"
PKG_SHA256="6727060c918568ba2ff4295ad736128dba0b995d7b20491bca11f593bd857578" PKG_SHA256="a647bfefed14d2221fa77b6edac594934dc672c4a560417b1abcbbc6b88d769f"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://www.irssi.org/" PKG_SITE="http://www.irssi.org/"
PKG_URL="https://github.com/irssi/irssi/releases/download/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.xz" PKG_URL="https://github.com/irssi/irssi/releases/download/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.xz"

View File

@@ -1,38 +0,0 @@
From a0544571a80196e5b7705f56e6e2cbcdf7b4d80e Mon Sep 17 00:00:00 2001
From: ailin-nemui <ailin-nemui@users.noreply.github.com>
Date: Thu, 23 Apr 2020 21:45:15 +0200
Subject: [PATCH] manually handle NUL unicode in g_utf8_get_next_char_validated
A change in GLib 2.63 broke some assumptions in Irssi that the null-byte
NUL / U+0000 is a valid Unicode character. This would occur when the
user types Ctrl+Space. As a result, the input loop never manages to
process the NUL-byte (and any other user input that follows, ever).
This patch adds a manual check that properly advances the input loop if
GLib returns -2 (incomplete character) despite the length being positive
and a NUL is in first position.
Fixes #1180
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/967
https://gitlab.gnome.org/GNOME/glib/-/issues/2093
---
src/fe-text/term-terminfo.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/fe-text/term-terminfo.c b/src/fe-text/term-terminfo.c
index 5235f72d2..78496a64f 100644
--- a/src/fe-text/term-terminfo.c
+++ b/src/fe-text/term-terminfo.c
@@ -672,7 +672,11 @@ void term_stop(void)
static int input_utf8(const unsigned char *buffer, int size, unichar *result)
{
- unichar c = g_utf8_get_char_validated((char *)buffer, size);
+ unichar c = g_utf8_get_char_validated((char *) buffer, size);
+
+ /* GLib >= 2.63 do not accept Unicode NUL anymore */
+ if (c == (unichar) -2 && *buffer == 0 && size > 0)
+ c = 0;
switch (c) {
case (unichar)-1:

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="lftp" PKG_NAME="lftp"
PKG_VERSION="4.8.4" PKG_VERSION="4.9.2"
PKG_SHA256="4ebc271e9e5cea84a683375a0f7e91086e5dac90c5d51bb3f169f75386107a62" PKG_SHA256="c517c4f4f9c39bd415d7313088a2b1e313b2d386867fe40b7692b83a20f0670d"
PKG_LICENSE="GPLv3" PKG_LICENSE="GPLv3"
PKG_SITE="http://lftp.yar.ru/" PKG_SITE="http://lftp.yar.ru/"
PKG_URL="http://lftp.yar.ru/ftp/${PKG_NAME}-${PKG_VERSION}.tar.xz" PKG_URL="http://lftp.yar.ru/ftp/${PKG_NAME}-${PKG_VERSION}.tar.xz"

View File

@@ -1,12 +1,12 @@
diff -Naur a/configure b/configure diff -Naur a/configure b/configure
--- a/configure 2016-11-16 05:11:30.000000000 -0800 --- a/configure 2016-11-16 05:11:30.000000000 -0800
+++ b/configure 2016-11-19 11:21:25.384243165 -0800 +++ b/configure 2021-04-17 14:18:59.000000000 +0000
@@ -48854,7 +48854,7 @@ @@ -55428,7 +55428,7 @@
readline_include_dir="$readline_include_dir/readline"
fi fi
readline_ld_flags="-L$readline_prefix/lib" readline_ld_flags="-L$readline_prefix/lib"
- readline_lib_flags="-lreadline" if test -z "$readline_lib_flags"; then
+ readline_lib_flags="-lreadline -lncurses" - readline_lib_flags="-lreadline"
+ readline_lib_flags="-lreadline -lncurses"
fi
run_readline_test="yes" run_readline_test="yes"
elif test "$readline_requested" = "yes"; then elif test "$readline_requested" = "yes"; then
if test -n "$readline_include_dir" -a -n "$readline_lib_flags"; then

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="rar2fs" PKG_NAME="rar2fs"
PKG_VERSION="1.29.3" PKG_VERSION="1.29.5"
PKG_SHA256="e813ad62cccdc6081f00c081eb09b435e6ed58422a8f83e222e1aa9d7a0f0866" PKG_SHA256="a56e9f2fd3d5037087b8405cff85ce7ffb74a904176f33f55b7bd15117cff2be"
PKG_LICENSE="GPL3" PKG_LICENSE="GPL3"
PKG_SITE="https://github.com/hasse69/rar2fs" PKG_SITE="https://github.com/hasse69/rar2fs"
PKG_URL="https://github.com/hasse69/rar2fs/releases/download/v${PKG_VERSION}/rar2fs-${PKG_VERSION}.tar.gz" PKG_URL="https://github.com/hasse69/rar2fs/releases/download/v${PKG_VERSION}/rar2fs-${PKG_VERSION}.tar.gz"

View File

@@ -0,0 +1,25 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="bottom"
PKG_VERSION="0.6.1"
PKG_SHA256="aa9c26e7e8e1300e9827c098317efa28cc28ae8acabfdb12f14e4ba65f42a57c"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/ClementTsang/bottom"
PKG_URL="https://github.com/ClementTsang/bottom/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain rust"
PKG_LONGDESC="A TUI system monitor written in Rust."
PKG_TOOLCHAIN="manual"
make_target() {
. "$(get_build_dir rust)/cargo/env"
cargo build \
--release \
--locked \
--all-features
}
makeinstall_target() {
mkdir -p ${INSTALL}
cp ${PKG_BUILD}/.${TARGET_NAME}/*/release/btm ${INSTALL}
}

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="oniguruma" PKG_NAME="oniguruma"
PKG_VERSION="6.9.6" PKG_VERSION="6.9.7.1"
PKG_SHA256="bd0faeb887f748193282848d01ec2dad8943b5dfcb8dc03ed52dcc963549e819" PKG_SHA256="6444204b9c34e6eb6c0b23021ce89a0370dad2b2f5c00cd44c342753e0b204d9"
PKG_LICENSE="BSD" PKG_LICENSE="BSD"
PKG_SITE="https://github.com/kkos/oniguruma" PKG_SITE="https://github.com/kkos/oniguruma"
PKG_URL="https://github.com/kkos/oniguruma/releases/download/v${PKG_VERSION}/onig-${PKG_VERSION}.tar.gz" PKG_URL="https://github.com/kkos/oniguruma/releases/download/v${PKG_VERSION}/onig-${PKG_VERSION}.tar.gz"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="file" PKG_NAME="file"
PKG_VERSION="5.39" PKG_VERSION="5.40"
PKG_SHA256="6c136f512bf4851b06de4d829ba4df8cbffc1ab1ecfbc1a4ded88a7c4f8c4180" PKG_SHA256="35488116b068042320374f60e505e37c2c61b899402f9968e070b63dc39286d4"
PKG_LICENSE="BSD" PKG_LICENSE="BSD"
PKG_SITE="http://www.darwinsys.com/file/" PKG_SITE="http://www.darwinsys.com/file/"
PKG_URL="https://github.com/file/file/archive/FILE${PKG_VERSION/./_}.tar.gz" PKG_URL="https://github.com/file/file/archive/FILE${PKG_VERSION/./_}.tar.gz"

View File

@@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="mc" PKG_NAME="mc"
PKG_VERSION="4.8.25" PKG_VERSION="4.8.26"
PKG_SHA256="ffc19617f20ebb23330acd3998b7fd559a042d172fa55746d53d246697b2548a" PKG_SHA256="c6deadc50595f2d9a22dc6c299a9f28b393e358346ebf6ca444a8469dc166c27"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://www.midnight-commander.org" PKG_SITE="http://www.midnight-commander.org"
PKG_URL="http://ftp.midnight-commander.org/mc-${PKG_VERSION}.tar.xz" PKG_URL="http://ftp.midnight-commander.org/mc-${PKG_VERSION}.tar.xz"

View File

@@ -2,10 +2,10 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="mtpfs" PKG_NAME="mtpfs"
PKG_VERSION="fd3864dd6f0e8183fa2598d4cf890401d3a1e09a" PKG_VERSION="d228a21b07062170e05fb71a7a7bf4a74ad559e1"
PKG_SHA256="f004136a82452d13362581277eb2496033aa13a6c3f35d0501327248f3120456" PKG_SHA256="4b89e014201a01634022a6348874361f5ca729e455b8c1f9990fa10647590b52"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://www.adebenham.com/mtpfs/" PKG_SITE="https://www.adebenham.com/mtpfs/"
PKG_URL="https://github.com/cjd/mtpfs/archive/${PKG_VERSION}.tar.gz" PKG_URL="https://github.com/cjd/mtpfs/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain fuse glib libmtp" PKG_DEPENDS_TARGET="toolchain fuse glib libmtp"
PKG_LONGDESC="MTPfs is a FUSE filesystem that supports reading and writing from any MTP device." PKG_LONGDESC="MTPfs is a FUSE filesystem that supports reading and writing from any MTP device."

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="stress-ng" PKG_NAME="stress-ng"
PKG_VERSION="0.12.02" PKG_VERSION="0.12.09"
PKG_SHA256="f847be115f60d3ad7d37c806fd1bfb1412aa3c631fca581d6dc233322f50d6a5" PKG_SHA256="cffac091082c7adbfec649be3c66941c3d622f8b96795656bcce2e20d669cfeb"
PKG_LICENSE="GPLv2" PKG_LICENSE="GPLv2"
PKG_SITE="https://kernel.ubuntu.com/~cking/stress-ng/" PKG_SITE="https://kernel.ubuntu.com/~cking/stress-ng/"
PKG_URL="https://kernel.ubuntu.com/~cking/tarballs/stress-ng/stress-ng-${PKG_VERSION}.tar.xz" PKG_URL="https://kernel.ubuntu.com/~cking/tarballs/stress-ng/stress-ng-${PKG_VERSION}.tar.xz"

View File

@@ -1,13 +1,11 @@
diff --git a/Makefile b/Makefile --- a/Makefile 2021-05-09 11:37:35.000000000 +0000
index 15c9e6cc828c..3b68824ce727 100644 +++ b/Makefile 2021-05-09 11:37:43.000000000 +0000
--- a/Makefile @@ -390,7 +390,7 @@
+++ b/Makefile $(V)sync
@@ -376,7 +376,7 @@ stress-ng: $(OBJS)
makeconfig: config.h:
@if [ ! -e config ]; then \ - +$(MAKE) -f Makefile.config STATIC=$(STATIC) -j
- STATIC=$(STATIC) $(MAKE) -f Makefile.config; \ + +$(MAKE) -f Makefile.config STATIC=$(STATIC) -j1
+ STATIC=$(STATIC) $(MAKE) -j1 -f Makefile.config; \
fi
# .PHONY:
makeconfig: config.h

View File

@@ -2,11 +2,11 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="unrar" PKG_NAME="unrar"
PKG_VERSION="6.0.3" PKG_VERSION="6.0.6"
PKG_SHA256="1def53392d879f9e304aa6eac1339cf41f9bce1111a2f5845071665738c4aca0" PKG_SHA256="011ef7290d3394a62bb5bfced914cd510a7eea7255cf69417f9c952bb6056588"
PKG_LICENSE="free" PKG_LICENSE="free"
PKG_SITE="https://www.rarlab.com/rar_add.htm" PKG_SITE="https://www.rarlab.com/rar_add.htm"
PKG_URL="http://www.rarlab.com/rar/unrarsrc-${PKG_VERSION}.tar.gz" PKG_URL="https://www.rarlab.com/rar/unrarsrc-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain" PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="unrar extract, test and view RAR archives" PKG_LONGDESC="unrar extract, test and view RAR archives"
PKG_TOOLCHAIN="manual" PKG_TOOLCHAIN="manual"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="vim" PKG_NAME="vim"
PKG_VERSION="8.2.2293" PKG_VERSION="8.2.2879"
PKG_SHA256="20f9bc8b170fd278a6f319fde0edf5698f2707a395ebaafa9b1de9327f5a0775" PKG_SHA256="b14d0cab60e1f0562e269a7ff80476b73fcf8ee357cd90d2839e0210bfb8d001"
PKG_LICENSE="VIM" PKG_LICENSE="VIM"
PKG_SITE="http://www.vim.org/" PKG_SITE="http://www.vim.org/"
PKG_URL="https://github.com/vim/vim/archive/v${PKG_VERSION}.tar.gz" PKG_URL="https://github.com/vim/vim/archive/v${PKG_VERSION}.tar.gz"

View File

@@ -1,3 +1,11 @@
115
- libmediainfo: update to 21.03
- libzen: update to 0.4.39
- mediainfo: update to 21.03
- mpg123: update to 1.27.2
- mpv-drmprime: update to 0.33.1
- squeezelite: update to 2021-05-13 (1.9.9.1386)
114 114
- squeezelite: update to 2021-01-03 (1.9.8.1315) - squeezelite: update to 2021-01-03 (1.9.8.1315)

View File

@@ -3,7 +3,7 @@
PKG_NAME="multimedia-tools" PKG_NAME="multimedia-tools"
PKG_VERSION="1.0" PKG_VERSION="1.0"
PKG_REV="114" PKG_REV="115"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://libreelec.tv" PKG_SITE="https://libreelec.tv"

View File

@@ -1,3 +1,8 @@
109
- irssi: update to 1.2.3
- lftp: update to 4.9.2
- rar2fs: update to 1.29.5
108 108
- bwm-ng: update to 0.6.3 - bwm-ng: update to 0.6.3
- iftop: update to 2018-10-03 - iftop: update to 2018-10-03

View File

@@ -3,7 +3,7 @@
PKG_NAME="network-tools" PKG_NAME="network-tools"
PKG_VERSION="1.0" PKG_VERSION="1.0"
PKG_REV="108" PKG_REV="109"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://libreelec.tv" PKG_SITE="https://libreelec.tv"

View File

@@ -1,3 +1,14 @@
122
- Added bottom (btm) (successor to ytop) - all arch except Generic
- Update file to 5.40
- Update mc to 4.8.26
- Update mtpfs to 2021-05-14
- Update oniguruma to 6.9.7.1
- Update stress-ng to 0.12.09
- Update unrar to 6.0.6
- Update vim to 8.2.2879
121 121
- remove strace - remove strace

View File

@@ -3,7 +3,7 @@
PKG_NAME="system-tools" PKG_NAME="system-tools"
PKG_VERSION="1.0" PKG_VERSION="1.0"
PKG_REV="121" PKG_REV="122"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://libreelec.tv" PKG_SITE="https://libreelec.tv"
@@ -11,7 +11,7 @@ PKG_URL=""
PKG_DEPENDS_TARGET="toolchain" PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="virtual" PKG_SECTION="virtual"
PKG_SHORTDESC="A bundle of system tools and programs" PKG_SHORTDESC="A bundle of system tools and programs"
PKG_LONGDESC="This bundle currently includes autossh, diffutils, dstat, dtach, efibootmgr, encfs, evtest, fdupes, file, getscancodes, hddtemp, hd-idle, hid_mapper, htop, i2c-tools, inotify-tools, jq, lm_sensors, lshw, mc, mtpfs, nmon, p7zip, patch, pv, screen, smartmontools, stress-ng, unrar, usb-modeswitch and vim." PKG_LONGDESC="This bundle currently includes autossh, bottom, diffutils, dstat, dtach, efibootmgr, encfs, evtest, fdupes, file, getscancodes, hddtemp, hd-idle, hid_mapper, htop, i2c-tools, inotify-tools, jq, lm_sensors, lshw, mc, mtpfs, nmon, p7zip, patch, pv, screen, smartmontools, stress-ng, unrar, usb-modeswitch and vim."
PKG_IS_ADDON="yes" PKG_IS_ADDON="yes"
PKG_ADDON_NAME="System Tools" PKG_ADDON_NAME="System Tools"
@@ -51,6 +51,8 @@ PKG_DEPENDS_TARGET="toolchain \
if [ "${TARGET_ARCH}" = "x86_64" ]; then if [ "${TARGET_ARCH}" = "x86_64" ]; then
PKG_DEPENDS_TARGET+=" efibootmgr st" PKG_DEPENDS_TARGET+=" efibootmgr st"
else
PKG_DEPENDS_TARGET+=" bottom"
fi fi
addon() { addon() {
@@ -59,6 +61,9 @@ addon() {
# autossh # autossh
cp -P $(get_install_dir autossh)/usr/bin/autossh ${ADDON_BUILD}/${PKG_ADDON_ID}/bin cp -P $(get_install_dir autossh)/usr/bin/autossh ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
# bottom
cp -P $(get_install_dir bottom)/btm ${ADDON_BUILD}/${PKG_ADDON_ID}/bin 2>/dev/null || :
# diffutils # diffutils
cp -P $(get_install_dir diffutils)/usr/bin/{cmp,diff,diff3,sdiff} ${ADDON_BUILD}/${PKG_ADDON_ID}/bin cp -P $(get_install_dir diffutils)/usr/bin/{cmp,diff,diff3,sdiff} ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
@@ -112,7 +117,7 @@ addon() {
# jq # jq
cp -P $(get_install_dir jq)/usr/bin/jq ${ADDON_BUILD}/${PKG_ADDON_ID}/bin cp -P $(get_install_dir jq)/usr/bin/jq ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
cp -P $(get_install_dir oniguruma)/usr/lib/{libonig.so,libonig.so.5,libonig.so.5.1.0} ${ADDON_BUILD}/${PKG_ADDON_ID}/lib cp -P $(get_install_dir oniguruma)/usr/lib/{libonig.so,libonig.so.5,libonig.so.5.2.0} ${ADDON_BUILD}/${PKG_ADDON_ID}/lib
# lm_sensors # lm_sensors
cp -P $(get_install_dir lm_sensors)/usr/bin/sensors ${ADDON_BUILD}/${PKG_ADDON_ID}/bin 2>/dev/null || : cp -P $(get_install_dir lm_sensors)/usr/bin/sensors ${ADDON_BUILD}/${PKG_ADDON_ID}/bin 2>/dev/null || :

View File

@@ -0,0 +1,348 @@
From 6676e967dba405ca31d57b63e096becd13d4a200 Mon Sep 17 00:00:00 2001
From: Rahul Chaudhry <rahulchaudhry@chromium.org>
Date: Thu, 15 Mar 2018 14:30:17 -0700
Subject: [PATCH 4/8] sys-libs/glibc: add support for SHT_RELR sections.
This patch adds experimental support for SHT_RELR sections, proposed
here: https://groups.google.com/forum/#!topic/generic-abi/bX460iggiKg
SHT_RELR sections are supported for arm, aarch64, and x86_64 targets.
To enable them, pass '--experimental-use-relr' flag to gold.
Definitions for the new ELF section type and dynamic array tags, as well
as the encoding used in the new section are all under discussion and are
subject to change. We plan to send the patch upstream after the gABI has
been updated to include the new definitions.
[Adrian: forward-ported to glibc 2.32]
---
elf/do-rel.h | 41 ++++++++++++++++++++++++++++++++++--
elf/dynamic-link.h | 15 +++++++++++++
elf/elf.h | 15 +++++++++++--
elf/get-dynamic-info.h | 7 ++++++
sysdeps/aarch64/dl-machine.h | 10 +++++++++
sysdeps/arm/dl-machine.h | 10 +++++++++
sysdeps/i386/dl-machine.h | 10 +++++++++
sysdeps/x86_64/dl-machine.h | 10 +++++++++
8 files changed, 114 insertions(+), 4 deletions(-)
diff --git a/elf/do-rel.h b/elf/do-rel.h
index 1d0a1f2c5d..25babef6e1 100644
--- a/elf/do-rel.h
+++ b/elf/do-rel.h
@@ -26,6 +26,12 @@
# define elf_machine_rel_relative elf_machine_rela_relative
#endif
+#ifdef DO_RELR
+# define elf_dynamic_do_Rel elf_dynamic_do_Relr
+# define Rel Relr
+# define elf_machine_rel_relative elf_machine_relr_relative
+#endif
+
#ifndef DO_ELF_MACHINE_REL_RELATIVE
# define DO_ELF_MACHINE_REL_RELATIVE(map, l_addr, relative) \
elf_machine_rel_relative (l_addr, relative, \
@@ -46,12 +52,12 @@ elf_dynamic_do_Rel (struct link_map *map,
const ElfW(Rel) *r = (const void *) reladdr;
const ElfW(Rel) *end = (const void *) (reladdr + relsize);
ElfW(Addr) l_addr = map->l_addr;
-# if defined ELF_MACHINE_IRELATIVE && !defined RTLD_BOOTSTRAP
+# if defined ELF_MACHINE_IRELATIVE && !defined RTLD_BOOTSTRAP && !defined DO_RELR
const ElfW(Rel) *r2 = NULL;
const ElfW(Rel) *end2 = NULL;
# endif
-#if (!defined DO_RELA || !defined ELF_MACHINE_PLT_REL) && !defined RTLD_BOOTSTRAP
+#if (!defined DO_RELA || !defined ELF_MACHINE_PLT_REL) && !defined RTLD_BOOTSTRAP && !defined DO_RELR
/* We never bind lazily during ld.so bootstrap. Unfortunately gcc is
not clever enough to see through all the function calls to realize
that. */
@@ -80,8 +86,10 @@ elf_dynamic_do_Rel (struct link_map *map,
else
#endif
{
+# if !defined DO_RELR
const ElfW(Sym) *const symtab =
(const void *) D_PTR (map, l_info[DT_SYMTAB]);
+# endif
const ElfW(Rel) *relative = r;
r += nrelative;
@@ -108,9 +116,36 @@ elf_dynamic_do_Rel (struct link_map *map,
if (l_addr != 0 || ! map->l_info[VALIDX(DT_GNU_PRELINKED)])
# endif
#endif
+
+#ifdef DO_RELR
+ {
+ ElfW(Addr) base = 0;
+ for (; relative < end; ++relative)
+ {
+ ElfW(Relr) entry = *relative;
+ if ((entry&1) == 0)
+ {
+ elf_machine_relr_relative (l_addr, (void *) (l_addr + entry));
+ base = entry + sizeof(ElfW(Addr));
+ continue;
+ }
+ ElfW(Addr) offset = base;
+ while (entry != 0)
+ {
+ entry >>= 1;
+ if ((entry&1) != 0)
+ elf_machine_relr_relative (l_addr, (void *) (l_addr + offset));
+ offset += sizeof(ElfW(Addr));
+ }
+ base += (8*sizeof(ElfW(Addr)) - 1) * sizeof(ElfW(Addr));
+ }
+ }
+#else
for (; relative < r; ++relative)
DO_ELF_MACHINE_REL_RELATIVE (map, l_addr, relative);
+#endif
+#if !defined DO_RELR
#ifdef RTLD_BOOTSTRAP
/* The dynamic linker always uses versioning. */
assert (map->l_info[VERSYMIDX (DT_VERSYM)] != NULL);
@@ -179,6 +214,7 @@ elf_dynamic_do_Rel (struct link_map *map,
skip_ifunc);
# endif
}
+#endif
#endif
}
}
@@ -189,3 +225,4 @@ elf_dynamic_do_Rel (struct link_map *map,
#undef elf_machine_rel_relative
#undef DO_ELF_MACHINE_REL_RELATIVE
#undef DO_RELA
+#undef DO_RELR
diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h
index 6727233e1a..4345df9949 100644
--- a/elf/dynamic-link.h
+++ b/elf/dynamic-link.h
@@ -76,6 +76,11 @@ auto inline void __attribute__((always_inline))
elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
void *const reloc_addr);
# endif
+# if ! ELF_MACHINE_NO_RELR
+auto inline void __attribute__((always_inline))
+elf_machine_relr_relative (ElfW(Addr) l_addr,
+ void *const reloc_addr);
+# endif
# if ELF_MACHINE_NO_RELA || defined ELF_MACHINE_PLT_REL
auto inline void __attribute__((always_inline))
elf_machine_lazy_rel (struct link_map *map,
@@ -190,6 +195,15 @@ elf_machine_lazy_rel (struct link_map *map,
# define ELF_DYNAMIC_DO_RELA(map, lazy, skip_ifunc) /* Nothing to do. */
# endif
+# if ! ELF_MACHINE_NO_RELR
+# define DO_RELR
+# include "do-rel.h"
+# define ELF_DYNAMIC_DO_RELR(map, lazy, skip_ifunc) \
+ _ELF_DYNAMIC_DO_RELOC (RELR, Relr, map, lazy, skip_ifunc, 1)
+# else
+# define ELF_DYNAMIC_DO_RELR(map, lazy, skip_ifunc) /* Nothing to do. */
+# endif
+
/* This can't just be an inline function because GCC is too dumb
to inline functions containing inlines themselves. */
# define ELF_DYNAMIC_RELOCATE(map, lazy, consider_profile, skip_ifunc) \
@@ -198,6 +212,7 @@ elf_machine_lazy_rel (struct link_map *map,
(consider_profile)); \
ELF_DYNAMIC_DO_REL ((map), edr_lazy, skip_ifunc); \
ELF_DYNAMIC_DO_RELA ((map), edr_lazy, skip_ifunc); \
+ ELF_DYNAMIC_DO_RELR ((map), edr_lazy, skip_ifunc); \
} while (0)
#endif
diff --git a/elf/elf.h b/elf/elf.h
index 197b557d15..5b6da8e8ae 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -446,7 +446,8 @@ typedef struct
#define SHT_PREINIT_ARRAY 16 /* Array of pre-constructors */
#define SHT_GROUP 17 /* Section group */
#define SHT_SYMTAB_SHNDX 18 /* Extended section indeces */
-#define SHT_NUM 19 /* Number of defined types. */
+#define SHT_RELR 19 /* Relative relocation, only offsets */
+#define SHT_NUM 20 /* Number of defined types. */
#define SHT_LOOS 0x60000000 /* Start OS-specific. */
#define SHT_GNU_ATTRIBUTES 0x6ffffff5 /* Object attributes. */
#define SHT_GNU_HASH 0x6ffffff6 /* GNU-style hash table. */
@@ -664,6 +665,12 @@ typedef struct
Elf64_Sxword r_addend; /* Addend */
} Elf64_Rela;
+/* Relocation table entry for relative (in section of type SHT_RELR). */
+
+typedef Elf32_Word Elf32_Relr; /* offset/bitmap for relative relocations */
+
+typedef Elf64_Xword Elf64_Relr; /* offset/bitmap for relative relocations */
+
/* How to extract and insert information held in the r_info field. */
#define ELF32_R_SYM(val) ((val) >> 8)
@@ -885,7 +892,10 @@ typedef struct
#define DT_PREINIT_ARRAY 32 /* Array with addresses of preinit fct*/
#define DT_PREINIT_ARRAYSZ 33 /* size in bytes of DT_PREINIT_ARRAY */
#define DT_SYMTAB_SHNDX 34 /* Address of SYMTAB_SHNDX section */
-#define DT_NUM 35 /* Number used */
+#define DT_RELRSZ 35
+#define DT_RELR 36
+#define DT_RELRENT 37
+#define DT_NUM 38 /* Number used */
#define DT_LOOS 0x6000000d /* Start of OS-specific */
#define DT_HIOS 0x6ffff000 /* End of OS-specific */
#define DT_LOPROC 0x70000000 /* Start of processor-specific */
@@ -937,6 +947,7 @@ typedef struct
GNU extension. */
#define DT_VERSYM 0x6ffffff0
+#define DT_RELRCOUNT 0x6ffffff8
#define DT_RELACOUNT 0x6ffffff9
#define DT_RELCOUNT 0x6ffffffa
diff --git a/elf/get-dynamic-info.h b/elf/get-dynamic-info.h
index 4f6a86ef37..79ff22f0c0 100644
--- a/elf/get-dynamic-info.h
+++ b/elf/get-dynamic-info.h
@@ -108,6 +108,9 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
# if ! ELF_MACHINE_NO_REL
ADJUST_DYN_INFO (DT_REL);
# endif
+# if ! ELF_MACHINE_NO_RELR
+ ADJUST_DYN_INFO (DT_RELR);
+#endif
ADJUST_DYN_INFO (DT_JMPREL);
ADJUST_DYN_INFO (VERSYMIDX (DT_VERSYM));
ADJUST_DYN_INFO (ADDRIDX (DT_GNU_HASH));
@@ -134,6 +137,10 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
if (info[DT_REL] != NULL)
assert (info[DT_RELENT]->d_un.d_val == sizeof (ElfW(Rel)));
#endif
+#if ! ELF_MACHINE_NO_RELR
+ if (info[DT_RELR] != NULL)
+ assert (info[DT_RELRENT]->d_un.d_val == sizeof (ElfW(Relr)));
+# endif
#ifdef RTLD_BOOTSTRAP
/* Only the bind now flags are allowed. */
assert (info[VERSYMIDX (DT_FLAGS_1)] == NULL
diff --git a/sysdeps/aarch64/dl-machine.h b/sysdeps/aarch64/dl-machine.h
index fde7cfd9e2..eaff6dbc6d 100644
--- a/sysdeps/aarch64/dl-machine.h
+++ b/sysdeps/aarch64/dl-machine.h
@@ -198,6 +198,7 @@ _dl_start_user: \n\
/* AArch64 uses RELA not REL */
#define ELF_MACHINE_NO_REL 1
#define ELF_MACHINE_NO_RELA 0
+#define ELF_MACHINE_NO_RELR 0
#define DL_PLATFORM_INIT dl_platform_init ()
@@ -383,6 +384,15 @@ elf_machine_rela_relative (ElfW(Addr) l_addr,
*reloc_addr = l_addr + reloc->r_addend;
}
+inline void
+__attribute__ ((always_inline))
+elf_machine_relr_relative (ElfW(Addr) l_addr,
+ void *const reloc_addr_arg)
+{
+ ElfW(Addr) *const reloc_addr = reloc_addr_arg;
+ *reloc_addr += l_addr;
+}
+
inline void
__attribute__ ((always_inline))
elf_machine_lazy_rel (struct link_map *map,
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
index 90856779b1..c586232c9d 100644
--- a/sysdeps/arm/dl-machine.h
+++ b/sysdeps/arm/dl-machine.h
@@ -296,6 +296,7 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rel *reloc,
Prelinked libraries may use Elf32_Rela though. */
#define ELF_MACHINE_NO_RELA defined RTLD_BOOTSTRAP
#define ELF_MACHINE_NO_REL 0
+#define ELF_MACHINE_NO_RELR 0
/* Names of the architecture-specific auditing callback functions. */
#define ARCH_LA_PLTENTER arm_gnu_pltenter
@@ -637,6 +638,15 @@ elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
*reloc_addr += l_addr;
}
+auto inline void
+__attribute ((always_inline))
+elf_machine_relr_relative (ElfW(Addr) l_addr,
+ void *const reloc_addr_arg)
+{
+ ElfW(Addr) *const reloc_addr = reloc_addr_arg;
+ *reloc_addr += l_addr;
+}
+
# ifndef RTLD_BOOTSTRAP
auto inline void
__attribute__ ((always_inline))
diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h
index 672d8f27ce..7c09608913 100644
--- a/sysdeps/i386/dl-machine.h
+++ b/sysdeps/i386/dl-machine.h
@@ -286,6 +286,7 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rel *reloc,
Prelinked libraries may use Elf32_Rela though. */
#define ELF_MACHINE_NO_RELA defined RTLD_BOOTSTRAP
#define ELF_MACHINE_NO_REL 0
+#define ELF_MACHINE_NO_RELR 0
#ifdef RESOLVE_MAP
@@ -658,6 +659,15 @@ elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
*reloc_addr += l_addr;
}
+auto inline void
+__attribute ((always_inline))
+elf_machine_relr_relative (ElfW(Addr) l_addr,
+ void *const reloc_addr_arg)
+{
+ ElfW(Addr) *const reloc_addr = reloc_addr_arg;
+ *reloc_addr += l_addr;
+}
+
# ifndef RTLD_BOOTSTRAP
auto inline void
__attribute__ ((always_inline))
diff --git a/sysdeps/x86_64/dl-machine.h b/sysdeps/x86_64/dl-machine.h
index 363a749cb2..10a200ba67 100644
--- a/sysdeps/x86_64/dl-machine.h
+++ b/sysdeps/x86_64/dl-machine.h
@@ -214,6 +214,7 @@ _dl_start_user:\n\
/* The x86-64 never uses Elf64_Rel/Elf32_Rel relocations. */
#define ELF_MACHINE_NO_REL 1
#define ELF_MACHINE_NO_RELA 0
+#define ELF_MACHINE_NO_RELR 0
/* We define an initialization function. This is called very early in
_dl_sysdep_start. */
@@ -549,6 +550,15 @@ elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
}
}
+auto inline void
+__attribute ((always_inline))
+elf_machine_relr_relative (ElfW(Addr) l_addr,
+ void *const reloc_addr_arg)
+{
+ ElfW(Addr) *const reloc_addr = reloc_addr_arg;
+ *reloc_addr += l_addr;
+}
+
auto inline void
__attribute ((always_inline))
elf_machine_lazy_rel (struct link_map *map,
--
2.30.2

View File

@@ -0,0 +1,31 @@
From 61b3b546450ae0a70cb4a57fbb0e0fc47b331370 Mon Sep 17 00:00:00 2001
From: Portisch <hugo.portisch@yahoo.de>
Date: Sat, 5 Jun 2021 19:41:25 +0200
Subject: [PATCH] tls: libwidevinecdm.so: since 4.10.2252.0 has TLS with
64-byte alignment Change the max_align to 64U instead 16 to make it possible
to use dlopen again. Tests by changing TLS_TCB_ALIGN directly showed up some
random crashes. Reverence: https://lkml.org/lkml/2020/7/3/754
---
elf/dl-tls.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/elf/dl-tls.c b/elf/dl-tls.c
index 9fa62f5d..d8f2f740 100644
--- a/elf/dl-tls.c
+++ b/elf/dl-tls.c
@@ -213,6 +213,11 @@ void
_dl_determine_tlsoffset (void)
{
size_t max_align = TLS_TCB_ALIGN;
+ /* libwidevinecdm.so: since 4.10.2252.0 has TLS with 64-byte alignment.
+ Since TLS is initialized before audit modules are loaded and slotinfo
+ information is available, this is not taken into account below in
+ the audit case. */
+ max_align = MAX (max_align, 64U);
size_t freetop = 0;
size_t freebottom = 0;
--
2.31.1

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="brcmfmac_sdio-firmware" PKG_NAME="brcmfmac_sdio-firmware"
PKG_VERSION="8fb22389f6d6adae1a53f37d1eb21b51eb9fda99" PKG_VERSION="3ddc301c272f081aa5513c1934f6d530bf80de4a"
PKG_SHA256="9ebfb6354ad3d025b903639d2499431624600e7344365f3a3eb3754affdb1255" PKG_SHA256="a9c76315c6c64d2dea250f53b942ee2bd7d1a289db9f19e0604183e87180f5e8"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://github.com/LibreELEC/brcmfmac_sdio-firmware" PKG_SITE="https://github.com/LibreELEC/brcmfmac_sdio-firmware"
PKG_URL="https://github.com/LibreELEC/brcmfmac_sdio-firmware/archive/${PKG_VERSION}.tar.gz" PKG_URL="https://github.com/LibreELEC/brcmfmac_sdio-firmware/archive/${PKG_VERSION}.tar.gz"

View File

@@ -28,8 +28,8 @@ case "${LINUX}" in
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
;; ;;
*) *)
PKG_VERSION="5.10.35" PKG_VERSION="5.10.41"
PKG_SHA256="ac37a19d45b77a87e58e3aae8b127a6e7eb85ed7467fc8e58474b387bfd498fd" PKG_SHA256="f604759de80767c4f8bdc500eec730dc161bc914a48bd366b748c176701a6771"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v5.x/${PKG_NAME}-${PKG_VERSION}.tar.xz" PKG_URL="https://www.kernel.org/pub/linux/kernel/v5.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_PATCH_DIRS="default" PKG_PATCH_DIRS="default"
;; ;;

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="LibreELEC-settings" PKG_NAME="LibreELEC-settings"
PKG_VERSION="a702c4d4c28e6fac1c2393b6f7661a846ebe9e17" PKG_VERSION="caee341cb6ab69a8e864640c304fd980c9e5139f"
PKG_SHA256="bd4c830b04d4f58adddd3821c13f451810a27eee6476d356a3302855a8f9496b" PKG_SHA256="a2a126481f7ea50ea0584014e9b265cf895977af1c4191628ed7835b92460323"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://libreelec.tv" PKG_SITE="https://libreelec.tv"
PKG_URL="https://github.com/LibreELEC/service.libreelec.settings/archive/${PKG_VERSION}.tar.gz" PKG_URL="https://github.com/LibreELEC/service.libreelec.settings/archive/${PKG_VERSION}.tar.gz"

View File

@@ -3,9 +3,9 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="audiodecoder.2sf" PKG_NAME="audiodecoder.2sf"
PKG_VERSION="3.0.1-Matrix" PKG_VERSION="19.0.0-Matrix"
PKG_SHA256="e771b046a9b4cfe4baaaead777aa6f699a3f5b6691ef9c1eba66bf30c5427ec6" PKG_SHA256="c17dc3bdeab626584b2480d83e91cb5c3b21033fdc72e94dd455aeb47a5dfaee"
PKG_REV="4" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://github.com/xbmc/audiodecoder.2sf" PKG_SITE="https://github.com/xbmc/audiodecoder.2sf"

View File

@@ -3,9 +3,9 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="audiodecoder.asap" PKG_NAME="audiodecoder.asap"
PKG_VERSION="3.0.1-Matrix" PKG_VERSION="19.0.0-Matrix"
PKG_SHA256="9a4d8aa11380443c0bbf0b43ce0b4f5b3097e300daa247c322e6e585394a9d89" PKG_SHA256="bebf8c962c32d2733ff17f09c43b6912668c460fd124309610501d01a856b309"
PKG_REV="4" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://github.com/xbmc/audiodecoder.asap" PKG_SITE="https://github.com/xbmc/audiodecoder.asap"

View File

@@ -3,9 +3,9 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="audiodecoder.dumb" PKG_NAME="audiodecoder.dumb"
PKG_VERSION="3.0.1-Matrix" PKG_VERSION="19.0.0-Matrix"
PKG_SHA256="3a22f8602e7a711d353bbb7d83c7af8bbd04bfd727db4014c6f362f34c11376b" PKG_SHA256="1134080932affdee27e9f3d8350695aed096a2754b77f1a7b12eb595922caad9"
PKG_REV="4" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://github.com/xbmc/audiodecoder.dumb" PKG_SITE="https://github.com/xbmc/audiodecoder.dumb"

View File

@@ -3,9 +3,9 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="audiodecoder.gme" PKG_NAME="audiodecoder.gme"
PKG_VERSION="3.0.0-Matrix" PKG_VERSION="19.0.0-Matrix"
PKG_SHA256="17c34b28dec26f4cbe529d5f5537eec47f74f48f7cec1eb4fd54a067913c2939" PKG_SHA256="36f3c4c88e2c017d7f9649c341704156454008e0bc177e5e457fa7c840a76774"
PKG_REV="4" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://github.com/xbmc/audiodecoder.gme" PKG_SITE="https://github.com/xbmc/audiodecoder.gme"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="inputstream.adaptive" PKG_NAME="inputstream.adaptive"
PKG_VERSION="2.6.14-Matrix" PKG_VERSION="2.6.16-Matrix"
PKG_SHA256="f1756932e8cc602ce66c5db3bc1d44a442c01197c193561ca9248a405bd8bd86" PKG_SHA256="49b9971973a8df16faa2a7a46d81156484a27c98930eae56dad12d466910db13"
PKG_REV="1" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"

View File

@@ -3,9 +3,9 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="peripheral.joystick" PKG_NAME="peripheral.joystick"
PKG_VERSION="1.7.1-Matrix" PKG_VERSION="1.7.2-Matrix"
PKG_SHA256="4dc63c6c5bdad25881eeba800765d97c53b2583addf28e71bbcd67775452ecdb" PKG_SHA256="405acfbcc510f96a48244168362213955357f95cd8b1b92fe1ce483213045bfb"
PKG_REV="4" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://github.com/xbmc/peripheral.joystick" PKG_SITE="https://github.com/xbmc/peripheral.joystick"

View File

@@ -3,8 +3,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="pvr.mediaportal.tvserver" PKG_NAME="pvr.mediaportal.tvserver"
PKG_VERSION="8.1.2-Matrix" PKG_VERSION="8.2.0-Matrix"
PKG_SHA256="cea87ccdceee834c96d6b6887b78213ccf79890fec97436cbef17c57b9cdac15" PKG_SHA256="0109daa45d7b6450954b40d0b09dbef28818c551e9f0fea9943cfd06f0a7ec40"
PKG_REV="1" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"

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="kodi" PKG_NAME="kodi"
PKG_VERSION="19.1-Matrix" PKG_VERSION="f5c60511e64a4d12083ba2347678b2759ff4afee"
PKG_SHA256="195a916a32057e259e6f42b49ba8f07cc6253460018851a52deb058ae938c58c" PKG_SHA256="491d3d66c062447ffc8726214638b345f1ee27177709a167c4895f7cb657af8e"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://www.kodi.tv" PKG_SITE="http://www.kodi.tv"
PKG_URL="https://github.com/xbmc/xbmc/archive/${PKG_VERSION}.tar.gz" PKG_URL="https://github.com/xbmc/xbmc/archive/${PKG_VERSION}.tar.gz"

View File

@@ -9,7 +9,7 @@ Subject: [PATCH 07/13] disable minimize
--- a/xbmc/Application.cpp --- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp +++ b/xbmc/Application.cpp
@@ -4807,7 +4807,6 @@ bool CApplication::SwitchToFullScreen(bo @@ -4818,7 +4818,6 @@ bool CApplication::SwitchToFullScreen(bo
void CApplication::Minimize() void CApplication::Minimize()
{ {

View File

@@ -54,7 +54,7 @@ so, when shutdown/reboot is requested:
Stop(EXITCODE_RESTARTAPP); Stop(EXITCODE_RESTARTAPP);
#endif #endif
break; break;
@@ -2628,6 +2629,17 @@ bool CApplication::Cleanup() @@ -2635,6 +2636,17 @@ bool CApplication::Cleanup()
} }
} }
@@ -72,7 +72,7 @@ so, when shutdown/reboot is requested:
void CApplication::Stop(int exitCode) void CApplication::Stop(int exitCode)
{ {
CLog::Log(LOGINFO, "Stopping player"); CLog::Log(LOGINFO, "Stopping player");
@@ -2654,7 +2666,7 @@ void CApplication::Stop(int exitCode) @@ -2661,7 +2673,7 @@ void CApplication::Stop(int exitCode)
m_frameMoveGuard.unlock(); m_frameMoveGuard.unlock();
CVariant vExitCode(CVariant::VariantTypeObject); CVariant vExitCode(CVariant::VariantTypeObject);
@@ -81,7 +81,7 @@ so, when shutdown/reboot is requested:
CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::System, "OnQuit", vExitCode); CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::System, "OnQuit", vExitCode);
// Abort any active screensaver // Abort any active screensaver
@@ -2686,7 +2698,6 @@ void CApplication::Stop(int exitCode) @@ -2693,7 +2705,6 @@ void CApplication::Stop(int exitCode)
// Needs cleaning up // Needs cleaning up
CApplicationMessenger::GetInstance().Stop(); CApplicationMessenger::GetInstance().Stop();
m_AppFocused = false; m_AppFocused = false;
@@ -89,7 +89,7 @@ so, when shutdown/reboot is requested:
CLog::Log(LOGINFO, "Stopping all"); CLog::Log(LOGINFO, "Stopping all");
// cancel any jobs from the jobmanager // cancel any jobs from the jobmanager
@@ -4336,7 +4347,7 @@ void CApplication::ProcessSlow() @@ -4347,7 +4358,7 @@ void CApplication::ProcessSlow()
if (CPlatformPosix::TestQuitFlag()) if (CPlatformPosix::TestQuitFlag())
{ {
CLog::Log(LOGINFO, "Quitting due to POSIX signal"); CLog::Log(LOGINFO, "Quitting due to POSIX signal");

View File

@@ -0,0 +1,27 @@
Date: Tue, 25 May 2021 19:32:28 +0200
Subject: [PATCH] Remove "disable addon dialog at startup" for LibreELEC.
The feature is not only not needed for LE but as well does enable the DVB
driver addons.
See https://github.com/LibreELEC/LibreELEC.tv/issues/5397 and
https://github.com/xbmc/xbmc/pull/19091
---
xbmc/platform/linux/PlatformLinux.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/xbmc/platform/linux/PlatformLinux.h b/xbmc/platform/linux/PlatformLinux.h
index c45d41143a..9a872a5f55 100644
--- a/xbmc/platform/linux/PlatformLinux.h
+++ b/xbmc/platform/linux/PlatformLinux.h
@@ -21,7 +21,6 @@ public:
~CPlatformLinux() override = default;
bool Init() override;
- bool IsConfigureAddonsAtStartupEnabled() override { return true; };
private:
std::unique_ptr<OPTIONALS::CLircContainer, OPTIONALS::delete_CLircContainer> m_lirc;
--
2.31.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="samba" PKG_NAME="samba"
PKG_VERSION="4.13.8" PKG_VERSION="4.13.9"
PKG_SHA256="3347c0c62cc5b1df1fc92d802282e809c354bfb4941a33c91a7fda3795efbf7f" PKG_SHA256="b97a773ed3b4dae6d5ebd3e09337c897ae898b65f38abad550f852b594d4e07f"
PKG_LICENSE="GPLv3+" PKG_LICENSE="GPLv3+"
PKG_SITE="https://www.samba.org" PKG_SITE="https://www.samba.org"
PKG_URL="https://download.samba.org/pub/samba/stable/${PKG_NAME}-${PKG_VERSION}.tar.gz" PKG_URL="https://download.samba.org/pub/samba/stable/${PKG_NAME}-${PKG_VERSION}.tar.gz"

View File

@@ -28,6 +28,7 @@ To control the build behaviour of your package, use variables in the top-down or
| Variable | Default | Required |Description | | Variable | Default | Required |Description |
|-------------|---------|----------|------------| |-------------|---------|----------|------------|
| PKG_SOURCE_DIR | - | no | Force the folder name that application sources are unpacked to. Used when sources do not automatically unpack to a folder with the `PKG_NAME-PKG_VERSION` naming convention. | | PKG_SOURCE_DIR | - | no | Force the folder name that application sources are unpacked to. Used when sources do not automatically unpack to a folder with the `PKG_NAME-PKG_VERSION` naming convention. |
| PKG_TAR_STRIP_COMPONENTS | - | no | When this option is set the top level directory is not get stripped off while extracting an archive. |
| PKG_SOURCE_NAME | - | no | Force the filename of the application sources. Used when the filename is not the basename of `PKG_URL` | | PKG_SOURCE_NAME | - | no | Force the filename of the application sources. Used when the filename is not the basename of `PKG_URL` |
| PKG_PATCH_DIRS | - | no | Patches in `./patches` are automatically applied after package unpack. Use this option to include patches from an additional folder, e.g. `./patches/$PKG_PATCH_DIRS` | | PKG_PATCH_DIRS | - | no | Patches in `./patches` are automatically applied after package unpack. Use this option to include patches from an additional folder, e.g. `./patches/$PKG_PATCH_DIRS` |
| PKG_NEED_UNPACK | - | no | Space separated list of files or folders to include in package stamp calculation. If the stamp is invalidated through changes to package files or dependent files/folders the package is cleaned and rebuilt. e.g. `PKG_NEED_UNPACK="$(get_pkg_directory linux)"` will trigger clean/rebuild of a Linux kernel driver package when a change to the `linux` kernel package is detected. | | PKG_NEED_UNPACK | - | no | Space separated list of files or folders to include in package stamp calculation. If the stamp is invalidated through changes to package files or dependent files/folders the package is cleaned and rebuilt. e.g. `PKG_NEED_UNPACK="$(get_pkg_directory linux)"` will trigger clean/rebuild of a Linux kernel driver package when a change to the `linux` kernel package is detected. |

View File

@@ -70,7 +70,7 @@ if [ -d "${OVERLAY_CONFIG_DIR}" ] ; then
if [ "yes" = "$GOT_MODULE_OVERLAY" ] ; then if [ "yes" = "$GOT_MODULE_OVERLAY" ] ; then
log "running depmod" log "running depmod"
/usr/sbin/depmod -a /usr/sbin/depmod -a >/dev/kmsg 2>&1
fi fi
fi fi

View File

@@ -12,6 +12,9 @@ MACHINEID="$(cat /storage/.cache/systemd-machine-id 2>/dev/null)"
[[ "${MACHINEID//[a-f0-9]/}" != "" ]] && MACHINEID= [[ "${MACHINEID//[a-f0-9]/}" != "" ]] && MACHINEID=
[ -z "${MACHINEID}" ] && MACHINEID=$(/usr/bin/dbus-uuidgen) [ -z "${MACHINEID}" ] && MACHINEID=$(/usr/bin/dbus-uuidgen)
# For first boot detection systemd may have overmounted the file
umount /storage/.cache/systemd-machine-id >/dev/null 2>&1
# persist uuid # persist uuid
mkdir -p /storage/.cache mkdir -p /storage/.cache
echo "$MACHINEID" > /storage/.cache/systemd-machine-id echo "$MACHINEID" > /storage/.cache/systemd-machine-id

View File

@@ -1,7 +1,9 @@
[Unit] [Unit]
Description=Setup machine-id Description=Setup machine-id
DefaultDependencies=no DefaultDependencies=no
Before=systemd-journald.service systemd-tmpfiles-setup-dev.service Conflicts=shutdown.target
Before=systemd-journald.service systemd-tmpfiles-setup-dev.service shutdown.target
After=local-fs.target
[Service] [Service]
Type=oneshot Type=oneshot

View File

@@ -2,12 +2,12 @@
# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="crust" PKG_NAME="crust"
PKG_VERSION="58267556f1b3792b8e742328d693d23ee5ef72b7" PKG_VERSION="0.4"
PKG_SHA256="0da013866710ca85d90aca2f63d66d04a2878224e7fca83047768056e35d9242" PKG_SHA256="68517674bcddd211499c162ad541e7d04c5da8e91e2b1d78b0e6ece5f3d8da3b"
PKG_ARCH="arm aarch64" PKG_ARCH="arm aarch64"
PKG_LICENSE="BSD-3c" PKG_LICENSE="BSD-3c"
PKG_SITE="https://github.com/crust-firmware/crust" PKG_SITE="https://github.com/crust-firmware/crust"
PKG_URL="https://github.com/crust-firmware/crust/archive/${PKG_VERSION}.tar.gz" PKG_URL="https://github.com/crust-firmware/crust/archive/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="gcc-or1k-linux:host" PKG_DEPENDS_TARGET="gcc-or1k-linux:host"
PKG_LONGDESC="Crust: Libre SCP firmware for Allwinner sunxi SoCs" PKG_LONGDESC="Crust: Libre SCP firmware for Allwinner sunxi SoCs"
PKG_TOOLCHAIN="manual" PKG_TOOLCHAIN="manual"

View File

@@ -105,3 +105,84 @@ index a6f8c0cb51..9c4a9f47cf 100644
CONFIG_MISC=y CONFIG_MISC=y
CONFIG_ROCKCHIP_EFUSE=y CONFIG_ROCKCHIP_EFUSE=y
CONFIG_I2C_EEPROM=y CONFIG_I2C_EEPROM=y
diff --git a/configs/firefly-rk3399_defconfig b/configs/firefly-rk3399_defconfig
index f0931266aa..af0ad7d5aa 100644
--- a/configs/firefly-rk3399_defconfig
+++ b/configs/firefly-rk3399_defconfig
@@ -5,16 +5,15 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_SYS_MALLOC_F_LEN=0x4000
CONFIG_ROCKCHIP_RK3399=y
CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x4000
-CONFIG_RKIMG_BOOTLOADER=y
CONFIG_SPL_STACK_R_ADDR=0x80000
CONFIG_DEFAULT_DEVICE_TREE="rk3399-firefly"
CONFIG_DEBUG_UART=y
-CONFIG_ANDROID_BOOTLOADER=y
+# CONFIG_ANDROID_BOOT_IMAGE is not set
CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
CONFIG_SPL_LOAD_FIT=y
CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-rockchip/make_fit_atf.py"
# CONFIG_DISPLAY_CPUINFO is not set
-CONFIG_ANDROID_BOOTLOADER=y
CONFIG_SPL_STACK_R=y
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
CONFIG_SPL_ATF=y
@@ -25,20 +24,19 @@ CONFIG_FASTBOOT_FLASH=y
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
+CONFIG_CMD_GPIO=y
CONFIG_CMD_GPT=y
-CONFIG_CMD_LOAD_ANDROID=y
-CONFIG_CMD_BOOT_ANDROID=y
-CONFIG_CMD_BOOT_ROCKCHIP=y
CONFIG_CMD_MMC=y
CONFIG_CMD_SF=y
CONFIG_CMD_USB=y
CONFIG_CMD_USB_MASS_STORAGE=y
# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_TIME=y
-CONFIG_RKPARM_PARTITION=y
+CONFIG_CMD_PMIC=y
+CONFIG_CMD_REGULATOR=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
-CONFIG_ENV_IS_IN_MMC=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_REGMAP=y
CONFIG_SPL_REGMAP=y
CONFIG_SYSCON=y
@@ -47,6 +45,7 @@ CONFIG_CLK=y
CONFIG_SPL_CLK=y
CONFIG_ROCKCHIP_GPIO=y
CONFIG_SYS_I2C_ROCKCHIP=y
+CONFIG_DM_KEY=y
CONFIG_MISC=y
CONFIG_ROCKCHIP_EFUSE=y
CONFIG_MMC_DW=y
@@ -77,14 +76,16 @@ CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_DWC3=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_GENERIC=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_GENERIC=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_GADGET=y
CONFIG_USB_STORAGE=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DOWNLOAD=y
CONFIG_G_DNL_MANUFACTURER="Rockchip"
-CONFIG_G_DNL_VENDOR_NUM=0x18d1
-CONFIG_G_DNL_PRODUCT_NUM=0xd00d
+CONFIG_G_DNL_VENDOR_NUM=0x2207
+CONFIG_G_DNL_PRODUCT_NUM=0x330a
CONFIG_USB_HOST_ETHER=y
CONFIG_USB_ETHER_ASIX=y
CONFIG_USB_ETHER_ASIX88179=y
@@ -93,3 +94,5 @@ CONFIG_USB_ETHER_RTL8152=y
CONFIG_USB_ETHER_SMSC95XX=y
CONFIG_USE_TINY_PRINTF=y
CONFIG_ERRNO_STR=y
+CONFIG_BOOTDELAY=1
+# CONFIG_EFI_LOADER is not set

View File

@@ -12,7 +12,7 @@
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64" TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"

View File

@@ -13,7 +13,7 @@
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64" TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"

View File

@@ -13,7 +13,7 @@
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64" TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"

View File

@@ -11,13 +11,11 @@ diff --git a/configs/orangepi_pc2_defconfig b/configs/orangepi_pc2_defconfig
index 3d65b87d33..1ffeeed6cd 100644 index 3d65b87d33..1ffeeed6cd 100644
--- a/configs/orangepi_pc2_defconfig --- a/configs/orangepi_pc2_defconfig
+++ b/configs/orangepi_pc2_defconfig +++ b/configs/orangepi_pc2_defconfig
@@ -3,13 +3,15 @@ CONFIG_NR_DRAM_BANKS=1 @@ -3,12 +3,14 @@ CONFIG_SPL=y
CONFIG_SPL=y
CONFIG_MACH_SUN50I_H5=y CONFIG_MACH_SUN50I_H5=y
CONFIG_DRAM_CLK=672 CONFIG_DRAM_CLK=672
-CONFIG_DRAM_ZQ=3881977 CONFIG_DRAM_ZQ=3881977
-# CONFIG_DRAM_ODT_EN is not set -# CONFIG_DRAM_ODT_EN is not set
+CONFIG_DRAM_ZQ=4145117
CONFIG_MACPWR="PD6" CONFIG_MACPWR="PD6"
CONFIG_SPL_SPI_SUNXI=y CONFIG_SPL_SPI_SUNXI=y
+CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_I2C_SUPPORT=y

View File

@@ -13,7 +13,7 @@
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64" TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"

View File

@@ -0,0 +1,113 @@
From ba918badf612c19b4e31a57b2ff4baa06e99d7d5 Mon Sep 17 00:00:00 2001
From: heitbaum <rudi@heitbaum.com>
Date: Sun, 23 May 2021 06:37:45 +0000
Subject: [PATCH] Allwinner: linux: enable BT on Tanix TX6 and add wifi node for rtl8822cs (rtw88)
Add and enable dts nodes for both rtw88 (rtl8822cs sdio) and uart rtl8822cs bluetooth.
# udevadm info /sys/bus/sdio/devices/mmc1\:0001\:1/
P: /devices/platform/soc/4021000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1
L: 0
E:
DEVPATH=/devices/platform/soc/4021000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1
E: OF_NAME=sdio-wifi
E: OF_FULLNAME=/soc/mmc@4021000/sdio-wifi@1
E: OF_COMPATIBLE_N=0
E: SDIO_CLASS=07
E: SDIO_ID=024C:C822
E: SDIO_REVISION=0.0
E: MODALIAS=sdio:c07v024CdC822
E: SUBSYSTEM=sdio
# dmesg | grep hci0
Bluetooth: hci0: RTL: examining hci_ver=08 hci_rev=000c subver=8822
Bluetooth: hci0: RTL: rom_version status=0 version=3
Bluetooth: hci0: RTL: loading rtl_bt/rtl8822cs_fw.bin
Bluetooth: hci0: RTL: loading rtl_bt/rtl8822cs_config.bin
---
.../dts/allwinner/sun50i-h6-tanix-tx6.dts | 32 +++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix-tx6.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix-tx6.dts
index 5233ad1488..06e7820fd9 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix-tx6.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix-tx6.dts
@@ -47,12 +47,29 @@ reg_vcc3v3: vcc3v3 {
regulator-max-microvolt = <3300000>;
};
+ reg_vcc_wifi_io: vcc-wifi-io {
+ /* Always on 1.8V/300mA regulator for WiFi and BT IO */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-wifi-io";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ vin-supply = <&reg_vcc3v3>;
+ };
+
reg_vdd_cpu_gpu: vdd-cpu-gpu {
compatible = "regulator-fixed";
regulator-name = "vdd-cpu-gpu";
regulator-min-microvolt = <1135000>;
regulator-max-microvolt = <1135000>;
};
+
+ wifi_pwrseq: wifi-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ clocks = <&rtc 1>;
+ clock-names = "ext_clock";
+ reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
+ };
};
&ac200_pwm_clk {
@@ -122,6 +139,22 @@ &mmc0 {
status = "okay";
};
+&mmc1 {
+ vmmc-supply = <&reg_vcc3v3>;
+ vqmmc-supply = <&reg_vcc_wifi_io>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ rtl8822cs: sdio-wifi@1 {
+ reg = <1>;
+ interrupt-parent = <&r_pio>;
+ interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; /* PM0 */
+ interrupt-names = "host-wake";
+ };
+};
+
&mmc2 {
vmmc-supply = <&reg_vcc3v3>;
vqmmc-supply = <&reg_vcc1v8>;
@@ -158,6 +191,21 @@ &uart0 {
status = "okay";
};
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
+ uart-has-rtscts;
+ status = "okay";
+
+ bluetooth {
+ //use 8822cs compatible to load hci_h5 and btrtl driver
+ compatible = "realtek,rtl8822cs-bt";
+ device-wake-gpios = <&r_pio 1 2 GPIO_ACTIVE_HIGH>; /* PM2 */
+ host-wake-gpios = <&r_pio 1 1 GPIO_ACTIVE_HIGH>; /* PM1 */
+ enable-gpios = <&r_pio 1 4 GPIO_ACTIVE_HIGH>; /* PM4 */
+ };
+};
+
&usb2otg {
dr_mode = "host";
status = "okay";
--
2.29.2

View File

@@ -2326,7 +2326,7 @@ CONFIG_LDISC_AUTOLOAD=y
CONFIG_SERIAL_EARLYCON=y CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set CONFIG_SERIAL_8250_16550A_VARIANTS=y
# CONFIG_SERIAL_8250_FINTEK is not set # CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y CONFIG_SERIAL_8250_DMA=y

View File

@@ -2099,7 +2099,7 @@ CONFIG_LDISC_AUTOLOAD=y
CONFIG_SERIAL_EARLYCON=y CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set CONFIG_SERIAL_8250_16550A_VARIANTS=y
# CONFIG_SERIAL_8250_FINTEK is not set # CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y CONFIG_SERIAL_8250_DMA=y

View File

@@ -1,40 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Sat, 10 Apr 2021 18:55:09 +0200
Subject: [PATCH] media: cedrus: Fix HEVC status macros
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
---
.../staging/media/sunxi/cedrus/cedrus_regs.h | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_regs.h b/drivers/staging/media/sunxi/cedrus/cedrus_regs.h
index 6cb1c279790f..7ab3a2b0aa10 100644
--- a/drivers/staging/media/sunxi/cedrus/cedrus_regs.h
+++ b/drivers/staging/media/sunxi/cedrus/cedrus_regs.h
@@ -443,16 +443,17 @@
#define VE_DEC_H265_STATUS_STCD_BUSY BIT(21)
#define VE_DEC_H265_STATUS_WB_BUSY BIT(20)
#define VE_DEC_H265_STATUS_BS_DMA_BUSY BIT(19)
-#define VE_DEC_H265_STATUS_IQIT_BUSY BIT(18)
+#define VE_DEC_H265_STATUS_IT_BUSY BIT(18)
#define VE_DEC_H265_STATUS_INTER_BUSY BIT(17)
#define VE_DEC_H265_STATUS_MORE_DATA BIT(16)
-#define VE_DEC_H265_STATUS_VLD_BUSY BIT(14)
-#define VE_DEC_H265_STATUS_DEBLOCKING_BUSY BIT(13)
-#define VE_DEC_H265_STATUS_DEBLOCKING_DRAM_BUSY BIT(12)
-#define VE_DEC_H265_STATUS_INTRA_BUSY BIT(11)
-#define VE_DEC_H265_STATUS_SAO_BUSY BIT(10)
-#define VE_DEC_H265_STATUS_MVP_BUSY BIT(9)
-#define VE_DEC_H265_STATUS_SWDEC_BUSY BIT(8)
+#define VE_DEC_H265_STATUS_DBLK_BUSY BIT(15)
+#define VE_DEC_H265_STATUS_IREC_BUSY BIT(14)
+#define VE_DEC_H265_STATUS_INTRA_BUSY BIT(13)
+#define VE_DEC_H265_STATUS_MCRI_BUSY BIT(12)
+#define VE_DEC_H265_STATUS_IQIT_BUSY BIT(11)
+#define VE_DEC_H265_STATUS_MVP_BUSY BIT(10)
+#define VE_DEC_H265_STATUS_IS_BUSY BIT(9)
+#define VE_DEC_H265_STATUS_VLD_BUSY BIT(8)
#define VE_DEC_H265_STATUS_OVER_TIME BIT(3)
#define VE_DEC_H265_STATUS_VLD_DATA_REQ BIT(2)
#define VE_DEC_H265_STATUS_ERROR BIT(1)

View File

@@ -0,0 +1,41 @@
From b19d3479f25e8a0ff24df0b46c82e50ef0f900dd Mon Sep 17 00:00:00 2001
From: Salvatore Bonaccorso <carnil@debian.org>
Date: Mon, 24 May 2021 14:21:11 +0200
Subject: [PATCH] ARM: dts: sun8i: h3: orangepi-plus: Fix ethernet phy-mode
Commit bbc4d71d6354 ("net: phy: realtek: fix rtl8211e rx/tx delay
config") sets the RX/TX delay according to the phy-mode property in the
device tree. For the Orange Pi Plus board this is "rgmii", which is the
wrong setting.
Following the example of a900cac3750b ("ARM: dts: sun7i: a20: bananapro:
Fix ethernet phy-mode") the phy-mode is changed to "rgmii-id" which gets
the Ethernet working again on this board.
Fixes: bbc4d71d6354 ("net: phy: realtek: fix rtl8211e rx/tx delay config")
Reported-by: "B.R. Oake" <broake@mailfence.com>
Reported-by: Vagrant Cascadian <vagrant@reproducible-builds.org>
Link: https://bugs.debian.org/988574
Signed-off-by: Salvatore Bonaccorso <carnil@debian.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20210524122111.416885-1-carnil@debian.org
---
arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
index 97f497854e05..d05fa679dcd3 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
@@ -85,7 +85,7 @@ &emac {
pinctrl-0 = <&emac_rgmii_pins>;
phy-supply = <&reg_gmac_3v3>;
phy-handle = <&ext_rgmii_phy>;
- phy-mode = "rgmii";
+ phy-mode = "rgmii-id";
status = "okay";
};
--
2.31.1

View File

@@ -1,109 +0,0 @@
From be7e8af98f3af729aa9f08b1053f9533a5cceb91 Mon Sep 17 00:00:00 2001
From: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Date: Sat, 27 Mar 2021 12:27:40 +0100
Subject: [PATCH] media: v4l2-ctrls.c: fix race condition in hdl->requests list
When a request is re-inited it will release all control handler
objects that are still in the request. It does that by unbinding
and putting all those objects. When the object is unbound the
obj->req pointer is set to NULL, and the object's unbind op is
called. When the object it put the object's release op is called
to free the memory.
For a request object that contains a control handler that means
that v4l2_ctrl_handler_free() is called in the release op.
A control handler used in a request has a pointer to the main
control handler that is created by the driver and contains the
current state of all controls. If the device is unbound (due to
rmmod or a forced unbind), then that main handler is freed, again
by calling v4l2_ctrl_handler_free(), and any outstanding request
objects that refer to that main handler have to be unbound and put
as well.
It does that by this test:
if (!hdl->req_obj.req && !list_empty(&hdl->requests)) {
I.e. the handler has no pointer to a request, so is the main
handler, and one or more request objects refer to this main
handler.
However, this test is wrong since hdl->req_obj.req is actually
NULL when re-initing a request (the object unbind will set req to
NULL), and the only reason this seemingly worked is that the
requests list is typically empty since the request's unbind op
will remove the handler from the requests list.
But if another thread is at the same time adding a new control
to a request, then there is a race condition where one thread
is removing a control handler object from the requests list and
another thread is adding one. The result is that hdl->requests
is no longer empty and the code thinks that a main handler is
being freed instead of a control handler that is part of a request.
There are two bugs here: first the test for hdl->req_obj.req: this
should be hdl->req_obj.ops since only the main control handler will
have a NULL pointer there.
The second is that adding or deleting request objects from the
requests list of the main handler isn't protected by taking the
main handler's lock.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Reported-by: John Cox <jc@kynesim.co.uk>
Fixes: 6fa6f831f095 ("media: v4l2-ctrls: add core request support")
Tested-by: John Cox <jc@kynesim.co.uk>
Reported-by: John Cox <jc@kynesim.co.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
drivers/media/v4l2-core/v4l2-ctrls.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
index e7fcbaeec0ae..c7bcc5c25771 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls.c
@@ -2650,7 +2650,15 @@ void v4l2_ctrl_handler_free(struct v4l2_ctrl_handler *hdl)
if (hdl == NULL || hdl->buckets == NULL)
return;
- if (!hdl->req_obj.req && !list_empty(&hdl->requests)) {
+ /*
+ * If the main handler is freed and it is used by handler objects in
+ * outstanding requests, then unbind and put those objects before
+ * freeing the main handler.
+ *
+ * The main handler can be identified by having a NULL ops pointer in
+ * the request object.
+ */
+ if (!hdl->req_obj.ops && !list_empty(&hdl->requests)) {
struct v4l2_ctrl_handler *req, *next_req;
list_for_each_entry_safe(req, next_req, &hdl->requests, requests) {
@@ -3730,8 +3738,8 @@ static void v4l2_ctrl_request_unbind(struct media_request_object *obj)
container_of(obj, struct v4l2_ctrl_handler, req_obj);
struct v4l2_ctrl_handler *main_hdl = obj->priv;
+ mutex_lock(main_hdl->lock);
list_del_init(&hdl->requests);
- mutex_lock(main_hdl->lock);
if (hdl->request_is_queued) {
list_del_init(&hdl->requests_queued);
hdl->request_is_queued = false;
@@ -3790,8 +3798,11 @@ static int v4l2_ctrl_request_bind(struct media_request *req,
if (!ret) {
ret = media_request_object_bind(req, &req_ops,
from, false, &hdl->req_obj);
- if (!ret)
+ if (!ret) {
+ mutex_lock(from->lock);
list_add_tail(&hdl->requests, &from->requests);
+ mutex_unlock(from->lock);
+ }
}
return ret;
}
--
2.31.1

View File

@@ -1,332 +0,0 @@
From ac34b79da14d67a9b494f6125186becbd067e225 Mon Sep 17 00:00:00 2001
From: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Date: Mon, 12 Apr 2021 13:51:23 +0200
Subject: [PATCH] media: v4l2-ctrls: fix reference to freed memory
When controls are used together with the Request API, then for
each request a v4l2_ctrl_handler struct is allocated. This contains
the controls that can be set in a request. If a control is *not* set in
the request, then the value used in the most recent previous request
must be used, or the current value if it is not found in any outstanding
requests.
The framework tried to find such a previous request and it would set
the 'req' pointer in struct v4l2_ctrl_ref to the v4l2_ctrl_ref of the
control in such a previous request. So far, so good. However, when that
previous request was applied to the hardware, returned to userspace, and
then userspace would re-init or free that request, any 'ref' pointer in
still-queued requests would suddenly point to freed memory.
This was not noticed before since the drivers that use this expected
that each request would always have the controls set, so there was
never any need to find a control in older requests. This requirement
was relaxed, and now this bug surfaced.
It was also made worse by changeset
2fae4d6aabc8 ("media: v4l2-ctrls: v4l2_ctrl_request_complete() should always set ref->req")
which increased the chance of this happening.
The use of the 'req' pointer in v4l2_ctrl_ref was very fragile, so
drop this entirely. Instead add a valid_p_req bool to indicate that
p_req contains a valid value for this control. And if it is false,
then just use the current value of the control.
Note that VIDIOC_G_EXT_CTRLS will always return -EACCES when attempting
to get a control from a request until the request is completed. And in
that case, all controls in the request will have the control value set
(i.e. valid_p_req is true). This means that the whole 'find the most
recent previous request containing a control' idea is pointless, and
the code can be simplified considerably.
The v4l2_g_ext_ctrls_common() function was refactored a bit to make
it more understandable. It also avoids updating volatile controls
in a completed request since that was already done when the request
was completed.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Fixes: 2fae4d6aabc8 ("media: v4l2-ctrls: v4l2_ctrl_request_complete() should always set ref->req")
Fixes: 6fa6f831f095 ("media: v4l2-ctrls: add core request support")
Cc: <stable@vger.kernel.org> # for v5.9 and up
Tested-by: Alexandre Courbot <acourbot@chromium.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
drivers/media/v4l2-core/v4l2-ctrls.c | 137 ++++++++++++---------------
include/media/v4l2-ctrls.h | 12 ++-
2 files changed, 70 insertions(+), 79 deletions(-)
diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
index c7bcc5c25771..0d7fe1bd975a 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls.c
@@ -2504,7 +2504,16 @@ static void new_to_req(struct v4l2_ctrl_ref *ref)
if (!ref)
return;
ptr_to_ptr(ref->ctrl, ref->ctrl->p_new, ref->p_req);
- ref->req = ref;
+ ref->valid_p_req = true;
+}
+
+/* Copy the current value to the request value */
+static void cur_to_req(struct v4l2_ctrl_ref *ref)
+{
+ if (!ref)
+ return;
+ ptr_to_ptr(ref->ctrl, ref->ctrl->p_cur, ref->p_req);
+ ref->valid_p_req = true;
}
/* Copy the request value to the new value */
@@ -2512,8 +2521,8 @@ static void req_to_new(struct v4l2_ctrl_ref *ref)
{
if (!ref)
return;
- if (ref->req)
- ptr_to_ptr(ref->ctrl, ref->req->p_req, ref->ctrl->p_new);
+ if (ref->valid_p_req)
+ ptr_to_ptr(ref->ctrl, ref->p_req, ref->ctrl->p_new);
else
ptr_to_ptr(ref->ctrl, ref->ctrl->p_cur, ref->ctrl->p_new);
}
@@ -3694,39 +3703,8 @@ static void v4l2_ctrl_request_queue(struct media_request_object *obj)
struct v4l2_ctrl_handler *hdl =
container_of(obj, struct v4l2_ctrl_handler, req_obj);
struct v4l2_ctrl_handler *main_hdl = obj->priv;
- struct v4l2_ctrl_handler *prev_hdl = NULL;
- struct v4l2_ctrl_ref *ref_ctrl, *ref_ctrl_prev = NULL;
mutex_lock(main_hdl->lock);
- if (list_empty(&main_hdl->requests_queued))
- goto queue;
-
- prev_hdl = list_last_entry(&main_hdl->requests_queued,
- struct v4l2_ctrl_handler, requests_queued);
- /*
- * Note: prev_hdl and hdl must contain the same list of control
- * references, so if any differences are detected then that is a
- * driver bug and the WARN_ON is triggered.
- */
- mutex_lock(prev_hdl->lock);
- ref_ctrl_prev = list_first_entry(&prev_hdl->ctrl_refs,
- struct v4l2_ctrl_ref, node);
- list_for_each_entry(ref_ctrl, &hdl->ctrl_refs, node) {
- if (ref_ctrl->req)
- continue;
- while (ref_ctrl_prev->ctrl->id < ref_ctrl->ctrl->id) {
- /* Should never happen, but just in case... */
- if (list_is_last(&ref_ctrl_prev->node,
- &prev_hdl->ctrl_refs))
- break;
- ref_ctrl_prev = list_next_entry(ref_ctrl_prev, node);
- }
- if (WARN_ON(ref_ctrl_prev->ctrl->id != ref_ctrl->ctrl->id))
- break;
- ref_ctrl->req = ref_ctrl_prev->req;
- }
- mutex_unlock(prev_hdl->lock);
-queue:
list_add_tail(&hdl->requests_queued, &main_hdl->requests_queued);
hdl->request_is_queued = true;
mutex_unlock(main_hdl->lock);
@@ -3783,7 +3761,7 @@ v4l2_ctrl_request_hdl_ctrl_find(struct v4l2_ctrl_handler *hdl, u32 id)
{
struct v4l2_ctrl_ref *ref = find_ref_lock(hdl, id);
- return (ref && ref->req == ref) ? ref->ctrl : NULL;
+ return (ref && ref->valid_p_req) ? ref->ctrl : NULL;
}
EXPORT_SYMBOL_GPL(v4l2_ctrl_request_hdl_ctrl_find);
@@ -3972,7 +3950,13 @@ static int class_check(struct v4l2_ctrl_handler *hdl, u32 which)
return find_ref_lock(hdl, which | 1) ? 0 : -EINVAL;
}
-/* Get extended controls. Allocates the helpers array if needed. */
+/*
+ * Get extended controls. Allocates the helpers array if needed.
+ *
+ * Note that v4l2_g_ext_ctrls_common() with 'which' set to
+ * V4L2_CTRL_WHICH_REQUEST_VAL is only called if the request was
+ * completed, and in that case valid_p_req is true for all controls.
+ */
static int v4l2_g_ext_ctrls_common(struct v4l2_ctrl_handler *hdl,
struct v4l2_ext_controls *cs,
struct video_device *vdev)
@@ -3981,9 +3965,10 @@ static int v4l2_g_ext_ctrls_common(struct v4l2_ctrl_handler *hdl,
struct v4l2_ctrl_helper *helpers = helper;
int ret;
int i, j;
- bool def_value;
+ bool is_default, is_request;
- def_value = (cs->which == V4L2_CTRL_WHICH_DEF_VAL);
+ is_default = (cs->which == V4L2_CTRL_WHICH_DEF_VAL);
+ is_request = (cs->which == V4L2_CTRL_WHICH_REQUEST_VAL);
cs->error_idx = cs->count;
cs->which = V4L2_CTRL_ID2WHICH(cs->which);
@@ -4009,11 +3994,9 @@ static int v4l2_g_ext_ctrls_common(struct v4l2_ctrl_handler *hdl,
ret = -EACCES;
for (i = 0; !ret && i < cs->count; i++) {
- int (*ctrl_to_user)(struct v4l2_ext_control *c,
- struct v4l2_ctrl *ctrl);
struct v4l2_ctrl *master;
-
- ctrl_to_user = def_value ? def_to_user : cur_to_user;
+ bool is_volatile = false;
+ u32 idx = i;
if (helpers[i].mref == NULL)
continue;
@@ -4023,31 +4006,48 @@ static int v4l2_g_ext_ctrls_common(struct v4l2_ctrl_handler *hdl,
v4l2_ctrl_lock(master);
- /* g_volatile_ctrl will update the new control values */
- if (!def_value &&
+ /*
+ * g_volatile_ctrl will update the new control values.
+ * This makes no sense for V4L2_CTRL_WHICH_DEF_VAL and
+ * V4L2_CTRL_WHICH_REQUEST_VAL. In the case of requests
+ * it is v4l2_ctrl_request_complete() that copies the
+ * volatile controls at the time of request completion
+ * to the request, so you don't want to do that again.
+ */
+ if (!is_default && !is_request &&
((master->flags & V4L2_CTRL_FLAG_VOLATILE) ||
(master->has_volatiles && !is_cur_manual(master)))) {
for (j = 0; j < master->ncontrols; j++)
cur_to_new(master->cluster[j]);
ret = call_op(master, g_volatile_ctrl);
- ctrl_to_user = new_to_user;
+ is_volatile = true;
}
- /* If OK, then copy the current (for non-volatile controls)
- or the new (for volatile controls) control values to the
- caller */
- if (!ret) {
- u32 idx = i;
- do {
- if (helpers[idx].ref->req)
- ret = req_to_user(cs->controls + idx,
- helpers[idx].ref->req);
- else
- ret = ctrl_to_user(cs->controls + idx,
- helpers[idx].ref->ctrl);
- idx = helpers[idx].next;
- } while (!ret && idx);
+ if (ret) {
+ v4l2_ctrl_unlock(master);
+ break;
}
+
+ /*
+ * Copy the default value (if is_default is true), the
+ * request value (if is_request is true and p_req is valid),
+ * the new volatile value (if is_volatile is true) or the
+ * current value.
+ */
+ do {
+ struct v4l2_ctrl_ref *ref = helpers[idx].ref;
+
+ if (is_default)
+ ret = def_to_user(cs->controls + idx, ref->ctrl);
+ else if (is_request && ref->valid_p_req)
+ ret = req_to_user(cs->controls + idx, ref);
+ else if (is_volatile)
+ ret = new_to_user(cs->controls + idx, ref->ctrl);
+ else
+ ret = cur_to_user(cs->controls + idx, ref->ctrl);
+ idx = helpers[idx].next;
+ } while (!ret && idx);
+
v4l2_ctrl_unlock(master);
}
@@ -4690,8 +4690,6 @@ void v4l2_ctrl_request_complete(struct media_request *req,
unsigned int i;
if (ctrl->flags & V4L2_CTRL_FLAG_VOLATILE) {
- ref->req = ref;
-
v4l2_ctrl_lock(master);
/* g_volatile_ctrl will update the current control values */
for (i = 0; i < master->ncontrols; i++)
@@ -4701,21 +4699,12 @@ void v4l2_ctrl_request_complete(struct media_request *req,
v4l2_ctrl_unlock(master);
continue;
}
- if (ref->req == ref)
+ if (ref->valid_p_req)
continue;
+ /* Copy the current control value into the request */
v4l2_ctrl_lock(ctrl);
- if (ref->req) {
- ptr_to_ptr(ctrl, ref->req->p_req, ref->p_req);
- } else {
- ptr_to_ptr(ctrl, ctrl->p_cur, ref->p_req);
- /*
- * Set ref->req to ensure that when userspace wants to
- * obtain the controls of this request it will take
- * this value and not the current value of the control.
- */
- ref->req = ref;
- }
+ cur_to_req(ref);
v4l2_ctrl_unlock(ctrl);
}
@@ -4779,7 +4768,7 @@ int v4l2_ctrl_request_setup(struct media_request *req,
struct v4l2_ctrl_ref *r =
find_ref(hdl, master->cluster[i]->id);
- if (r->req && r == r->req) {
+ if (r->valid_p_req) {
have_new_data = true;
break;
}
diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h
index c1d20bd8f25f..a5953b812878 100644
--- a/include/media/v4l2-ctrls.h
+++ b/include/media/v4l2-ctrls.h
@@ -304,12 +304,14 @@ struct v4l2_ctrl {
* the control has been applied. This prevents applying controls
* from a cluster with multiple controls twice (when the first
* control of a cluster is applied, they all are).
- * @req: If set, this refers to another request that sets this control.
+ * @valid_p_req: If set, then p_req contains the control value for the request.
* @p_req: If the control handler containing this control reference
* is bound to a media request, then this points to the
- * value of the control that should be applied when the request
+ * value of the control that must be applied when the request
* is executed, or to the value of the control at the time
- * that the request was completed.
+ * that the request was completed. If @valid_p_req is false,
+ * then this control was never set for this request and the
+ * control will not be updated when this request is applied.
*
* Each control handler has a list of these refs. The list_head is used to
* keep a sorted-by-control-ID list of all controls, while the next pointer
@@ -322,7 +324,7 @@ struct v4l2_ctrl_ref {
struct v4l2_ctrl_helper *helper;
bool from_other_dev;
bool req_done;
- struct v4l2_ctrl_ref *req;
+ bool valid_p_req;
union v4l2_ctrl_ptr p_req;
};
@@ -349,7 +351,7 @@ struct v4l2_ctrl_ref {
* @error: The error code of the first failed control addition.
* @request_is_queued: True if the request was queued.
* @requests: List to keep track of open control handler request objects.
- * For the parent control handler (@req_obj.req == NULL) this
+ * For the parent control handler (@req_obj.ops == NULL) this
* is the list header. When the parent control handler is
* removed, it has to unbind and put all these requests since
* they refer to the parent.
--
2.31.1

View File

@@ -12,7 +12,7 @@
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64" TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"

View File

@@ -12,7 +12,7 @@
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64" TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT=hard TARGET_FLOAT=hard
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"

View File

@@ -12,7 +12,7 @@
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64" TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT=hard TARGET_FLOAT=hard
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"

View File

@@ -23,6 +23,7 @@ This project is for Rockchip SoC devices
* [Orange Pi RK3399](devices/RK3399) * [Orange Pi RK3399](devices/RK3399)
* [PINE64 RockPro64](devices/RK3399) * [PINE64 RockPro64](devices/RK3399)
* [Radxa ROCK Pi 4](devices/RK3399) * [Radxa ROCK Pi 4](devices/RK3399)
* [Radxa ROCK Pi N10](devices/RK3399)
* [ROC-RK3399-PC](devices/RK3399) * [ROC-RK3399-PC](devices/RK3399)
* [Rockchip Sapphire Board](devices/RK3399) * [Rockchip Sapphire Board](devices/RK3399)

View File

@@ -15,11 +15,7 @@ case "${PKG_SOC}" in
PKG_LOAD_ADDR="0x0" PKG_LOAD_ADDR="0x0"
;; ;;
rk3328) rk3328)
if [ "${UBOOT_SYSTEM}" = "roc-cc" -o "${UBOOT_SYSTEM}" = "box-trn9" ]; then PKG_DATAFILE="${PKG_RKBIN}/rk33/rk3328_ddr_786MHz_v1.16.bin"
PKG_DATAFILE="${PKG_RKBIN}/rk33/rk3328_ddr_933MHz_v1.16.bin"
else
PKG_DATAFILE="${PKG_RKBIN}/rk33/rk3328_ddr_786MHz_v1.16.bin"
fi
PKG_LOADER="${PKG_RKBIN}/rk33/rk3328_miniloader_v2.50.bin" PKG_LOADER="${PKG_RKBIN}/rk33/rk3328_miniloader_v2.50.bin"
PKG_BL31="${PKG_RKBIN}/rk33/rk3328_bl31_v1.42.elf" PKG_BL31="${PKG_RKBIN}/rk33/rk3328_bl31_v1.42.elf"
PKG_BL31_ADDR="0x10000" PKG_BL31_ADDR="0x10000"

View File

@@ -17,4 +17,4 @@ mkdir -p "${DSTDIR}"
fi fi
fi fi
cp -a "${SRCDIR}"/${DEVICE,,}-*.dtb "${DSTDIR}" cp -a "${SRCDIR}"/${DEVICE,,}*.dtb "${DSTDIR}"

View File

@@ -31,7 +31,7 @@ fi
new_dtb=rk3328-a1.dtb new_dtb=rk3328-a1.dtb
;; ;;
rk3399-rock-pi-4.dtb) rk3399-rock-pi-4.dtb)
new_dtb=rk3399-rock-pi-4a.dtb new_dtb=rk3399-rock-pi-4b.dtb
;; ;;
*) *)
new_dtb="${dtb}" new_dtb="${dtb}"

View File

@@ -1,6 +1,6 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# Linux/arm 5.10.35 Kernel Configuration # Linux/arm 5.10.41 Kernel Configuration
# #
# #
@@ -4831,7 +4831,6 @@ CONFIG_IIO_SW_TRIGGER=y
# CONFIG_AD7923 is not set # CONFIG_AD7923 is not set
# CONFIG_AD7949 is not set # CONFIG_AD7949 is not set
# CONFIG_AD799X is not set # CONFIG_AD799X is not set
# CONFIG_AD9467 is not set
# CONFIG_ADI_AXI_ADC is not set # CONFIG_ADI_AXI_ADC is not set
# CONFIG_AXP20X_ADC is not set # CONFIG_AXP20X_ADC is not set
# CONFIG_AXP288_ADC is not set # CONFIG_AXP288_ADC is not set

View File

@@ -1,6 +1,6 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# Linux/arm64 5.10.35 Kernel Configuration # Linux/arm64 5.10.41 Kernel Configuration
# #
# #
@@ -4837,7 +4837,6 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_AD7923 is not set # CONFIG_AD7923 is not set
# CONFIG_AD7949 is not set # CONFIG_AD7949 is not set
# CONFIG_AD799X is not set # CONFIG_AD799X is not set
# CONFIG_AD9467 is not set
# CONFIG_ADI_AXI_ADC is not set # CONFIG_ADI_AXI_ADC is not set
# CONFIG_CC10001_ADC is not set # CONFIG_CC10001_ADC is not set
# CONFIG_ENVELOPE_DETECTOR is not set # CONFIG_ENVELOPE_DETECTOR is not set

View File

@@ -12,7 +12,7 @@
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64" TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"

View File

@@ -11,6 +11,7 @@ This is a SoC device for RK3399
* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=orangepi make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=orangepi make image`
* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rock960 make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rock960 make image`
* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rock-pi-4 make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rock-pi-4 make image`
* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rock-pi-n10 make image`
* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rockpro64 make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rockpro64 make image`
* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=roc-pc make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=roc-pc make image`
* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=sapphire make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=sapphire make image`

View File

@@ -1,6 +1,6 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# Linux/arm64 5.10.35 Kernel Configuration # Linux/arm64 5.10.41 Kernel Configuration
# #
# #
@@ -5527,7 +5527,6 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_AD7923 is not set # CONFIG_AD7923 is not set
# CONFIG_AD7949 is not set # CONFIG_AD7949 is not set
# CONFIG_AD799X is not set # CONFIG_AD799X is not set
# CONFIG_AD9467 is not set
# CONFIG_ADI_AXI_ADC is not set # CONFIG_ADI_AXI_ADC is not set
# CONFIG_CC10001_ADC is not set # CONFIG_CC10001_ADC is not set
# CONFIG_ENVELOPE_DETECTOR is not set # CONFIG_ENVELOPE_DETECTOR is not set

View File

@@ -12,7 +12,7 @@
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64" TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a72.cortex-a53" TARGET_CPU="cortex-a72.cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"

View File

@@ -24,6 +24,12 @@
<default>ALSA:hdmi:CARD=HDMI,DEV=0</default> <default>ALSA:hdmi:CARD=HDMI,DEV=0</default>
</setting> </setting>
</group> </group>
<group id="3">
<visible>false</visible>
<setting id="audiooutput.passthrough">
<default>false</default>
</setting>
</group>
</category> </category>
</section> </section>
</settings> </settings>

View File

@@ -0,0 +1,318 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ezequiel Garcia <ezequiel@collabora.com>
Date: Wed, 21 Apr 2021 18:03:36 -0300
Subject: [PATCH] dt-bindings: vendor-prefixes: Add Tang Cheng (TCS)
Shenzhen City Tang Cheng Technology (http://www.tctek.cn/)
is a power management IC manufacturer.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 259faf1b382c..0ec33479df3c 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1055,6 +1055,8 @@ patternProperties:
description: Trusted Computing Group
"^tcl,.*":
description: Toby Churchill Ltd.
+ "^tcs,.*":
+ description: Shenzhen City Tang Cheng Technology Co., Ltd.
"^technexion,.*":
description: TechNexion
"^technologic,.*":
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ezequiel Garcia <ezequiel@collabora.com>
Date: Wed, 21 Apr 2021 18:03:37 -0300
Subject: [PATCH] dt-bindings: regulator: Add support for TCS4525
Add a compatible string to support TCS4525/TCS4526 devices,
which are compatible with Fairchild FAN53555 regulators.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
---
Documentation/devicetree/bindings/regulator/fan53555.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/regulator/fan53555.txt b/Documentation/devicetree/bindings/regulator/fan53555.txt
index e7fc045281d1..013f096ac0aa 100644
--- a/Documentation/devicetree/bindings/regulator/fan53555.txt
+++ b/Documentation/devicetree/bindings/regulator/fan53555.txt
@@ -1,8 +1,8 @@
Binding for Fairchild FAN53555 regulators
Required properties:
- - compatible: one of "fcs,fan53555", "fcs,fan53526", "silergy,syr827" or
- "silergy,syr828"
+ - compatible: one of "fcs,fan53555", "fcs,fan53526", "silergy,syr827",
+ "silergy,syr828" or "tcs,tcs4525".
- reg: I2C address
Optional properties:
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Joseph Chen <chenjh@rock-chips.com>
Date: Wed, 21 Apr 2021 18:03:38 -0300
Subject: [PATCH] regulator: fan53555: Add TCS4525 DCDC support
TCS4525 main features:
- 2.7V to 5.5V Input Voltage Range;
- 3MHz Constant Switching Frequency;
- 5A Available Load Current;
- Programmable Output Voltage: 0.6V to 1.4V in 6.25mV Steps;
- PFM/PWM Operation for Optimum Increased Efficiency;
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
[Ezequiel: Forward port]
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
---
drivers/regulator/fan53555.c | 136 +++++++++++++++++++++++++++++++----
1 file changed, 122 insertions(+), 14 deletions(-)
diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c
index aa426183b6a1..f3918f03aaf3 100644
--- a/drivers/regulator/fan53555.c
+++ b/drivers/regulator/fan53555.c
@@ -24,6 +24,12 @@
/* Voltage setting */
#define FAN53555_VSEL0 0x00
#define FAN53555_VSEL1 0x01
+
+#define TCS4525_VSEL0 0x11
+#define TCS4525_VSEL1 0x10
+#define TCS4525_TIME 0x13
+#define TCS4525_COMMAND 0x14
+
/* Control register */
#define FAN53555_CONTROL 0x02
/* IC Type */
@@ -49,11 +55,20 @@
#define FAN53555_NVOLTAGES 64 /* Numbers of voltages */
#define FAN53526_NVOLTAGES 128
+#define TCS4525_NVOLTAGES 127 /* Numbers of voltages */
+
+#define TCS_VSEL_NSEL_MASK 0x7f
+#define TCS_VSEL0_MODE (1 << 7)
+#define TCS_VSEL1_MODE (1 << 6)
+
+#define TCS_SLEW_SHIFT 3
+#define TCS_SLEW_MASK (0x3 < 3)
enum fan53555_vendor {
FAN53526_VENDOR_FAIRCHILD = 0,
FAN53555_VENDOR_FAIRCHILD,
FAN53555_VENDOR_SILERGY,
+ FAN53555_VENDOR_TCS,
};
enum {
@@ -106,6 +121,11 @@ struct fan53555_device_info {
unsigned int mode_mask;
/* Sleep voltage cache */
unsigned int sleep_vol_cache;
+ /* Slew rate */
+ unsigned int slew_reg;
+ unsigned int slew_mask;
+ unsigned int slew_shift;
+ unsigned int slew_rate;
};
static int fan53555_set_suspend_voltage(struct regulator_dev *rdev, int uV)
@@ -189,13 +209,37 @@ static const int slew_rates[] = {
500,
};
+static const int tcs_slew_rates[] = {
+ 18700,
+ 9300,
+ 4600,
+ 2300,
+};
+
static int fan53555_set_ramp(struct regulator_dev *rdev, int ramp)
{
struct fan53555_device_info *di = rdev_get_drvdata(rdev);
int regval = -1, i;
+ const int *slew_rate_t;
+ int slew_rate_n;
- for (i = 0; i < ARRAY_SIZE(slew_rates); i++) {
- if (ramp <= slew_rates[i])
+ switch (di->vendor) {
+ case FAN53526_VENDOR_FAIRCHILD:
+ case FAN53555_VENDOR_FAIRCHILD:
+ case FAN53555_VENDOR_SILERGY:
+ slew_rate_t = slew_rates;
+ slew_rate_n = ARRAY_SIZE(slew_rates);
+ break;
+ case FAN53555_VENDOR_TCS:
+ slew_rate_t = tcs_slew_rates;
+ slew_rate_n = ARRAY_SIZE(tcs_slew_rates);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ for (i = 0; i < slew_rate_n; i++) {
+ if (ramp <= slew_rate_t[i])
regval = i;
else
break;
@@ -206,8 +250,8 @@ static int fan53555_set_ramp(struct regulator_dev *rdev, int ramp)
return -EINVAL;
}
- return regmap_update_bits(rdev->regmap, FAN53555_CONTROL,
- CTL_SLEW_MASK, regval << CTL_SLEW_SHIFT);
+ return regmap_update_bits(rdev->regmap, di->slew_reg,
+ di->slew_mask, regval << di->slew_shift);
}
static const struct regulator_ops fan53555_regulator_ops = {
@@ -292,7 +336,9 @@ static int fan53555_voltages_setup_fairchild(struct fan53555_device_info *di)
"Chip ID %d not supported!\n", di->chip_id);
return -EINVAL;
}
-
+ di->slew_reg = FAN53555_CONTROL;
+ di->slew_mask = CTL_SLEW_MASK;
+ di->slew_shift = CTL_SLEW_SHIFT;
di->vsel_count = FAN53555_NVOLTAGES;
return 0;
@@ -312,12 +358,29 @@ static int fan53555_voltages_setup_silergy(struct fan53555_device_info *di)
"Chip ID %d not supported!\n", di->chip_id);
return -EINVAL;
}
-
+ di->slew_reg = FAN53555_CONTROL;
+ di->slew_reg = FAN53555_CONTROL;
+ di->slew_mask = CTL_SLEW_MASK;
+ di->slew_shift = CTL_SLEW_SHIFT;
di->vsel_count = FAN53555_NVOLTAGES;
return 0;
}
+static int fan53555_voltages_setup_tcs(struct fan53555_device_info *di)
+{
+ di->slew_reg = TCS4525_TIME;
+ di->slew_mask = TCS_SLEW_MASK;
+ di->slew_shift = TCS_SLEW_MASK;
+
+ /* Init voltage range and step */
+ di->vsel_min = 600000;
+ di->vsel_step = 6250;
+ di->vsel_count = TCS4525_NVOLTAGES;
+
+ return 0;
+}
+
/* For 00,01,03,05 options:
* VOUT = 0.60V + NSELx * 10mV, from 0.60 to 1.23V.
* For 04 option:
@@ -329,17 +392,41 @@ static int fan53555_device_setup(struct fan53555_device_info *di,
int ret = 0;
/* Setup voltage control register */
- switch (pdata->sleep_vsel_id) {
- case FAN53555_VSEL_ID_0:
- di->sleep_reg = FAN53555_VSEL0;
- di->vol_reg = FAN53555_VSEL1;
+ switch (di->vendor) {
+ case FAN53526_VENDOR_FAIRCHILD:
+ case FAN53555_VENDOR_FAIRCHILD:
+ case FAN53555_VENDOR_SILERGY:
+ switch (pdata->sleep_vsel_id) {
+ case FAN53555_VSEL_ID_0:
+ di->sleep_reg = FAN53555_VSEL0;
+ di->vol_reg = FAN53555_VSEL1;
+ break;
+ case FAN53555_VSEL_ID_1:
+ di->sleep_reg = FAN53555_VSEL1;
+ di->vol_reg = FAN53555_VSEL0;
+ break;
+ default:
+ dev_err(di->dev, "Invalid VSEL ID!\n");
+ return -EINVAL;
+ }
break;
- case FAN53555_VSEL_ID_1:
- di->sleep_reg = FAN53555_VSEL1;
- di->vol_reg = FAN53555_VSEL0;
+ case FAN53555_VENDOR_TCS:
+ switch (pdata->sleep_vsel_id) {
+ case FAN53555_VSEL_ID_0:
+ di->sleep_reg = TCS4525_VSEL0;
+ di->vol_reg = TCS4525_VSEL1;
+ break;
+ case FAN53555_VSEL_ID_1:
+ di->sleep_reg = TCS4525_VSEL1;
+ di->vol_reg = TCS4525_VSEL0;
+ break;
+ default:
+ dev_err(di->dev, "Invalid VSEL ID!\n");
+ return -EINVAL;
+ }
break;
default:
- dev_err(di->dev, "Invalid VSEL ID!\n");
+ dev_err(di->dev, "vendor %d not supported!\n", di->vendor);
return -EINVAL;
}
@@ -362,6 +449,18 @@ static int fan53555_device_setup(struct fan53555_device_info *di,
di->mode_reg = di->vol_reg;
di->mode_mask = VSEL_MODE;
break;
+ case FAN53555_VENDOR_TCS:
+ di->mode_reg = TCS4525_COMMAND;
+
+ switch (pdata->sleep_vsel_id) {
+ case FAN53555_VSEL_ID_0:
+ di->mode_mask = TCS_VSEL1_MODE;
+ break;
+ case FAN53555_VSEL_ID_1:
+ di->mode_mask = TCS_VSEL0_MODE;
+ break;
+ }
+ break;
default:
dev_err(di->dev, "vendor %d not supported!\n", di->vendor);
return -EINVAL;
@@ -378,6 +477,9 @@ static int fan53555_device_setup(struct fan53555_device_info *di,
case FAN53555_VENDOR_SILERGY:
ret = fan53555_voltages_setup_silergy(di);
break;
+ case FAN53555_VENDOR_TCS:
+ ret = fan53555_voltages_setup_tcs(di);
+ break;
default:
dev_err(di->dev, "vendor %d not supported!\n", di->vendor);
return -EINVAL;
@@ -449,6 +551,9 @@ static const struct of_device_id __maybe_unused fan53555_dt_ids[] = {
}, {
.compatible = "silergy,syr828",
.data = (void *)FAN53555_VENDOR_SILERGY,
+ }, {
+ .compatible = "tcs,tcs4525",
+ .data = (void *)FAN53555_VENDOR_TCS
},
{ }
};
@@ -554,6 +659,9 @@ static const struct i2c_device_id fan53555_id[] = {
}, {
.name = "syr828",
.driver_data = FAN53555_VENDOR_SILERGY
+ }, {
+ .name = "tcs4525",
+ .driver_data = FAN53555_VENDOR_TCS
},
{ },
};

View File

@@ -0,0 +1,261 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Peter Geis <pgwipeout@gmail.com>
Date: Tue, 11 May 2021 17:13:33 -0400
Subject: [PATCH] regulator: fan53555: fix TCS4525 voltage calulation
The TCS4525 has 128 voltage steps. With the calculation set to 127 the
most significant bit is disregarded which leads to a miscalculation of
the voltage by about 200mv.
Fix the calculation to end deadlock on the rk3566-quartz64 which uses
this as the cpu regulator.
Fixes: 914df8faa7d6 ("regulator: fan53555: Add TCS4525 DCDC support")
Signed-off-by: Peter Geis <pgwipeout@gmail.com>
Link: https://lore.kernel.org/r/20210511211335.2935163-2-pgwipeout@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/regulator/fan53555.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c
index f3918f03aaf3..26f06f685b1b 100644
--- a/drivers/regulator/fan53555.c
+++ b/drivers/regulator/fan53555.c
@@ -55,7 +55,6 @@
#define FAN53555_NVOLTAGES 64 /* Numbers of voltages */
#define FAN53526_NVOLTAGES 128
-#define TCS4525_NVOLTAGES 127 /* Numbers of voltages */
#define TCS_VSEL_NSEL_MASK 0x7f
#define TCS_VSEL0_MODE (1 << 7)
@@ -376,7 +375,7 @@ static int fan53555_voltages_setup_tcs(struct fan53555_device_info *di)
/* Init voltage range and step */
di->vsel_min = 600000;
di->vsel_step = 6250;
- di->vsel_count = TCS4525_NVOLTAGES;
+ di->vsel_count = FAN53526_NVOLTAGES;
return 0;
}
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Peter Geis <pgwipeout@gmail.com>
Date: Tue, 11 May 2021 17:13:34 -0400
Subject: [PATCH] regulator: fan53555: only bind tcs4525 to correct chip id
The tcs4525 regulator has a chip id of <12>.
Only allow the driver to bind to the correct chip id for safety, in
accordance with the other supported devices.
Signed-off-by: Peter Geis <pgwipeout@gmail.com>
Link: https://lore.kernel.org/r/20210511211335.2935163-3-pgwipeout@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/regulator/fan53555.c | 25 ++++++++++++++++++-------
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c
index 26f06f685b1b..16f28f9df6a1 100644
--- a/drivers/regulator/fan53555.c
+++ b/drivers/regulator/fan53555.c
@@ -89,6 +89,10 @@ enum {
FAN53555_CHIP_ID_08 = 8,
};
+enum {
+ TCS4525_CHIP_ID_12 = 12,
+};
+
/* IC mask revision */
enum {
FAN53555_CHIP_REV_00 = 0x3,
@@ -368,14 +372,21 @@ static int fan53555_voltages_setup_silergy(struct fan53555_device_info *di)
static int fan53555_voltages_setup_tcs(struct fan53555_device_info *di)
{
- di->slew_reg = TCS4525_TIME;
- di->slew_mask = TCS_SLEW_MASK;
- di->slew_shift = TCS_SLEW_MASK;
+ switch (di->chip_id) {
+ case TCS4525_CHIP_ID_12:
+ di->slew_reg = TCS4525_TIME;
+ di->slew_mask = TCS_SLEW_MASK;
+ di->slew_shift = TCS_SLEW_MASK;
- /* Init voltage range and step */
- di->vsel_min = 600000;
- di->vsel_step = 6250;
- di->vsel_count = FAN53526_NVOLTAGES;
+ /* Init voltage range and step */
+ di->vsel_min = 600000;
+ di->vsel_step = 6250;
+ di->vsel_count = FAN53526_NVOLTAGES;
+ break;
+ default:
+ dev_err(di->dev, "Chip ID %d not supported!\n", di->chip_id);
+ return -EINVAL;
+ }
return 0;
}
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Peter Geis <pgwipeout@gmail.com>
Date: Tue, 11 May 2021 17:13:35 -0400
Subject: [PATCH] regulator: fan53555: fix tcs4525 function names
The tcs4525 is based off the fan53526.
Rename the tcs4525 functions to align with this.
Signed-off-by: Peter Geis <pgwipeout@gmail.com>
Link: https://lore.kernel.org/r/20210511211335.2935163-4-pgwipeout@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/regulator/fan53555.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c
index 16f28f9df6a1..2695be617373 100644
--- a/drivers/regulator/fan53555.c
+++ b/drivers/regulator/fan53555.c
@@ -67,7 +67,7 @@ enum fan53555_vendor {
FAN53526_VENDOR_FAIRCHILD = 0,
FAN53555_VENDOR_FAIRCHILD,
FAN53555_VENDOR_SILERGY,
- FAN53555_VENDOR_TCS,
+ FAN53526_VENDOR_TCS,
};
enum {
@@ -233,7 +233,7 @@ static int fan53555_set_ramp(struct regulator_dev *rdev, int ramp)
slew_rate_t = slew_rates;
slew_rate_n = ARRAY_SIZE(slew_rates);
break;
- case FAN53555_VENDOR_TCS:
+ case FAN53526_VENDOR_TCS:
slew_rate_t = tcs_slew_rates;
slew_rate_n = ARRAY_SIZE(tcs_slew_rates);
break;
@@ -370,7 +370,7 @@ static int fan53555_voltages_setup_silergy(struct fan53555_device_info *di)
return 0;
}
-static int fan53555_voltages_setup_tcs(struct fan53555_device_info *di)
+static int fan53526_voltages_setup_tcs(struct fan53555_device_info *di)
{
switch (di->chip_id) {
case TCS4525_CHIP_ID_12:
@@ -420,7 +420,7 @@ static int fan53555_device_setup(struct fan53555_device_info *di,
return -EINVAL;
}
break;
- case FAN53555_VENDOR_TCS:
+ case FAN53526_VENDOR_TCS:
switch (pdata->sleep_vsel_id) {
case FAN53555_VSEL_ID_0:
di->sleep_reg = TCS4525_VSEL0;
@@ -459,7 +459,7 @@ static int fan53555_device_setup(struct fan53555_device_info *di,
di->mode_reg = di->vol_reg;
di->mode_mask = VSEL_MODE;
break;
- case FAN53555_VENDOR_TCS:
+ case FAN53526_VENDOR_TCS:
di->mode_reg = TCS4525_COMMAND;
switch (pdata->sleep_vsel_id) {
@@ -487,8 +487,8 @@ static int fan53555_device_setup(struct fan53555_device_info *di,
case FAN53555_VENDOR_SILERGY:
ret = fan53555_voltages_setup_silergy(di);
break;
- case FAN53555_VENDOR_TCS:
- ret = fan53555_voltages_setup_tcs(di);
+ case FAN53526_VENDOR_TCS:
+ ret = fan53526_voltages_setup_tcs(di);
break;
default:
dev_err(di->dev, "vendor %d not supported!\n", di->vendor);
@@ -563,7 +563,7 @@ static const struct of_device_id __maybe_unused fan53555_dt_ids[] = {
.data = (void *)FAN53555_VENDOR_SILERGY,
}, {
.compatible = "tcs,tcs4525",
- .data = (void *)FAN53555_VENDOR_TCS
+ .data = (void *)FAN53526_VENDOR_TCS
},
{ }
};
@@ -671,7 +671,7 @@ static const struct i2c_device_id fan53555_id[] = {
.driver_data = FAN53555_VENDOR_SILERGY
}, {
.name = "tcs4525",
- .driver_data = FAN53555_VENDOR_TCS
+ .driver_data = FAN53526_VENDOR_TCS
},
{ },
};
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Axel Lin <axel.lin@ingics.com>
Date: Mon, 17 May 2021 09:03:17 +0800
Subject: [PATCH] regulator: fan53555: Fix slew_shift setting for tcs4525
Fix trivial copy-paste mistake.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Link: https://lore.kernel.org/r/20210517010318.1027949-1-axel.lin@ingics.com
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/regulator/fan53555.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c
index 2695be617373..d582ef3a3aeb 100644
--- a/drivers/regulator/fan53555.c
+++ b/drivers/regulator/fan53555.c
@@ -376,7 +376,7 @@ static int fan53526_voltages_setup_tcs(struct fan53555_device_info *di)
case TCS4525_CHIP_ID_12:
di->slew_reg = TCS4525_TIME;
di->slew_mask = TCS_SLEW_MASK;
- di->slew_shift = TCS_SLEW_MASK;
+ di->slew_shift = TCS_SLEW_SHIFT;
/* Init voltage range and step */
di->vsel_min = 600000;
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Axel Lin <axel.lin@ingics.com>
Date: Mon, 17 May 2021 09:03:18 +0800
Subject: [PATCH] regulator: fan53555: Cleanup unused define and redundant
assignment
TCS_VSEL_NSEL_MASK is not used so remove it.
Also remove redundant assignment for di->slew_reg.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Link: https://lore.kernel.org/r/20210517010318.1027949-2-axel.lin@ingics.com
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/regulator/fan53555.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c
index d582ef3a3aeb..f3f49cf3731b 100644
--- a/drivers/regulator/fan53555.c
+++ b/drivers/regulator/fan53555.c
@@ -56,7 +56,6 @@
#define FAN53555_NVOLTAGES 64 /* Numbers of voltages */
#define FAN53526_NVOLTAGES 128
-#define TCS_VSEL_NSEL_MASK 0x7f
#define TCS_VSEL0_MODE (1 << 7)
#define TCS_VSEL1_MODE (1 << 6)
@@ -362,7 +361,6 @@ static int fan53555_voltages_setup_silergy(struct fan53555_device_info *di)
return -EINVAL;
}
di->slew_reg = FAN53555_CONTROL;
- di->slew_reg = FAN53555_CONTROL;
di->slew_mask = CTL_SLEW_MASK;
di->slew_shift = CTL_SLEW_SHIFT;
di->vsel_count = FAN53555_NVOLTAGES;

View File

@@ -1233,7 +1233,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
1 file changed, 8 insertions(+) 1 file changed, 8 insertions(+)
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index d42037f0f10d..019dc355509b 100644 index eaf4810fe656..6f8ea06b187b 100644
--- a/drivers/mmc/core/core.c --- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c
@@ -1349,6 +1349,14 @@ void mmc_power_off(struct mmc_host *host) @@ -1349,6 +1349,14 @@ void mmc_power_off(struct mmc_host *host)
@@ -1251,3 +1251,74 @@ index d42037f0f10d..019dc355509b 100644
mmc_pwrseq_power_off(host); mmc_pwrseq_power_off(host);
host->ios.clock = 0; host->ios.clock = 0;
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Fri, 28 May 2021 10:19:50 +0000
Subject: [PATCH] regulator: fan53555: add tcs4526
For rk3399pro boards the tcs4526 regulator supports the vdd_gpu
regulator. The tcs4526 regulator has a chip id of <0>.
Add the compatibile tcs,tcs4526
without this patch, the dmesg output is:
fan53555-regulator 0-0010: Chip ID 0 not supported!
fan53555-regulator 0-0010: Failed to setup device!
fan53555-regulator: probe of 0-0010 failed with error -22
with this patch, the dmesg output is:
vdd_gpu: supplied by vcc5v0_sys
The regulators are described as:
- Dedicated power management IC TCS4525
- Lithium battery protection chip TCS4526
This has been tested with a Radxa Rock Pi N10.
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
---
drivers/regulator/fan53555.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c
index f3f49cf3731b..bc8242e1dd0f 100644
--- a/drivers/regulator/fan53555.c
+++ b/drivers/regulator/fan53555.c
@@ -92,6 +92,10 @@ enum {
TCS4525_CHIP_ID_12 = 12,
};
+enum {
+ TCS4526_CHIP_ID_00 = 0,
+};
+
/* IC mask revision */
enum {
FAN53555_CHIP_REV_00 = 0x3,
@@ -372,6 +376,7 @@ static int fan53526_voltages_setup_tcs(struct fan53555_device_info *di)
{
switch (di->chip_id) {
case TCS4525_CHIP_ID_12:
+ case TCS4526_CHIP_ID_00:
di->slew_reg = TCS4525_TIME;
di->slew_mask = TCS_SLEW_MASK;
di->slew_shift = TCS_SLEW_SHIFT;
@@ -562,6 +567,9 @@ static const struct of_device_id __maybe_unused fan53555_dt_ids[] = {
}, {
.compatible = "tcs,tcs4525",
.data = (void *)FAN53526_VENDOR_TCS
+ }, {
+ .compatible = "tcs,tcs4526",
+ .data = (void *)FAN53526_VENDOR_TCS
},
{ }
};
@@ -670,6 +678,9 @@ static const struct i2c_device_id fan53555_id[] = {
}, {
.name = "tcs4525",
.driver_data = FAN53526_VENDOR_TCS
+ }, {
+ .name = "tcs4526",
+ .driver_data = FAN53526_VENDOR_TCS
},
{ },
};

View File

@@ -47,7 +47,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index d25c4a37e2af..b3e067031c83 100644 index 1263991de76f..71a6b7b0b057 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -223,6 +223,8 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv, @@ -223,6 +223,8 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv,
@@ -98,7 +98,7 @@ index 054d2e3eed67..d46424ba88e8 100644
FRAME_MBS_ONLY_FLAG); FRAME_MBS_ONLY_FLAG);
WRITE_PPS(!!(sps->flags & V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD), WRITE_PPS(!!(sps->flags & V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD),
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index b3e067031c83..06fc58440cd3 100644 index 71a6b7b0b057..f405dd72ad93 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -29,8 +29,11 @@ @@ -29,8 +29,11 @@
@@ -682,7 +682,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
1 file changed, 15 insertions(+), 14 deletions(-) 1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 06fc58440cd3..dc16bf8d57a9 100644 index f405dd72ad93..c81ca5c7e979 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -27,6 +27,17 @@ @@ -27,6 +27,17 @@
@@ -754,7 +754,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2 files changed, 55 insertions(+), 6 deletions(-) 2 files changed, 55 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index dc16bf8d57a9..6b2a2f4164b2 100644 index c81ca5c7e979..a11474214bde 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -38,6 +38,16 @@ static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx, @@ -38,6 +38,16 @@ static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx,
@@ -947,7 +947,7 @@ index 6f2d41b2e076..c115cd362a7f 100644
.stop = rkvdec_h264_stop, .stop = rkvdec_h264_stop,
.run = rkvdec_h264_run, .run = rkvdec_h264_run,
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 6b2a2f4164b2..bd8ec2915fe9 100644 index a11474214bde..b57a39ce4f48 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -31,7 +31,7 @@ static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx, @@ -31,7 +31,7 @@ static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx,
@@ -1014,7 +1014,7 @@ Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
1 file changed, 13 insertions(+) 1 file changed, 13 insertions(+)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index bd8ec2915fe9..87987a782d75 100644 index b57a39ce4f48..9492822c12ae 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -132,6 +132,19 @@ static const struct rkvdec_ctrl_desc rkvdec_h264_ctrl_descs[] = { @@ -132,6 +132,19 @@ static const struct rkvdec_ctrl_desc rkvdec_h264_ctrl_descs[] = {

View File

@@ -451,94 +451,6 @@ index db6ea48e21f9..1e2a4de941aa 100644
ktime_t busy_time; ktime_t busy_time;
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Brezillon <boris.brezillon@collabora.com>
Date: Fri, 5 Feb 2021 12:17:55 +0100
Subject: [PATCH] drm/panfrost: Clear MMU irqs before handling the fault
When a fault is handled it will unblock the GPU which will continue
executing its shader and might fault almost immediately on a different
page. If we clear interrupts after handling the fault we might miss new
faults, so clear them before.
Cc: <stable@vger.kernel.org>
Fixes: 187d2929206e ("drm/panfrost: Add support for GPU heap allocations")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
---
drivers/gpu/drm/panfrost/panfrost_mmu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c
index be8d68fb0e11..e5f7f647430f 100644
--- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
+++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c
@@ -600,6 +600,8 @@ static irqreturn_t panfrost_mmu_irq_handler_thread(int irq, void *data)
access_type = (fault_status >> 8) & 0x3;
source_id = (fault_status >> 16);
+ mmu_write(pfdev, MMU_INT_CLEAR, mask);
+
/* Page fault only */
ret = -1;
if ((status & mask) == BIT(i) && (exception_type & 0xF8) == 0xC0)
@@ -623,8 +625,6 @@ static irqreturn_t panfrost_mmu_irq_handler_thread(int irq, void *data)
access_type, access_type_name(pfdev, fault_status),
source_id);
- mmu_write(pfdev, MMU_INT_CLEAR, mask);
-
status &= ~mask;
}
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Brezillon <boris.brezillon@collabora.com>
Date: Fri, 5 Feb 2021 12:17:56 +0100
Subject: [PATCH] drm/panfrost: Don't try to map pages that are already mapped
We allocate 2MB chunks at a time, so it might appear that a page fault
has already been handled by a previous page fault when we reach
panfrost_mmu_map_fault_addr(). Bail out in that case to avoid mapping the
same area twice.
Cc: <stable@vger.kernel.org>
Fixes: 187d2929206e ("drm/panfrost: Add support for GPU heap allocations")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
---
drivers/gpu/drm/panfrost/panfrost_mmu.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c
index e5f7f647430f..198686216317 100644
--- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
+++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c
@@ -495,8 +495,14 @@ static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as,
}
bo->base.pages = pages;
bo->base.pages_use_count = 1;
- } else
+ } else {
pages = bo->base.pages;
+ if (pages[page_offset]) {
+ /* Pages are already mapped, bail out. */
+ mutex_unlock(&bo->base.pages_lock);
+ goto out;
+ }
+ }
mapping = bo->base.base.filp->f_mapping;
mapping_set_unevictable(mapping);
@@ -529,6 +535,7 @@ static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as,
dev_dbg(pfdev->dev, "mapped page fault @ AS%d %llx", as, addr);
+out:
panfrost_gem_mapping_put(bomapping);
return 0;
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Boris Brezillon <boris.brezillon@collabora.com> From: Boris Brezillon <boris.brezillon@collabora.com>
Date: Fri, 5 Feb 2021 12:17:57 +0100 Date: Fri, 5 Feb 2021 12:17:57 +0100

View File

@@ -3421,6 +3421,7 @@ index 3719309ad0d0..00025dcd3bb9 100644
{ /* sentinel */ } { /* sentinel */ }
}; };
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Algea Cao <algea.cao@rock-chips.com> From: Algea Cao <algea.cao@rock-chips.com>
Date: Wed, 6 Jun 2018 15:47:12 +0800 Date: Wed, 6 Jun 2018 15:47:12 +0800
@@ -3456,3 +3457,48 @@ index 3340aef73d8d..d798846579f5 100644
switch (hdmi_bus_fmt_color_depth(hdmi->hdmi_data.enc_out_bus_format)) { switch (hdmi_bus_fmt_color_depth(hdmi->hdmi_data.enc_out_bus_format)) {
case 8: case 8:
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Alex Bee <knaerzche@gmail.com>
Date: Tue, 1 Jun 2021 19:24:37 +0200
Subject: [PATCH] drm/rockchip: allow 4096px with modes
There is no reason to limit to modes up to 3840.
Also drop the limitation from dw_hdmi_rockchip_mode_valid, since
the max dimenstions of the actual vop version is validated in
vop_crtc_mode_valid anyways.
Signed-off-by: Alex Bee <knaerzche@gmail.com>
---
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 2 +-
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
index a612bf3da9ee..e4cfa6adbd87 100644
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
@@ -329,7 +329,7 @@ dw_hdmi_rockchip_mode_valid(struct dw_hdmi *hdmi, void *data,
return MODE_CLOCK_HIGH;
}
- return drm_mode_validate_size(mode, 3840, 2160);
+ return MODE_OK;
}
static void
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 5622ffd1b587..a0d27a9a9675 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -401,8 +401,8 @@ static void scl_vop_cal_scl_fac(struct vop *vop, const struct vop_win_data *win,
if (info->is_yuv)
is_yuv = true;
- if (dst_w > 3840) {
- DRM_DEV_ERROR(vop->dev, "Maximum dst width (3840) exceeded\n");
+ if (dst_w > 4096) {
+ DRM_DEV_ERROR(vop->dev, "Maximum dst width (4096) exceeded\n");
return;
}

View File

@@ -10,7 +10,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
1 file changed, 4 insertions(+), 2 deletions(-) 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 87987a782d75..a1c33905970d 100644 index 9492822c12ae..b49541f8ecf5 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -1024,7 +1024,8 @@ static irqreturn_t rkvdec_irq_handler(int irq, void *priv) @@ -1024,7 +1024,8 @@ static irqreturn_t rkvdec_irq_handler(int irq, void *priv)
@@ -46,7 +46,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index a1c33905970d..8c2ff05e01f7 100644 index b49541f8ecf5..51e257a0233d 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -1145,9 +1145,9 @@ static int rkvdec_remove(struct platform_device *pdev) @@ -1145,9 +1145,9 @@ static int rkvdec_remove(struct platform_device *pdev)
@@ -712,7 +712,7 @@ index 15b9bee92016..3acc914888f6 100644
#define RKVDEC_REG_SYSCTRL 0x008 #define RKVDEC_REG_SYSCTRL 0x008
#define RKVDEC_IN_ENDIAN BIT(0) #define RKVDEC_IN_ENDIAN BIT(0)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 8c2ff05e01f7..bd0297239c6a 100644 index 51e257a0233d..c05ba31ed656 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -10,12 +10,15 @@ @@ -10,12 +10,15 @@
@@ -1008,7 +1008,7 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
1 file changed, 5 insertions(+), 3 deletions(-) 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index bd0297239c6a..8aa946f8f7ad 100644 index c05ba31ed656..4111155d62f4 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -1134,10 +1134,12 @@ static int rkvdec_probe(struct platform_device *pdev) @@ -1134,10 +1134,12 @@ static int rkvdec_probe(struct platform_device *pdev)

View File

@@ -828,3 +828,187 @@ index fb7599f07af4..155f22b53103 100644
mmc-hs400-1_8v; mmc-hs400-1_8v;
mmc-hs400-enhanced-strobe; mmc-hs400-enhanced-strobe;
non-removable; non-removable;
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Alex Bee <knaerzche@gmail.com>
Date: Tue, 1 Jun 2021 19:37:07 +0200
Subject: [PATCH] arm64: dts: rockchip: re-add regulator-always-on for vdd_vpu
Seems to be required by panfrost.
Fixes: ec7d731d81e7 ("arm64: dts: rockchip: Add node for gpu on rk3399-roc-pc")
Signed-off-by: Alex Bee <knaerzche@gmail.com>
---
arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
index 20309076dbac..e4345e5bdfb6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
@@ -488,6 +488,8 @@ vdd_gpu: regulator@41 {
regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <1000>;
+ regulator-always-on;
+ regulator-boot-on;
vin-supply = <&vcc3v3_sys>;
regulator-state-mem {
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Tue, 1 Jun 2021 19:42:31 +0200
Subject: [PATCH] arm64: dts: rockchip: dts additions for Rock Pi N10
---
.../dts/rockchip/rk3399pro-rock-pi-n10.dts | 4 +
.../dts/rockchip/rk3399pro-vmarc-som.dtsi | 83 +++++++++++++++++++
2 files changed, 87 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399pro-rock-pi-n10.dts b/arch/arm64/boot/dts/rockchip/rk3399pro-rock-pi-n10.dts
index 369de5dc0ebd..48ac0cfa93c0 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399pro-rock-pi-n10.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399pro-rock-pi-n10.dts
@@ -20,3 +20,7 @@ chosen {
stdout-path = "serial2:1500000n8";
};
};
+
+&uart2 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi b/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi
index 7257494d2831..9e2994e27d05 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi
@@ -57,6 +57,22 @@ &hdmi {
pinctrl-0 = <&hdmi_cec>;
};
+&hdmi_sound {
+ status = "okay";
+};
+
+&gpu {
+ mali-supply = <&vdd_gpu>;
+ assigned-clocks = <&cru ACLK_GPU>;
+ assigned-clock-rates = <200000000>;
+ status = "okay";
+ /delete-property/ operating-points-v2;
+};
+
+&vopl {
+ status = "disabled";
+};
+
&i2c0 {
clock-frequency = <400000>;
i2c-scl-falling-time-ns = <30>;
@@ -280,6 +296,50 @@ regulator-state-mem {
};
};
};
+
+ vdd_cpu_b: tcs4525@1c {
+ compatible = "tcs,tcs4525";
+ reg = <0x1c>;
+ vin-supply = <&vcc5v0_sys>;
+ regulator-compatible = "fan53555-reg";
+ pinctrl-0 = <&vsel1_gpio>;
+ vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
+ regulator-name = "vdd_cpu_b";
+ regulator-min-microvolt = <712500>;
+ regulator-max-microvolt = <1500000>;
+ regulator-ramp-delay = <2300>;
+ fcs,suspend-voltage-selector = <1>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-initial-state = <3>;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_gpu: tcs4526@10 {
+ compatible = "tcs,tcs4526";
+ reg = <0x10>;
+ vin-supply = <&vcc5v0_sys>;
+ regulator-compatible = "fan53555-reg";
+ pinctrl-0 = <&vsel2_gpio>;
+ vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
+ regulator-name = "vdd_gpu";
+ regulator-min-microvolt = <735000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-ramp-delay = <1000>;
+ fcs,suspend-voltage-selector = <1>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-initial-state = <3>;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+};
+
+&i2s2 {
+ status = "okay";
};
&i2c1 {
@@ -351,6 +411,29 @@ pmic {
pmic_int_l: pmic-int-l {
rockchip,pins = <1 RK_PC2 0 &pcfg_pull_up>;
};
+ vsel1_gpio: vsel1-gpio {
+ rockchip,pins =
+ <1 RK_PC1 0 &pcfg_pull_down>;
+ };
+ vsel2_gpio: vsel2-gpio {
+ rockchip,pins =
+ <1 RK_PB6 0 &pcfg_pull_down>;
+ };
+
+ soc_slppin_gpio: soc-slppin-gpio {
+ rockchip,pins =
+ <1 RK_PA5 0 &pcfg_output_low>;
+ };
+
+ soc_slppin_slp: soc-slppin-slp {
+ rockchip,pins =
+ <1 RK_PA5 1 &pcfg_pull_down>;
+ };
+
+ soc_slppin_rst: soc-slppin-rst {
+ rockchip,pins =
+ <1 RK_PA5 2 &pcfg_pull_none>;
+ };
};
sdio-pwrseq {
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Alex Bee <knaerzche@gmail.com>
Date: Fri, 4 Jun 2021 22:19:32 +0200
Subject: [PATCH] arm64: dts: rockchip: Re-add regulator-always-on property for
vcc_sdio for RK3399-ROC-PC
Otherwise the board is not able to reboot.
Fixes: 04a0077fdb19 ("arm64: dts: rockchip: Remove always-on properties from regulator nodes on rk3399-roc-pc.")
Signed-off-by: Alex Bee <knaerzche@gmail.com>
---
arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
index e4345e5bdfb6..03f2dcff8490 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
@@ -385,6 +385,7 @@ regulator-state-mem {
vcc_sdio: LDO_REG4 {
regulator-name = "vcc_sdio";
regulator-boot-on;
+ regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3000000>;
regulator-state-mem {

View File

@@ -15,7 +15,7 @@ Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
1 file changed, 9 insertions(+), 1 deletion(-) 1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 8aa946f8f7ad..6768fffe4d94 100644 index 4111155d62f4..c4e0ec16c285 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -546,7 +546,15 @@ static int rkvdec_buf_prepare(struct vb2_buffer *vb) @@ -546,7 +546,15 @@ static int rkvdec_buf_prepare(struct vb2_buffer *vb)
@@ -637,7 +637,7 @@ index ce728c757eaf..456488f2b5ca 100644
\normalsize \normalsize
diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
index cfe422d9f439..1666a7ec873a 100644 index 41f8410d08d6..7ed11f296008 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls.c --- a/drivers/media/v4l2-core/v4l2-ctrls.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls.c +++ b/drivers/media/v4l2-core/v4l2-ctrls.c
@@ -971,6 +971,11 @@ const char *v4l2_ctrl_get_name(u32 id) @@ -971,6 +971,11 @@ const char *v4l2_ctrl_get_name(u32 id)
@@ -901,7 +901,7 @@ index cfe422d9f439..1666a7ec873a 100644
case V4L2_CTRL_TYPE_HEVC_SPS: case V4L2_CTRL_TYPE_HEVC_SPS:
p_hevc_sps = p; p_hevc_sps = p;
@@ -2618,6 +2851,12 @@ static struct v4l2_ctrl *v4l2_ctrl_new(struct v4l2_ctrl_handler *hdl, @@ -2635,6 +2868,12 @@ static struct v4l2_ctrl *v4l2_ctrl_new(struct v4l2_ctrl_handler *hdl,
case V4L2_CTRL_TYPE_VP8_FRAME_HEADER: case V4L2_CTRL_TYPE_VP8_FRAME_HEADER:
elem_size = sizeof(struct v4l2_ctrl_vp8_frame_header); elem_size = sizeof(struct v4l2_ctrl_vp8_frame_header);
break; break;
@@ -927,7 +927,7 @@ index 1ff68c1bf14a..783733bef2da 100644
case V4L2_PIX_FMT_HEVC_SLICE: descr = "HEVC Parsed Slice Data"; break; case V4L2_PIX_FMT_HEVC_SLICE: descr = "HEVC Parsed Slice Data"; break;
case V4L2_PIX_FMT_FWHT: descr = "FWHT"; break; /* used in vicodec */ case V4L2_PIX_FMT_FWHT: descr = "FWHT"; break; /* used in vicodec */
diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h
index cb25f345e9ad..fb299d83df6b 100644 index 9ecbb98908f0..ebcb34759ad8 100644
--- a/include/media/v4l2-ctrls.h --- a/include/media/v4l2-ctrls.h
+++ b/include/media/v4l2-ctrls.h +++ b/include/media/v4l2-ctrls.h
@@ -21,6 +21,7 @@ @@ -21,6 +21,7 @@
@@ -3061,7 +3061,7 @@ index 000000000000..8b443ed511c9
+ .done = rkvdec_vp9_done, + .done = rkvdec_vp9_done,
+}; +};
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 6768fffe4d94..f3cb15dc60ca 100644 index c4e0ec16c285..f3578c5ea902 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -162,6 +162,40 @@ static const u32 rkvdec_h264_decoded_fmts[] = { @@ -162,6 +162,40 @@ static const u32 rkvdec_h264_decoded_fmts[] = {

View File

@@ -78,7 +78,7 @@ index d585909bc4e2..f817c643761b 100644
Buffers associated with this pixel format must contain the appropriate Buffers associated with this pixel format must contain the appropriate
number of macroblocks to decode a full corresponding frame. number of macroblocks to decode a full corresponding frame.
diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
index 1666a7ec873a..92bbfb81610d 100644 index 7ed11f296008..a2609de88d26 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls.c --- a/drivers/media/v4l2-core/v4l2-ctrls.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls.c +++ b/drivers/media/v4l2-core/v4l2-ctrls.c
@@ -1026,6 +1026,7 @@ const char *v4l2_ctrl_get_name(u32 id) @@ -1026,6 +1026,7 @@ const char *v4l2_ctrl_get_name(u32 id)
@@ -109,7 +109,7 @@ index 1666a7ec873a..92bbfb81610d 100644
case V4L2_CTRL_TYPE_AREA: case V4L2_CTRL_TYPE_AREA:
area = p; area = p;
if (!area->width || !area->height) if (!area->width || !area->height)
@@ -2866,6 +2873,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(struct v4l2_ctrl_handler *hdl, @@ -2883,6 +2890,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(struct v4l2_ctrl_handler *hdl,
case V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS: case V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS:
elem_size = sizeof(struct v4l2_ctrl_hevc_slice_params); elem_size = sizeof(struct v4l2_ctrl_hevc_slice_params);
break; break;
@@ -2898,7 +2898,7 @@ index 3acc914888f6..4addfaefdfb4 100644
#define RKVDEC_MODE_VP9 2 #define RKVDEC_MODE_VP9 2
#define RKVDEC_RPS_MODE BIT(24) #define RKVDEC_RPS_MODE BIT(24)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index f3cb15dc60ca..fa53bbce95f2 100644 index f3578c5ea902..a44db1aa161e 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -162,6 +162,61 @@ static const u32 rkvdec_h264_decoded_fmts[] = { @@ -162,6 +162,61 @@ static const u32 rkvdec_h264_decoded_fmts[] = {
@@ -3038,7 +3038,7 @@ index 03ba848411c6..b8ad7fc2271c 100644
.stop = rkvdec_hevc_stop, .stop = rkvdec_hevc_stop,
.run = rkvdec_hevc_run, .run = rkvdec_hevc_run,
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index fa53bbce95f2..8c8c075635a1 100644 index a44db1aa161e..7419ae7027ab 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -79,6 +79,26 @@ static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl) @@ -79,6 +79,26 @@ static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl)
@@ -3243,7 +3243,7 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
2 files changed, 84 insertions(+), 30 deletions(-) 2 files changed, 84 insertions(+), 30 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 8c8c075635a1..6c19b535f468 100644 index 7419ae7027ab..ab8b42f4f98c 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -14,6 +14,7 @@ @@ -14,6 +14,7 @@
@@ -3515,7 +3515,7 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
1 file changed, 8 insertions(+) 1 file changed, 8 insertions(+)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 6c19b535f468..c3fbf9c94a11 100644 index ab8b42f4f98c..162623567a1d 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -1285,11 +1285,19 @@ static const struct rkvdec_variant rk3399_rkvdec_variant = { @@ -1285,11 +1285,19 @@ static const struct rkvdec_variant rk3399_rkvdec_variant = {

View File

@@ -36,11 +36,13 @@ fi
# If PKG_SOURCE_DIR is set don't apply any directory mangling # If PKG_SOURCE_DIR is set don't apply any directory mangling
# so advanced renaming (eg stripping more than one directory level) # so advanced renaming (eg stripping more than one directory level)
# can be performed by scripts/unpack. # can be performed by scripts/unpack.
# If the archive does not contain a top level folder the strip components
# can be disabled by PKG_TAR_STRIP_COMPONENTS="no" in package.mk
TAR_OPTS=""
if [ -z "${PKG_SOURCE_DIR}" ]; then if [ -z "${PKG_SOURCE_DIR}" ]; then
TAR_OPTS="--strip-components=1" [ -z ${PKG_TAR_STRIP_COMPONENTS} ] && TAR_OPTS="--strip-components=1" || :
DESTDIR="${2}/${PKG_NAME}-${PKG_VERSION}" DESTDIR="${2}/${PKG_NAME}-${PKG_VERSION}"
else else
TAR_OPTS=""
DESTDIR="${2}" DESTDIR="${2}"
fi fi

View File

@@ -289,7 +289,11 @@ devices = \
'config': 'evb-rk3399_defconfig' 'config': 'evb-rk3399_defconfig'
}, },
'rock-pi-4': { 'rock-pi-4': {
'dtb': 'rk3399-rock-pi-4a.dtb', 'dtb': 'rk3399-rock-pi-4b.dtb',
'config': 'evb-rk3399_defconfig'
},
'rock-pi-n10': {
'dtb': 'rk3399pro-rock-pi-n10.dtb',
'config': 'evb-rk3399_defconfig' 'config': 'evb-rk3399_defconfig'
}, },
'rockpro64': { 'rockpro64': {
@@ -297,8 +301,8 @@ devices = \
'config': 'evb-rk3399_defconfig' 'config': 'evb-rk3399_defconfig'
}, },
'roc-pc': { 'roc-pc': {
'dtb': 'rk3399-roc-pc.dtb', 'dtb': 'rk3399-roc-pc-mezzanine.dtb',
'config': 'evb-rk3399_defconfig' 'config': 'firefly-rk3399_defconfig'
}, },
'sapphire': { 'sapphire': {
'dtb': 'rk3399-sapphire.dtb', 'dtb': 'rk3399-sapphire.dtb',

View File

@@ -126,6 +126,8 @@ if [ -d "${SOURCES}/${PKG_NAME}" -o -d "${PKG_DIR}/sources" ] || pkg_call_exists
if [ "${TARGET_ARCH}" = "x86_64" ]; then if [ "${TARGET_ARCH}" = "x86_64" ]; then
PATCH_ARCH="x86" PATCH_ARCH="x86"
elif [ "${PKG_IS_KERNEL_PKG}" = "yes" ]; then
PATCH_ARCH="${TARGET_KERNEL_PATCH_ARCH:-${TARGET_ARCH}}"
else else
PATCH_ARCH="${TARGET_PATCH_ARCH:-${TARGET_ARCH}}" PATCH_ARCH="${TARGET_PATCH_ARCH:-${TARGET_ARCH}}"
fi fi