summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorboogie2023-07-21 00:12:50 +0200
committerboogie2023-07-21 02:18:56 +0200
commit14a0a8705f127a23347fcbdfbde4dbb058b13182 (patch)
tree056405c80516964dd4941fbc062a57666775abb4
parenta001021fbecb1867e9b443501c783700d47f5010 (diff)
downloadaur-14a0a8705f127a23347fcbdfbde4dbb058b13182.tar.gz
update to rkr4.1 and deliver libmali together
-rw-r--r--.SRCINFO74
-rw-r--r--0001-VENDOR-Add-Radxa-overlays.patch (renamed from 0009-VENDOR-Add-Radxa-overlays.patch)0
-rw-r--r--0001-mm-page_alloc-fix-building-error-on-Werror-array-com.patch42
-rw-r--r--0002-Fix-dangling-pointer-compiler-bug.patch (renamed from 0010-Fix-dangling-pointer-compiler-bug.patch)0
-rw-r--r--0002-etherdevice-Adjust-ether_addr-prototypes-to-silence-.patch63
-rw-r--r--0003-Disable-tristate-for-non-modules.patch (renamed from 0011-Disable-tristate-for-non-modules.patch)0
-rw-r--r--0003-drm-rockchip-vop-Use-clipped-src-dst-coordinates.patch85
-rw-r--r--0004-Disable-tristate-for-modules-that-uses-unexported-sy.patch (renamed from 0012-Disable-tristate-for-modules-that-uses-unexported-sy.patch)11
-rw-r--r--0004-Update-existing-ROCK-4-OPP-settings.patch63
-rw-r--r--0005-Add-additional-ROCK-4-products.patch203
-rw-r--r--0005-Disable-tristate-for-builtin-dependencies.patch (renamed from 0013-Disable-tristate-for-builtin-dependencies.patch)0
-rw-r--r--0006-Enable-DMC-for-ROCK-4.patch354
-rw-r--r--0006-Revert-dma-buf-sw_sync-build-sw-sync-as-module-for-g.patch (renamed from 0014-Revert-dma-buf-sw_sync-build-sw-sync-as-module-for-g.patch)0
-rw-r--r--0007-Disable-tristate-for-essential-boot-services.patch (renamed from 0015-Disable-tristate-for-essential-boot-services.patch)0
-rw-r--r--0007-Fix-ROCK-4-OTG-switch.patch40
-rw-r--r--0008-Add-pwm-fan-for-ROCK-4C.patch66
-rw-r--r--0008-Modfy-GPU-node-for-Panfrost-driver.patch (renamed from 0017-Modfy-GPU-node-for-Panfrost-driver.patch)0
-rw-r--r--0009-VENDOR-Version-tagging-linux-libc-dev-as-well.patch (renamed from 0018-VENDOR-Version-tagging-linux-libc-dev-as-well.patch)0
-rw-r--r--0010-Add-ROCK-4-Core-IO-Board-Fuhai.patch (renamed from 0019-Add-ROCK-4-Core-IO-Board-Fuhai.patch)0
-rw-r--r--0011-gcc-ignore-stringop-overread-warnings.patch (renamed from 0020-gcc-ignore-stringop-overread-warnings.patch)0
-rw-r--r--0012-Enable_AV1_decoder_on_3588.patch (renamed from 0026-Enable_AV1_decoder_on_3588.patch)0
-rw-r--r--0016-Revert-ANDROID-clk-Enable-writable-debugfs-files.patch26
-rw-r--r--0020-dma-buf-add-dma_resv_get_singleton-v2.patch (renamed from 0021-dma-buf-add-dma_resv_get_singleton-v2.patch)11
-rw-r--r--0021-dma-buf-Add-an-API-for-exporting-sync-files-v14.patch (renamed from 0022-dma-buf-Add-an-API-for-exporting-sync-files-v14.patch)21
-rw-r--r--0022-dma-buf-Add-an-API-for-importing-sync-files-v10.patch (renamed from 0023-dma-buf-Add-an-API-for-importing-sync-files-v10.patch)19
-rw-r--r--0024-MALI-bifrost-avoid-fence-double-free.patch26
-rw-r--r--0025-drm-rockchip-Re-add-implicit-fencing-support-for-pla.patch40
-rw-r--r--PKGBUILD114
-rwxr-xr-xlibmali19
-rwxr-xr-xlibmaliw18
30 files changed, 150 insertions, 1145 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b2e36ef2dbb0..954666635e62 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = linux-radxa-rkbsp5-git
pkgdesc = Latest git Linux kernel package based on 5.10.x BSP kernel published by RADXA targetting rk3399 based rock4 and rk3588 based rock5 boards
- pkgver = 5.10
+ pkgver = 5.10.1080499.5fa580a5149c.624ad59
pkgrel = 2
url = https://github.com/radxa
arch = aarch64
@@ -15,66 +15,54 @@ pkgbase = linux-radxa-rkbsp5-git
makedepends = vboot-utils
makedepends = dtc
options = !strip
- source = git+https://github.com/radxa/kernel.git#branch=linux-5.10-gen-rkr3.4
+ source = git+https://github.com/radxa/kernel.git#branch=linux-5.10-gen-rkr4.1
source = git+https://github.com/radxa/overlays.git#branch=main
source = linux.preset
source = extlinux.arch.template
- source = 0001-mm-page_alloc-fix-building-error-on-Werror-array-com.patch
- source = 0002-etherdevice-Adjust-ether_addr-prototypes-to-silence-.patch
- source = 0003-drm-rockchip-vop-Use-clipped-src-dst-coordinates.patch
- source = 0004-Update-existing-ROCK-4-OPP-settings.patch
- source = 0005-Add-additional-ROCK-4-products.patch
- source = 0006-Enable-DMC-for-ROCK-4.patch
- source = 0007-Fix-ROCK-4-OTG-switch.patch
- source = 0008-Add-pwm-fan-for-ROCK-4C.patch
- source = 0009-VENDOR-Add-Radxa-overlays.patch
- source = 0010-Fix-dangling-pointer-compiler-bug.patch
- source = 0011-Disable-tristate-for-non-modules.patch
- source = 0012-Disable-tristate-for-modules-that-uses-unexported-sy.patch
- source = 0013-Disable-tristate-for-builtin-dependencies.patch
- source = 0014-Revert-dma-buf-sw_sync-build-sw-sync-as-module-for-g.patch
- source = 0015-Disable-tristate-for-essential-boot-services.patch
- source = 0016-Revert-ANDROID-clk-Enable-writable-debugfs-files.patch
- source = 0017-Modfy-GPU-node-for-Panfrost-driver.patch
- source = 0018-VENDOR-Version-tagging-linux-libc-dev-as-well.patch
- source = 0019-Add-ROCK-4-Core-IO-Board-Fuhai.patch
- source = 0020-gcc-ignore-stringop-overread-warnings.patch
- source = 0021-dma-buf-add-dma_resv_get_singleton-v2.patch
- source = 0022-dma-buf-Add-an-API-for-exporting-sync-files-v14.patch
- source = 0023-dma-buf-Add-an-API-for-importing-sync-files-v10.patch
- source = 0024-MALI-bifrost-avoid-fence-double-free.patch
- source = 0025-drm-rockchip-Re-add-implicit-fencing-support-for-pla.patch
- source = 0026-Enable_AV1_decoder_on_3588.patch
+ source = 0001-VENDOR-Add-Radxa-overlays.patch
+ source = 0002-Fix-dangling-pointer-compiler-bug.patch
+ source = 0003-Disable-tristate-for-non-modules.patch
+ source = 0004-Disable-tristate-for-modules-that-uses-unexported-sy.patch
+ source = 0005-Disable-tristate-for-builtin-dependencies.patch
+ source = 0006-Revert-dma-buf-sw_sync-build-sw-sync-as-module-for-g.patch
+ source = 0007-Disable-tristate-for-essential-boot-services.patch
+ source = 0008-Modfy-GPU-node-for-Panfrost-driver.patch
+ source = 0009-VENDOR-Version-tagging-linux-libc-dev-as-well.patch
+ source = 0010-Add-ROCK-4-Core-IO-Board-Fuhai.patch
+ source = 0011-gcc-ignore-stringop-overread-warnings.patch
+ source = 0012-Enable_AV1_decoder_on_3588.patch
+ source = 0020-dma-buf-add-dma_resv_get_singleton-v2.patch
+ source = 0021-dma-buf-Add-an-API-for-exporting-sync-files-v14.patch
+ source = 0022-dma-buf-Add-an-API-for-importing-sync-files-v10.patch
+ source = libmali_g610_wayland.so::https://github.com/JeffyCN/mirrors/raw/libmali/lib/aarch64-linux-gnu/libmali-valhall-g610-g13p0-wayland-gbm.so
+ source = libmali_g610_x.so::https://github.com/JeffyCN/mirrors/raw/libmali/lib/aarch64-linux-gnu/libmali-valhall-g610-g13p0-x11-gbm.so
+ source = mali_csffw.bin::https://github.com/JeffyCN/mirrors/raw/488f49467f5b4adb8ae944221698e9a4f9acb0ed/firmware/g610/mali_csffw.bin
+ source = libmali
+ source = libmaliw
b2sums = SKIP
b2sums = SKIP
b2sums = bd296f775df973c6dcb6bd8311ce4d3af9a8d4a67905f17c450cae776aab0229987d473334d38fd102a34ed483a121f67ac58a48fd9e6fab2c714c7079e06613
b2sums = d8208257c8f2e23a9dbcf2a1bbd11b5a638679cd49dd03d4ea190d1ecd94e2760cccb2cd1cda890816a9c338ce2f38c859961f4ab3a22fca458a453ca0d5f2fc
- b2sums = 74b6d76888267785ac99e58bdb852c667865d44353821c01052734d58e1213c16290aabff7ae6c95ac6b24893fe5109897f949d814ccec55cc69af9885fc62f6
- b2sums = 461eb48692574f48d37a9a236b3a17992493cf07a39ab72f78fa0ac4f04e3ff9896f16e721c111f865d9aa3d3f0d7b7c082fe2f319eee0e1a6c54db44f0a6e53
- b2sums = 2703d12281e60e2b9f057bbb3ac28e190f77c4ad8cfccc6f1a316b9bc6434e7ca296221eeb8992134c2d365a5afea7b7adf1d9516e3c89c3fc03f0941f65e5c2
- b2sums = 376e54c72261c803d40e3ddca06e39b72c85fe4d8743e79cac1c8ced3feb953760471a6784cc4922b0bcf00004f9b2a9407094b6075883c5ce82786ff357cb3b
- b2sums = c09942deeead81798f47e07f72e6b8748e8b44682d72a1bd0d50e7c9f20e9ae8243c248a234ecc1f48112c40d2690c5ab171fdc9ba55101f4cc5294888c9f49b
- b2sums = 6277d3f4e43eb20b735e8ef933f4e9fccc5077484f2c7051b7f47bfae77ffce13387199650cc90adf14d4dc941bb376d9e52d48bab37412afe9437e5d081a130
- b2sums = 4d42cee746b74a2f2982187a568b939cc1d3f3e3bc18472fea0ce9eb27d658170f434a14526e339fb36d2936a7a17b59a699a4c351152a56f8ab7743e670c05a
- b2sums = 53b3d818d3d8bdcebe5bf1b25f6196615fe605f4d9f282d0f2effa44bd1480241b0d4e5eedfbc34fa27e2ce90ee634799e3aefad1bd701c250c502e4b2178d71
b2sums = 4908b5a94c02a4eb0fe8bb9983289f1b8acbb1b8ebb541643c7ec4ac5de87be949efbdec839d34603b045500b13033f836385bdbf3e935fcd8d221f71028d604
b2sums = e612cf028aaf8f99c2735a6e1640170af51e62aa86a8cc795694ac089b2f31be93e67c6ee394cd22d290a787cd9f064861b0bb173033069710881280432ad45f
b2sums = bde631de66dde60339c7fa306b06a9100ac41adaeb16788c800157324a288a97629c41dda5076698c1ef71b8b7f44b5eba619b6aac92d0d5c59e796fb2aa407a
- b2sums = 1836fb5f211c4feb279de7d241799ff483eb6d4728cdba74ad44c8808a5d5be0077c53a315ae4f6d16f157156f5d6d00a5428a857f4164659e7a2feb584f5ec9
+ b2sums = bc56e29a4b54bc20cda18023667c115a5819bb1fff9ac9fbe6296d5b89897f82d65fa99e9d013bf25fc0a17e22be219cfef7eb55ceaa6a228da92db8b2a20406
b2sums = 16b725f25bc150675888dcc03125cd285f2c73f7955d90d521af9a139d717836afab07a995f7018e19cdad41964061800503e40e32656ee54bf69c22e8c8a53f
b2sums = 8a6c96251c48048ff653285646347853d5df5264d1bf0bf798a48d3636480263125f92c5cb21f7d4b4988b6d831636d34de1b882c0209110178117e3ea1a0630
b2sums = f5ab48ee96b6df65ec20742e5bb2badffa7ed926f5020d64bdcfe1fe924fff9cafdb70c7983084f4294ab5663c5b56eeb51e96df176253175e9bde52121c3164
- b2sums = 1bf65b95368a4134086b03598943f6d4025fefec436e170b95fa8478523755187c427ab038ae3fe3aef319c6a266e58c1d360575fd08720dd60957578054fa28
b2sums = d7c4496318bd3fc5294af88bcdeafa49b04683d1e1fe7312b0317872fdecb929ef8e62b86332e87eddd49c1f5e7ddb9a59372dcbf0514158f7d75947e81f7d8d
b2sums = 7dc970eebf837940c67ae61f809f9e0cc6ae9e2a033ca7975b2c4055190b23ddd190170e75949834d54818f08016743d66c6ede5175f6cf988bec2e6aa4f008d
b2sums = b3b9b04b0f73d07c1927c0def7e5cc991144a7e65a01dab4ec1b2dd01f092e001da3fc07e852ebefb1530509e25a99730217a9208b6a26b0333c288ca1151935
b2sums = 86010c037ed11f25de26f0e1a35109488b00af3ec11cceff979694c6730d6501cffa292798042ae6a60d839b438f6abf90b6ecc08ab0a4fa597d564493ab9c9b
- b2sums = afe3cf59d21517ef62bb456b831c638dc54107258e4f4412b8ebab2fa871a26c2aab3c16bf6a39b692611540febf2c68b6dece570266fc5c0a7349ffc05da7d0
- b2sums = f96570ec79e310c21c8f98a95e3775bde05133bf4db25413596791d96ee7142702ecd5f5e358df4d852cbab9f909a455d438277978ed9d4e0f2fd4a3d43df082
- b2sums = 053bd95a861c9ee1cc8fa7a9af787d927c9110fffd2780c4972ce97ee2ade1ff567071158e89734b2352ac0c98aff82259c241baa0cee263919ec012c9ef9478
- b2sums = ea47ec8ba687f3a82d790797bb772ef04dd0dd5ab64d7f2c674659068c0332374c49e0e58b9ae7768bc7c6bfb67830b96b74a981ed4639fc1a8ef9f1fea9acb5
- b2sums = 4dccfcdd1f2e9c3ba556a0c15541b6e7522e12e0d3e0153937266026fe365f54ed45ab77f7e24397acc61c0a170803214ddc452d46f7659c57eba5b82107d7d2
b2sums = 7c61be00b97a8acb759c35f23969cdfb4e739a8c88fd147d2af4594fa14100a2da90b160e04b8632c3dca703ff2c1973138d7f765c5b9a7039c6aae7f0078d9a
+ b2sums = c3487e98544c2d36e60f3c3f2fabff94b3d4b157f2858c67c526dd8fdac8685dae3c2c7c07d4398b898943257f16ddc469dc633619862fe5b8da76fd317bca42
+ b2sums = b9eb4d0856adc68350dba4d7a8076cddddf97061244cd9aea422c549f2dd2f1f951087835ee957ce0117bf468f0d3068d7f52ce5f486ce00263101af4ab2ba68
+ b2sums = eccbf9cf7efd9f5e4f0d12fc59b7f86e1a212ef35e99250f9bc836efe675b1abd81c8997994c8986aa5ec1886e6908abd13473e57523846a15a355fa13beeec7
+ b2sums = 1660754e093a8a108bce6fc35988d29de53ead6951b2a97c21654b02314d62bdf3cd5fe1d79bad6dc7712f3715195f16ca5cd1024971c7f3d32316be84a4a5a9
+ b2sums = 9e0cbb940172869dba69828db0dc8e1bb439f0af328cf1b52d5e49cde3f846dc3ea7260c463ec2c8235c9b2518e204bc1afddcc858ad713182b369210da44323
+ b2sums = 8df273b81667f27c8490ae05ed38a22084171710f0178ae07d29e842389da4dc013612510a84694aa6ded908acea3892c7e486459ee32291e3872f1272c75210
+ b2sums = 75606e8ac064597091850b4d8192ab248bf15127756ca454f07d33390903ab0306d7727345dd9cf37015666ee4c4c915f2c996647fa833c420a72e4a5dff97a6
+ b2sums = 4915c805a1ad4f98c4975c4dfa358f16a0fbf1e8096f11189ff019e6d9fa4bb6b5b6e70b8fd5b527fd65a14cb6eb9734afcc05a079b9980ff5d5195d757ac5b4
pkgname = linux-radxa-rkbsp5-git-headers
diff --git a/0009-VENDOR-Add-Radxa-overlays.patch b/0001-VENDOR-Add-Radxa-overlays.patch
index c834c420b1ed..c834c420b1ed 100644
--- a/0009-VENDOR-Add-Radxa-overlays.patch
+++ b/0001-VENDOR-Add-Radxa-overlays.patch
diff --git a/0001-mm-page_alloc-fix-building-error-on-Werror-array-com.patch b/0001-mm-page_alloc-fix-building-error-on-Werror-array-com.patch
deleted file mode 100644
index eb00292b23c7..000000000000
--- a/0001-mm-page_alloc-fix-building-error-on-Werror-array-com.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Xiongwei Song <sxwjean@gmail.com>
-Date: Fri, 14 Jan 2022 14:07:24 -0800
-Subject: [PATCH] mm: page_alloc: fix building error on -Werror=array-compare
-
-Arthur Marsh reported we would hit the error below when building kernel
-with gcc-12:
-
- CC mm/page_alloc.o
- mm/page_alloc.c: In function `mem_init_print_info':
- mm/page_alloc.c:8173:27: error: comparison between two arrays [-Werror=array-compare]
- 8173 | if (start <= pos && pos < end && size > adj) \
- |
-
-In C++20, the comparision between arrays should be warned.
-
-Link: https://lkml.kernel.org/r/20211125130928.32465-1-sxwjean@me.com
-Signed-off-by: Xiongwei Song <sxwjean@gmail.com>
-Reported-by: Arthur Marsh <arthur.marsh@internode.on.net>
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-Signed-off-by: Yuntian Zhang <yt@radxa.com>
----
- mm/page_alloc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mm/page_alloc.c b/mm/page_alloc.c
-index 190069eb12..ba31b2d94a 100644
---- a/mm/page_alloc.c
-+++ b/mm/page_alloc.c
-@@ -7840,7 +7840,7 @@ void __init mem_init_print_info(const char *str)
- */
- #define adj_init_size(start, end, size, pos, adj) \
- do { \
-- if (start <= pos && pos < end && size > adj) \
-+ if (&start[0] <= &pos[0] && &pos[0] < &end[0] && size > adj) \
- size -= adj; \
- } while (0)
-
---
-2.36.1
-
diff --git a/0010-Fix-dangling-pointer-compiler-bug.patch b/0002-Fix-dangling-pointer-compiler-bug.patch
index 69d2c5512120..69d2c5512120 100644
--- a/0010-Fix-dangling-pointer-compiler-bug.patch
+++ b/0002-Fix-dangling-pointer-compiler-bug.patch
diff --git a/0002-etherdevice-Adjust-ether_addr-prototypes-to-silence-.patch b/0002-etherdevice-Adjust-ether_addr-prototypes-to-silence-.patch
deleted file mode 100644
index 0297080520d0..000000000000
--- a/0002-etherdevice-Adjust-ether_addr-prototypes-to-silence-.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Kees Cook <keescook@chromium.org>
-Date: Sat, 12 Feb 2022 09:14:49 -0800
-Subject: [PATCH] etherdevice: Adjust ether_addr* prototypes to silence
- -Wstringop-overead
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-With GCC 12, -Wstringop-overread was warning about an implicit cast from
-char[6] to char[8]. However, the extra 2 bytes are always thrown away,
-alignment doesn't matter, and the risk of hitting the edge of unallocated
-memory has been accepted, so this prototype can just be converted to a
-regular char *. Silences:
-
-net/core/dev.c: In function ‘bpf_prog_run_generic_xdp’: net/core/dev.c:4618:21: warning: ‘ether_addr_equal_64bits’ reading 8 bytes from a region of size 6 [-Wstringop-overread]
- 4618 | orig_host = ether_addr_equal_64bits(eth->h_dest, > skb->dev->dev_addr);
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-net/core/dev.c:4618:21: note: referencing argument 1 of type ‘const u8[8]’ {aka ‘const unsigned char[8]’}
-net/core/dev.c:4618:21: note: referencing argument 2 of type ‘const u8[8]’ {aka ‘const unsigned char[8]’}
-In file included from net/core/dev.c:91: include/linux/etherdevice.h:375:20: note: in a call to function ‘ether_addr_equal_64bits’
- 375 | static inline bool ether_addr_equal_64bits(const u8 addr1[6+2],
- | ^~~~~~~~~~~~~~~~~~~~~~~
-
-Reported-by: Marc Kleine-Budde <mkl@pengutronix.de>
-Tested-by: Marc Kleine-Budde <mkl@pengutronix.de>
-Link: https://lore.kernel.org/netdev/20220212090811.uuzk6d76agw2vv73@pengutronix.de
-Cc: Jakub Kicinski <kuba@kernel.org>
-Cc: "David S. Miller" <davem@davemloft.net>
-Cc: netdev@vger.kernel.org
-Signed-off-by: Kees Cook <keescook@chromium.org>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Yuntian Zhang <yt@radxa.com>
----
- include/linux/etherdevice.h | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h
-index 2e5debc037..99209f5091 100644
---- a/include/linux/etherdevice.h
-+++ b/include/linux/etherdevice.h
-@@ -127,7 +127,7 @@ static inline bool is_multicast_ether_addr(const u8 *addr)
- #endif
- }
-
--static inline bool is_multicast_ether_addr_64bits(const u8 addr[6+2])
-+static inline bool is_multicast_ether_addr_64bits(const u8 *addr)
- {
- #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) && BITS_PER_LONG == 64
- #ifdef __BIG_ENDIAN
-@@ -352,8 +352,7 @@ static inline bool ether_addr_equal(const u8 *addr1, const u8 *addr2)
- * Please note that alignment of addr1 & addr2 are only guaranteed to be 16 bits.
- */
-
--static inline bool ether_addr_equal_64bits(const u8 addr1[6+2],
-- const u8 addr2[6+2])
-+static inline bool ether_addr_equal_64bits(const u8 *addr1, const u8 *addr2)
- {
- #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) && BITS_PER_LONG == 64
- u64 fold = (*(const u64 *)addr1) ^ (*(const u64 *)addr2);
---
-2.36.1
-
diff --git a/0011-Disable-tristate-for-non-modules.patch b/0003-Disable-tristate-for-non-modules.patch
index 00c853787c61..00c853787c61 100644
--- a/0011-Disable-tristate-for-non-modules.patch
+++ b/0003-Disable-tristate-for-non-modules.patch
diff --git a/0003-drm-rockchip-vop-Use-clipped-src-dst-coordinates.patch b/0003-drm-rockchip-vop-Use-clipped-src-dst-coordinates.patch
deleted file mode 100644
index 529aeaabe36d..000000000000
--- a/0003-drm-rockchip-vop-Use-clipped-src-dst-coordinates.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 2edabfb2562a8899b7f00194f536a6f6bef0cc8b Mon Sep 17 00:00:00 2001
-From: Damon Ding <damon.ding@rock-chips.com>
-Date: Tue, 13 Dec 2022 11:04:42 +0800
-Subject: [PATCH] drm/rockchip: vop: Use clipped src/dst coordinates
-
-Some linux app(cusor) may set negative coordinates(crtc_x/y)
-
-And some linux app(mpv) may set coordinates outside the screen.
-
-These are both unsupported on rockchip vop.
-
-so we use clipped coordinates here.
-
-Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
-Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
-Change-Id: Id2322113f0973271997575678cda478a9987266b
----
- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 35 ++++++++++++---------
- 1 file changed, 21 insertions(+), 14 deletions(-)
-
-diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
-index d7ea1f80ea12..96099755633f 100644
---- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
-+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
-@@ -1758,14 +1758,6 @@ static int vop_plane_atomic_check(struct drm_plane *plane,
- if (WARN_ON(!crtc_state))
- return -EINVAL;
-
-- src->x1 = state->src_x;
-- src->y1 = state->src_y;
-- src->x2 = state->src_x + state->src_w;
-- src->y2 = state->src_y + state->src_h;
-- dest->x1 = state->crtc_x;
-- dest->y1 = state->crtc_y;
-- dest->x2 = state->crtc_x + state->crtc_w;
-- dest->y2 = state->crtc_y + state->crtc_h;
- vop_plane_state->zpos = state->zpos;
- vop_plane_state->blend_mode = state->pixel_blend_mode;
-
-@@ -1775,8 +1767,22 @@ static int vop_plane_atomic_check(struct drm_plane *plane,
- if (ret)
- return ret;
-
-- if (!state->visible)
-+ if (!state->visible) {
-+ DRM_ERROR("%s is invisible(src: pos[%d, %d] rect[%d x %d] dst: pos[%d, %d] rect[%d x %d]\n",
-+ plane->name, state->src_x >> 16, state->src_y >> 16, state->src_w >> 16,
-+ state->src_h >> 16, state->crtc_x, state->crtc_y, state->crtc_w,
-+ state->crtc_h);
- return 0;
-+ }
-+
-+ src->x1 = state->src.x1;
-+ src->y1 = state->src.y1;
-+ src->x2 = state->src.x2;
-+ src->y2 = state->src.y2;
-+ dest->x1 = state->dst.x1;
-+ dest->y1 = state->dst.y1;
-+ dest->x2 = state->dst.x2;
-+ dest->y2 = state->dst.y2;
-
- vop_plane_state->format = vop_convert_format(fb->format->format);
- if (vop_plane_state->format < 0)
-@@ -1785,12 +1791,13 @@ static int vop_plane_atomic_check(struct drm_plane *plane,
- vop = to_vop(crtc);
- vop_data = vop->data;
-
-- if (state->src_w >> 16 < 4 || state->src_h >> 16 < 4 ||
-- state->crtc_w < 4 || state->crtc_h < 4) {
-+ if (drm_rect_width(src) >> 16 < 4 || drm_rect_height(src) >> 16 < 4 ||
-+ drm_rect_width(dest) < 4 || drm_rect_width(dest) < 4) {
- DRM_ERROR("Invalid size: %dx%d->%dx%d, min size is 4x4\n",
-- state->src_w >> 16, state->src_h >> 16,
-- state->crtc_w, state->crtc_h);
-- return -EINVAL;
-+ drm_rect_width(src) >> 16, drm_rect_height(src) >> 16,
-+ drm_rect_width(dest), drm_rect_height(dest));
-+ state->visible = false;
-+ return 0;
- }
-
- if (drm_rect_width(src) >> 16 > vop_data->max_input.width ||
---
-2.34.1
-
diff --git a/0012-Disable-tristate-for-modules-that-uses-unexported-sy.patch b/0004-Disable-tristate-for-modules-that-uses-unexported-sy.patch
index c4aead15ca8c..1164799f04f7 100644
--- a/0012-Disable-tristate-for-modules-that-uses-unexported-sy.patch
+++ b/0004-Disable-tristate-for-modules-that-uses-unexported-sy.patch
@@ -35,17 +35,6 @@ index 24c5010726e6..9fd1eebbf12d 100644
depends on ROCKCHIP_SIP
help
Say Y here if you want to set the suspend mode to the ATF.
-diff --git a/drivers/staging/android/fiq_debugger/Kconfig b/drivers/staging/android/fiq_debugger/Kconfig
-index 6ee93bc42d54..a23a613eab8a 100644
---- a/drivers/staging/android/fiq_debugger/Kconfig
-+++ b/drivers/staging/android/fiq_debugger/Kconfig
-@@ -1,5 +1,5 @@
- config FIQ_DEBUGGER
-- tristate "FIQ Mode Serial Debugger"
-+ bool "FIQ Mode Serial Debugger"
- default n
- depends on ARM || ARM64
- help
--
2.38.0
diff --git a/0004-Update-existing-ROCK-4-OPP-settings.patch b/0004-Update-existing-ROCK-4-OPP-settings.patch
deleted file mode 100644
index 855257993f9e..000000000000
--- a/0004-Update-existing-ROCK-4-OPP-settings.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: ZHANG Yuntian <yt@radxa.com>
-Date: Thu, 3 Nov 2022 10:46:07 +0800
-Subject: [PATCH] Update existing ROCK 4 OPP settings
-
----
- arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi | 1 -
- arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a.dts | 1 +
- arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b.dts | 1 +
- arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c.dts | 1 +
- 4 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
-index d62219f7d3e0..179eb3f94a96 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
-@@ -9,7 +9,6 @@
- #include <dt-bindings/pwm/pwm.h>
- #include "rk3399.dtsi"
- #include "rk3399-linux.dtsi"
--#include "rk3399-opp.dtsi"
-
- / {
- aliases {
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a.dts
-index 32f869c2e66b..790fe973f169 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a.dts
-@@ -6,6 +6,7 @@
-
- /dts-v1/;
- #include "rk3399-rock-pi-4.dtsi"
-+#include "rk3399-opp.dtsi"
-
- / {
- model = "Radxa ROCK Pi 4A";
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b.dts
-index 4f16d11eb22a..55a0a919e0fc 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b.dts
-@@ -6,6 +6,7 @@
-
- /dts-v1/;
- #include "rk3399-rock-pi-4.dtsi"
-+#include "rk3399-opp.dtsi"
-
- / {
- model = "Radxa ROCK Pi 4B";
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c.dts
-index 5df898013916..d120c07a0db1 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c.dts
-@@ -7,6 +7,7 @@
-
- /dts-v1/;
- #include "rk3399-rock-pi-4.dtsi"
-+#include "rk3399-opp.dtsi"
-
- / {
- model = "Radxa ROCK Pi 4C";
---
-2.38.1
-
diff --git a/0005-Add-additional-ROCK-4-products.patch b/0005-Add-additional-ROCK-4-products.patch
deleted file mode 100644
index e549946fc814..000000000000
--- a/0005-Add-additional-ROCK-4-products.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: ZHANG Yuntian <yt@radxa.com>
-Date: Thu, 3 Nov 2022 11:01:57 +0800
-Subject: [PATCH] Add additional ROCK 4 products
-
-Currently they are just copies of the original dts
-with different OPP configuration.
----
- arch/arm64/boot/dts/rockchip/Makefile | 3 +
- .../boot/dts/rockchip/rk3399-rock-pi-4a-plus.dts | 29 +++++++++
- .../boot/dts/rockchip/rk3399-rock-pi-4b-plus.dts | 61 +++++++++++++++++++
- .../boot/dts/rockchip/rk3399-rock-4se.dts | 61 +++++++++++++++++++
- 4 files changed, 154 insertions(+)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a-plus.dts
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b-plus.dts
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock-4se.dts
-
-diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
-index faa656ae960b..4889edb78d3e 100644
---- a/arch/arm64/boot/dts/rockchip/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/Makefile
-@@ -56,6 +56,9 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb
-+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4se.dtb
-+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a-plus.dtb
-+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4b-plus.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4c-plus.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4b.dtb
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a-plus.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a-plus.dts
-new file mode 100644
-index 000000000000..d2ca5649b2dd
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a-plus.dts
-@@ -0,0 +1,29 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (c) 2019 Akash Gajjar <Akash_Gajjar@mentor.com>
-+ * Copyright (c) 2019 Pragnesh Patel <Pragnesh_Patel@mentor.com>
-+ */
-+
-+/dts-v1/;
-+#include "rk3399-rock-pi-4.dtsi"
-+#include "rk3399-op1-opp.dtsi"
-+
-+/ {
-+ model = "Radxa ROCK Pi 4A+";
-+ compatible = "radxa,rockpi4a-plus", "radxa,rockpi4", "rockchip,rk3399";
-+};
-+
-+&pinctrl {
-+ usb2 {
-+ vcc5v0_host_en: vcc5v0-host-en {
-+ rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+ };
-+};
-+
-+&vcc5v0_host {
-+ enable-active-high;
-+ gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&vcc5v0_host_en>;
-+};
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b-plus.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b-plus.dts
-new file mode 100644
-index 000000000000..8c54d42c761a
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b-plus.dts
-@@ -0,0 +1,61 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (c) 2019 Akash Gajjar <Akash_Gajjar@mentor.com>
-+ * Copyright (c) 2019 Pragnesh Patel <Pragnesh_Patel@mentor.com>
-+ */
-+
-+/dts-v1/;
-+#include "rk3399-rock-pi-4.dtsi"
-+#include "rk3399-op1-opp.dtsi"
-+
-+/ {
-+ model = "Radxa ROCK Pi 4B+";
-+ compatible = "radxa,rockpi4b-plus", "radxa,rockpi4", "rockchip,rk3399";
-+};
-+
-+&pinctrl {
-+ usb2 {
-+ vcc5v0_host_en: vcc5v0-host-en {
-+ rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+ };
-+};
-+
-+&sdio0 {
-+ status = "okay";
-+
-+ brcmf: wifi@1 {
-+ compatible = "brcm,bcm4329-fmac";
-+ reg = <1>;
-+ interrupt-parent = <&gpio0>;
-+ interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
-+ interrupt-names = "host-wake";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&wifi_host_wake_l>;
-+ };
-+};
-+
-+&uart0 {
-+ status = "okay";
-+
-+ bluetooth {
-+ compatible = "brcm,bcm4345c5";
-+ clocks = <&rk808 1>;
-+ clock-names = "lpo";
-+ device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
-+ host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
-+ shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
-+ max-speed = <1500000>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
-+ vbat-supply = <&vcc3v3_sys>;
-+ vddio-supply = <&vcc_1v8>;
-+ };
-+};
-+
-+&vcc5v0_host {
-+ enable-active-high;
-+ gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&vcc5v0_host_en>;
-+};
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-4se.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-4se.dts
-new file mode 100644
-index 000000000000..962ca9139db2
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-4se.dts
-@@ -0,0 +1,61 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (c) 2019 Akash Gajjar <Akash_Gajjar@mentor.com>
-+ * Copyright (c) 2019 Pragnesh Patel <Pragnesh_Patel@mentor.com>
-+ */
-+
-+/dts-v1/;
-+#include "rk3399-rock-pi-4.dtsi"
-+#include "rk3399-t-opp.dtsi"
-+
-+/ {
-+ model = "Radxa ROCK 4SE";
-+ compatible = "radxa,rock-4se", "rockchip,rk3399";
-+};
-+
-+&pinctrl {
-+ usb2 {
-+ vcc5v0_host_en: vcc5v0-host-en {
-+ rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+ };
-+};
-+
-+&sdio0 {
-+ status = "okay";
-+
-+ brcmf: wifi@1 {
-+ compatible = "brcm,bcm4329-fmac";
-+ reg = <1>;
-+ interrupt-parent = <&gpio0>;
-+ interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
-+ interrupt-names = "host-wake";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&wifi_host_wake_l>;
-+ };
-+};
-+
-+&uart0 {
-+ status = "okay";
-+
-+ bluetooth {
-+ compatible = "brcm,bcm4345c5";
-+ clocks = <&rk808 1>;
-+ clock-names = "lpo";
-+ device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
-+ host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
-+ shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
-+ max-speed = <1500000>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
-+ vbat-supply = <&vcc3v3_sys>;
-+ vddio-supply = <&vcc_1v8>;
-+ };
-+};
-+
-+&vcc5v0_host {
-+ enable-active-high;
-+ gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&vcc5v0_host_en>;
-+};
---
-2.38.1
-
diff --git a/0013-Disable-tristate-for-builtin-dependencies.patch b/0005-Disable-tristate-for-builtin-dependencies.patch
index 2d8f0b9e4fbc..2d8f0b9e4fbc 100644
--- a/0013-Disable-tristate-for-builtin-dependencies.patch
+++ b/0005-Disable-tristate-for-builtin-dependencies.patch
diff --git a/0006-Enable-DMC-for-ROCK-4.patch b/0006-Enable-DMC-for-ROCK-4.patch
deleted file mode 100644
index b0606f367d0f..000000000000
--- a/0006-Enable-DMC-for-ROCK-4.patch
+++ /dev/null
@@ -1,354 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: ZHANG Yuntian <yt@radxa.com>
-Date: Wed, 21 Dec 2022 12:21:04 +0800
-Subject: [PATCH] Enable DMC for ROCK 4
-
----
- .../boot/dts/rockchip/rk3399-op1-opp.dtsi | 60 +++++++++++++++++++
- arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi | 60 +++++++++++++++++++
- .../boot/dts/rockchip/rk3399-rock-4c-plus.dts | 29 +++++++++
- .../boot/dts/rockchip/rk3399-rock-4se.dts | 21 +++++++
- .../boot/dts/rockchip/rk3399-rock-pi-4.dtsi | 34 +++++++++++
- .../arm64/boot/dts/rockchip/rk3399-t-opp.dtsi | 46 ++++++++++++++
- 6 files changed, 250 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi
-index 69cc9b05baa5..af78f332cc56 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi
-@@ -110,6 +110,62 @@ opp05 {
- opp-microvolt = <1075000>;
- };
- };
-+
-+ dmc_opp_table: opp-table3 {
-+ compatible = "operating-points-v2";
-+
-+ opp-200000000 {
-+ opp-hz = /bits/ 64 <200000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-300000000 {
-+ opp-hz = /bits/ 64 <300000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-328000000 {
-+ opp-hz = /bits/ 64 <328000000>;
-+ opp-microvolt = <900000>;
-+ };
-+ opp-400000000 {
-+ opp-hz = /bits/ 64 <400000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-416000000 {
-+ opp-hz = /bits/ 64 <416000000>;
-+ opp-microvolt = <900000>;
-+ };
-+ opp-528000000 {
-+ opp-hz = /bits/ 64 <528000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-600000000 {
-+ opp-hz = /bits/ 64 <600000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-666000000 {
-+ opp-hz = /bits/ 64 <666000000>;
-+ opp-microvolt = <900000>;
-+ };
-+ opp-800000000 {
-+ opp-hz = /bits/ 64 <800000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-856000000 {
-+ opp-hz = /bits/ 64 <856000000>;
-+ opp-microvolt = <900000>;
-+ };
-+ opp-928000000 {
-+ opp-hz = /bits/ 64 <928000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ };
- };
-
- &cpu_l0 {
-@@ -136,6 +192,10 @@ &cpu_b1 {
- operating-points-v2 = <&cluster1_opp>;
- };
-
-+&dmc {
-+ operating-points-v2 = <&dmc_opp_table>;
-+};
-+
- &gpu {
- operating-points-v2 = <&gpu_opp_table>;
- };
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
-index f9f2cc8abec7..8ddc600c1810 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi
-@@ -316,6 +316,62 @@ opp-800000000 {
- opp-microvolt = <900000>;
- };
- };
-+
-+ dmc_opp_table: opp-table3 {
-+ compatible = "operating-points-v2";
-+
-+ opp-200000000 {
-+ opp-hz = /bits/ 64 <200000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-300000000 {
-+ opp-hz = /bits/ 64 <300000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-328000000 {
-+ opp-hz = /bits/ 64 <328000000>;
-+ opp-microvolt = <900000>;
-+ };
-+ opp-400000000 {
-+ opp-hz = /bits/ 64 <400000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-416000000 {
-+ opp-hz = /bits/ 64 <416000000>;
-+ opp-microvolt = <900000>;
-+ };
-+ opp-528000000 {
-+ opp-hz = /bits/ 64 <528000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-600000000 {
-+ opp-hz = /bits/ 64 <600000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-666000000 {
-+ opp-hz = /bits/ 64 <666000000>;
-+ opp-microvolt = <900000>;
-+ };
-+ opp-800000000 {
-+ opp-hz = /bits/ 64 <800000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-856000000 {
-+ opp-hz = /bits/ 64 <856000000>;
-+ opp-microvolt = <900000>;
-+ };
-+ opp-928000000 {
-+ opp-hz = /bits/ 64 <928000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ };
- };
-
- &cpu_l0 {
-@@ -352,6 +408,10 @@ &dmc {
- operating-points-v2 = <&dmc_opp_table>;
- };
-
-+&dmc {
-+ operating-points-v2 = <&dmc_opp_table>;
-+};
-+
- &gpu {
- operating-points-v2 = <&gpu_opp_table>;
- };
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
-index 76e38a771fb0..cabe1d230e44 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
-@@ -914,6 +914,35 @@ &rkvdec {
-
- &dmc {
- status = "okay";
-+ center-supply = <&vdd_log>;
-+ upthreshold = <40>;
-+ downdifferential = <20>;
-+ system-status-freq = <
-+ /*system status freq(KHz)*/
-+ SYS_STATUS_NORMAL 666000
-+ SYS_STATUS_REBOOT 666000
-+ SYS_STATUS_SUSPEND 328000
-+ SYS_STATUS_VIDEO_1080P 666000
-+ SYS_STATUS_VIDEO_4K 666000
-+ SYS_STATUS_VIDEO_4K_10B 666000
-+ SYS_STATUS_PERFORMANCE 666000
-+ SYS_STATUS_BOOST 666000
-+ SYS_STATUS_DUALVIEW 666000
-+ SYS_STATUS_ISP 666000
-+ >;
-+ vop-bw-dmc-freq = <
-+ /* min_bw(MB/s) max_bw(MB/s) freq(KHz) */
-+ 0 762 416000
-+ 763 99999 666000
-+ >;
-+
-+ vop-pn-msch-readlatency = <
-+ 0 0x20
-+ 4 0x20
-+ >;
-+
-+ auto-min-freq = <328000>;
-+ auto-freq-en = <0>;
- };
-
- &rga {
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-4se.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-4se.dts
-index 962ca9139db2..8d50996dad09 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-rock-4se.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-4se.dts
-@@ -13,6 +13,27 @@ / {
- compatible = "radxa,rock-4se", "rockchip,rk3399";
- };
-
-+&dmc {
-+ system-status-freq = <
-+ /*system status freq(KHz)*/
-+ SYS_STATUS_NORMAL 666000
-+ SYS_STATUS_REBOOT 666000
-+ SYS_STATUS_SUSPEND 328000
-+ SYS_STATUS_VIDEO_1080P 666000
-+ SYS_STATUS_VIDEO_4K 666000
-+ SYS_STATUS_VIDEO_4K_10B 666000
-+ SYS_STATUS_PERFORMANCE 666000
-+ SYS_STATUS_BOOST 666000
-+ SYS_STATUS_DUALVIEW 666000
-+ SYS_STATUS_ISP 666000
-+ >;
-+ vop-bw-dmc-freq = <
-+ /* min_bw(MB/s) max_bw(MB/s) freq(KHz) */
-+ 0 762 416000
-+ 763 99999 666000
-+ >;
-+};
-+
- &pinctrl {
- usb2 {
- vcc5v0_host_en: vcc5v0-host-en {
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
-index 56d1a77333d6..273c6cc44499 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
-@@ -234,6 +234,40 @@ &cpu_b1 {
- cpu-supply = <&vdd_cpu_b>;
- };
-
-+&dmc {
-+ status = "okay";
-+ center-supply = <&vdd_log>;
-+ upthreshold = <40>;
-+ downdifferential = <20>;
-+ system-status-freq = <
-+ /*system status freq(KHz)*/
-+ SYS_STATUS_NORMAL 856000
-+ SYS_STATUS_REBOOT 856000
-+ SYS_STATUS_SUSPEND 328000
-+ SYS_STATUS_VIDEO_1080P 666000
-+ SYS_STATUS_VIDEO_4K 856000
-+ SYS_STATUS_VIDEO_4K_10B 856000
-+ SYS_STATUS_PERFORMANCE 856000
-+ SYS_STATUS_BOOST 856000
-+ SYS_STATUS_DUALVIEW 856000
-+ SYS_STATUS_ISP 856000
-+ >;
-+ vop-bw-dmc-freq = <
-+ /* min_bw(MB/s) max_bw(MB/s) freq(KHz) */
-+ 0 762 416000
-+ 763 3012 666000
-+ 3013 99999 856000
-+ >;
-+
-+ vop-pn-msch-readlatency = <
-+ 0 0x20
-+ 4 0x20
-+ >;
-+
-+ auto-min-freq = <328000>;
-+ auto-freq-en = <0>;
-+};
-+
- &emmc_phy {
- status = "okay";
- };
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-t-opp.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-t-opp.dtsi
-index 1ababadda9df..8d8e4e357834 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-t-opp.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-t-opp.dtsi
-@@ -83,6 +83,48 @@ opp03 {
- opp-microvolt = <975000 975000 1150000>;
- };
- };
-+
-+ dmc_opp_table: opp-table3 {
-+ compatible = "operating-points-v2";
-+
-+ opp-200000000 {
-+ opp-hz = /bits/ 64 <200000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-300000000 {
-+ opp-hz = /bits/ 64 <300000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-328000000 {
-+ opp-hz = /bits/ 64 <328000000>;
-+ opp-microvolt = <900000>;
-+ };
-+ opp-400000000 {
-+ opp-hz = /bits/ 64 <400000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-416000000 {
-+ opp-hz = /bits/ 64 <416000000>;
-+ opp-microvolt = <900000>;
-+ };
-+ opp-528000000 {
-+ opp-hz = /bits/ 64 <528000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-600000000 {
-+ opp-hz = /bits/ 64 <600000000>;
-+ opp-microvolt = <900000>;
-+ status = "disabled";
-+ };
-+ opp-666000000 {
-+ opp-hz = /bits/ 64 <666000000>;
-+ opp-microvolt = <900000>;
-+ };
-+ };
- };
-
- &cpu_l0 {
-@@ -109,6 +151,10 @@ &cpu_b1 {
- operating-points-v2 = <&cluster1_opp>;
- };
-
-+&dmc {
-+ operating-points-v2 = <&dmc_opp_table>;
-+};
-+
- &gpu {
- operating-points-v2 = <&gpu_opp_table>;
- };
---
-2.39.0
-
diff --git a/0014-Revert-dma-buf-sw_sync-build-sw-sync-as-module-for-g.patch b/0006-Revert-dma-buf-sw_sync-build-sw-sync-as-module-for-g.patch
index 0d55bc8659ca..0d55bc8659ca 100644
--- a/0014-Revert-dma-buf-sw_sync-build-sw-sync-as-module-for-g.patch
+++ b/0006-Revert-dma-buf-sw_sync-build-sw-sync-as-module-for-g.patch
diff --git a/0015-Disable-tristate-for-essential-boot-services.patch b/0007-Disable-tristate-for-essential-boot-services.patch
index fb1da80446ed..fb1da80446ed 100644
--- a/0015-Disable-tristate-for-essential-boot-services.patch
+++ b/0007-Disable-tristate-for-essential-boot-services.patch
diff --git a/0007-Fix-ROCK-4-OTG-switch.patch b/0007-Fix-ROCK-4-OTG-switch.patch
deleted file mode 100644
index d06a174e48de..000000000000
--- a/0007-Fix-ROCK-4-OTG-switch.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: ZHANG Yuntian <yt@radxa.com>
-Date: Wed, 21 Dec 2022 17:00:39 +0800
-Subject: [PATCH] Fix ROCK 4 OTG switch
-
----
- arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
-index 273c6cc44499..dfeef2b2de5d 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
-@@ -837,11 +837,7 @@ &u2phy0 {
- status = "okay";
-
- u2phy0_otg: otg-port {
-- status = "okay";
-- };
--
-- u2phy0_host: host-port {
-- phy-supply = <&vcc5v0_host>;
-+ rockchip,vbus-always-on;
- status = "okay";
- };
- };
-@@ -889,8 +885,9 @@ &usbdrd3_0 {
- };
-
- &usbdrd_dwc3_0 {
-- status = "okay";
- dr_mode = "otg";
-+ extcon = <&u2phy0>;
-+ status = "okay";
- };
-
- &usbdrd3_1 {
---
-2.39.0
-
diff --git a/0008-Add-pwm-fan-for-ROCK-4C.patch b/0008-Add-pwm-fan-for-ROCK-4C.patch
deleted file mode 100644
index 95f4065bb998..000000000000
--- a/0008-Add-pwm-fan-for-ROCK-4C.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: ZHANG Yuntian <yt@radxa.com>
-Date: Sat, 14 Jan 2023 18:26:12 +0800
-Subject: [PATCH] Add pwm-fan for ROCK 4C+
-
-The default thermal governor is power allocator, which does not support
-pwm-fan. Please change to either step-wise or fair-share governor to enable
-automatic fan control.
----
- .../boot/dts/rockchip/rk3399-rock-4c-plus.dts | 25 +++++++++++++++++++
- 1 file changed, 25 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
-index bc0649e5b1aa..777ed7407a5a 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
-@@ -27,6 +27,13 @@ aliases {
- mmc2 = &sdio0;
- };
-
-+ fan0: pwm-fan {
-+ compatible = "pwm-fan";
-+ #cooling-cells = <2>;
-+ cooling-levels = <0 64 128 192 255>;
-+ pwms = <&pwm3 0 40000 0>;
-+ };
-+
- fiq_debugger: fiq-debugger {
- status = "okay";
- compatible = "rockchip,fiq-debugger";
-@@ -240,6 +247,6 @@ &gpu {
-
- &threshold {
-- temperature = <85000>;
-+ temperature = <60000>;
- };
-
- &target {
-@@ -250,6 +258,24 @@ &soc_crit {
- temperature = <105000>;
- };
-
-+&soc_thermal {
-+ sustainable-power = <5000>; /* milliwatts */
-+ cooling-maps {
-+ map3 {
-+ trip = <&target>;
-+ cooling-device =
-+ <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-+ contribution = <8192>;
-+ };
-+ map4 {
-+ trip = <&threshold>;
-+ cooling-device =
-+ <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-+ contribution = <8192>;
-+ };
-+ };
-+};
-+
- &tsadc {
- /* tshut mode 0:CRU 1:GPIO */
- rockchip,hw-tshut-mode = <1>;
---
-2.39.0
-
diff --git a/0017-Modfy-GPU-node-for-Panfrost-driver.patch b/0008-Modfy-GPU-node-for-Panfrost-driver.patch
index 10d0acab176a..10d0acab176a 100644
--- a/0017-Modfy-GPU-node-for-Panfrost-driver.patch
+++ b/0008-Modfy-GPU-node-for-Panfrost-driver.patch
diff --git a/0018-VENDOR-Version-tagging-linux-libc-dev-as-well.patch b/0009-VENDOR-Version-tagging-linux-libc-dev-as-well.patch
index a69f0871e3a7..a69f0871e3a7 100644
--- a/0018-VENDOR-Version-tagging-linux-libc-dev-as-well.patch
+++ b/0009-VENDOR-Version-tagging-linux-libc-dev-as-well.patch
diff --git a/0019-Add-ROCK-4-Core-IO-Board-Fuhai.patch b/0010-Add-ROCK-4-Core-IO-Board-Fuhai.patch
index 567360ca1e58..567360ca1e58 100644
--- a/0019-Add-ROCK-4-Core-IO-Board-Fuhai.patch
+++ b/0010-Add-ROCK-4-Core-IO-Board-Fuhai.patch
diff --git a/0020-gcc-ignore-stringop-overread-warnings.patch b/0011-gcc-ignore-stringop-overread-warnings.patch
index 84a3e6989f01..84a3e6989f01 100644
--- a/0020-gcc-ignore-stringop-overread-warnings.patch
+++ b/0011-gcc-ignore-stringop-overread-warnings.patch
diff --git a/0026-Enable_AV1_decoder_on_3588.patch b/0012-Enable_AV1_decoder_on_3588.patch
index 245227f41797..245227f41797 100644
--- a/0026-Enable_AV1_decoder_on_3588.patch
+++ b/0012-Enable_AV1_decoder_on_3588.patch
diff --git a/0016-Revert-ANDROID-clk-Enable-writable-debugfs-files.patch b/0016-Revert-ANDROID-clk-Enable-writable-debugfs-files.patch
deleted file mode 100644
index f2bf447217ab..000000000000
--- a/0016-Revert-ANDROID-clk-Enable-writable-debugfs-files.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: ZHANG Yuntian <yt@radxa.com>
-Date: Thu, 3 Nov 2022 17:02:09 +0800
-Subject: [PATCH] Revert "ANDROID: clk: Enable writable debugfs files"
-
-This reverts commit 861a024589b3f42ca93877bf74f8a67f59c66ca8.
----
- drivers/clk/clk.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
-index bec881941483..f5f3e9db05ad 100644
---- a/drivers/clk/clk.c
-+++ b/drivers/clk/clk.c
-@@ -3107,7 +3107,7 @@ static int clk_dump_show(struct seq_file *s, void *data)
- }
- DEFINE_SHOW_ATTRIBUTE(clk_dump);
-
--#define CLOCK_ALLOW_WRITE_DEBUGFS
-+#undef CLOCK_ALLOW_WRITE_DEBUGFS
- #ifdef CLOCK_ALLOW_WRITE_DEBUGFS
- /*
- * This can be dangerous, therefore don't provide any real compile time
---
-2.38.1
-
diff --git a/0021-dma-buf-add-dma_resv_get_singleton-v2.patch b/0020-dma-buf-add-dma_resv_get_singleton-v2.patch
index 0c81695803a5..4c8112892e2d 100644
--- a/0021-dma-buf-add-dma_resv_get_singleton-v2.patch
+++ b/0020-dma-buf-add-dma_resv_get_singleton-v2.patch
@@ -1,7 +1,7 @@
-From 628b9127e29ac2a00852a59e13d45108c5c4e778 Mon Sep 17 00:00:00 2001
+From d24c7e4bc3ac3367910efd78e2aa413df224c231 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
Date: Wed, 3 Nov 2021 10:02:08 +0100
-Subject: [PATCH 1/5] dma-buf: add dma_resv_get_singleton v2
+Subject: [PATCH] dma-buf: add dma_resv_get_singleton v2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -21,7 +21,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20220321135856.1331-3-christ
2 files changed, 61 insertions(+)
diff --git a/drivers/dma-buf/dma-resv.c b/drivers/dma-buf/dma-resv.c
-index 1187e5e80ede..4c4ec20b99f7 100644
+index 1187e5e80eded..35cca3ca4dcfe 100644
--- a/drivers/dma-buf/dma-resv.c
+++ b/drivers/dma-buf/dma-resv.c
@@ -33,6 +33,7 @@
@@ -98,7 +98,7 @@ index 1187e5e80ede..4c4ec20b99f7 100644
* dma_resv_wait_timeout_rcu - Wait on reservation's objects
* shared and/or exclusive fences.
diff --git a/include/linux/dma-resv.h b/include/linux/dma-resv.h
-index d44a77e8a7e3..171ff5e7ff88 100644
+index d44a77e8a7e34..171ff5e7ff885 100644
--- a/include/linux/dma-resv.h
+++ b/include/linux/dma-resv.h
@@ -283,6 +283,8 @@ int dma_resv_get_fences_rcu(struct dma_resv *obj,
@@ -110,6 +110,3 @@ index d44a77e8a7e3..171ff5e7ff88 100644
int dma_resv_copy_fences(struct dma_resv *dst, struct dma_resv *src);
long dma_resv_wait_timeout_rcu(struct dma_resv *obj, bool wait_all, bool intr,
---
-2.38.1
-
diff --git a/0022-dma-buf-Add-an-API-for-exporting-sync-files-v14.patch b/0021-dma-buf-Add-an-API-for-exporting-sync-files-v14.patch
index e2705d388d51..cc6917cd905c 100644
--- a/0022-dma-buf-Add-an-API-for-exporting-sync-files-v14.patch
+++ b/0021-dma-buf-Add-an-API-for-exporting-sync-files-v14.patch
@@ -1,7 +1,7 @@
-From e2efe6b72f4ceb3511dcd847a172d47d59ce2ed1 Mon Sep 17 00:00:00 2001
+From 7b768e32e1abe1bbd74f2061dc9af560f54686d8 Mon Sep 17 00:00:00 2001
From: Jason Ekstrand <jason@jlekstrand.net>
Date: Wed, 8 Jun 2022 10:21:41 -0500
-Subject: [PATCH 2/5] dma-buf: Add an API for exporting sync files (v14)
+Subject: [PATCH] dma-buf: Add an API for exporting sync files (v14)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -108,7 +108,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20220608152142.14495-2-jason
2 files changed, 102 insertions(+)
diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
-index 023f34ed98af..437f3620dce8 100644
+index ad7ddaa35b3e..8a2a96d8593c 100644
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -20,6 +20,7 @@
@@ -119,7 +119,7 @@ index 023f34ed98af..437f3620dce8 100644
#include <linux/poll.h>
#include <linux/dma-resv.h>
#include <linux/mm.h>
-@@ -266,6 +267,9 @@ static loff_t dma_buf_llseek(struct file *file, loff_t offset, int whence)
+@@ -267,6 +268,9 @@ static loff_t dma_buf_llseek(struct file *file, loff_t offset, int whence)
* Note that this only signals the completion of the respective fences, i.e. the
* DMA transfers are complete. Cache flushing and any other necessary
* preparations before CPU access can begin still need to happen.
@@ -129,7 +129,7 @@ index 023f34ed98af..437f3620dce8 100644
*/
static void dma_buf_poll_cb(struct dma_fence *fence, struct dma_fence_cb *cb)
-@@ -463,6 +467,64 @@ static long dma_buf_set_name_user(struct dma_buf *dmabuf, const char __user *buf
+@@ -453,6 +457,64 @@ static long dma_buf_set_name_user(struct dma_buf *dmabuf, const char __user *buf
return ret;
}
@@ -194,7 +194,7 @@ index 023f34ed98af..437f3620dce8 100644
static long dma_buf_ioctl(struct file *file,
unsigned int cmd, unsigned long arg)
{
-@@ -545,6 +607,11 @@ static long dma_buf_ioctl(struct file *file,
+@@ -535,6 +597,11 @@ static long dma_buf_ioctl(struct file *file,
return ret;
@@ -207,7 +207,7 @@ index 023f34ed98af..437f3620dce8 100644
return -ENOTTY;
}
diff --git a/include/uapi/linux/dma-buf.h b/include/uapi/linux/dma-buf.h
-index 6236c644624d..522bcee5498e 100644
+index 37aeab6d101a..c2ed92064e8a 100644
--- a/include/uapi/linux/dma-buf.h
+++ b/include/uapi/linux/dma-buf.h
@@ -37,6 +37,40 @@ struct dma_buf_sync {
@@ -253,12 +253,9 @@ index 6236c644624d..522bcee5498e 100644
@@ -46,6 +80,7 @@ struct dma_buf_sync {
#define DMA_BUF_SET_NAME _IOW(DMA_BUF_BASE, 1, const char *)
- #define DMA_BUF_SET_NAME_A _IOW(DMA_BUF_BASE, 1, u32)
- #define DMA_BUF_SET_NAME_B _IOW(DMA_BUF_BASE, 1, u64)
+ #define DMA_BUF_SET_NAME_A _IOW(DMA_BUF_BASE, 1, __u32)
+ #define DMA_BUF_SET_NAME_B _IOW(DMA_BUF_BASE, 1, __u64)
+#define DMA_BUF_IOCTL_EXPORT_SYNC_FILE _IOWR(DMA_BUF_BASE, 2, struct dma_buf_export_sync_file)
struct dma_buf_sync_partial {
__u64 flags;
---
-2.38.1
-
diff --git a/0023-dma-buf-Add-an-API-for-importing-sync-files-v10.patch b/0022-dma-buf-Add-an-API-for-importing-sync-files-v10.patch
index 52a6a38672dc..6c8446082ebe 100644
--- a/0023-dma-buf-Add-an-API-for-importing-sync-files-v10.patch
+++ b/0022-dma-buf-Add-an-API-for-importing-sync-files-v10.patch
@@ -1,7 +1,7 @@
-From 520309591712f72a36f87d086f005e9f2c21f388 Mon Sep 17 00:00:00 2001
+From bc1306c7e8b8f5173e10cc0e976d53b97b0ee597 Mon Sep 17 00:00:00 2001
From: Jason Ekstrand <jason@jlekstrand.net>
Date: Wed, 8 Jun 2022 10:21:42 -0500
-Subject: [PATCH 3/5] dma-buf: Add an API for importing sync files (v10)
+Subject: [PATCH] dma-buf: Add an API for importing sync files (v10)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -110,10 +110,10 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20220608152142.14495-3-jason
2 files changed, 91 insertions(+)
diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
-index 437f3620dce8..41ebb645efda 100644
+index 8a2a96d8593c..88c5324cfa39 100644
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
-@@ -523,6 +523,46 @@ static long dma_buf_export_sync_file(struct dma_buf *dmabuf,
+@@ -513,6 +513,46 @@ static long dma_buf_export_sync_file(struct dma_buf *dmabuf,
put_unused_fd(fd);
return ret;
}
@@ -160,7 +160,7 @@ index 437f3620dce8..41ebb645efda 100644
#endif
static long dma_buf_ioctl(struct file *file,
-@@ -610,6 +650,8 @@ static long dma_buf_ioctl(struct file *file,
+@@ -600,6 +640,8 @@ static long dma_buf_ioctl(struct file *file,
#if IS_ENABLED(CONFIG_SYNC_FILE)
case DMA_BUF_IOCTL_EXPORT_SYNC_FILE:
return dma_buf_export_sync_file(dmabuf, (void __user *)arg);
@@ -170,7 +170,7 @@ index 437f3620dce8..41ebb645efda 100644
default:
diff --git a/include/uapi/linux/dma-buf.h b/include/uapi/linux/dma-buf.h
-index 522bcee5498e..b4ceeaedfa87 100644
+index c2ed92064e8a..8674a4a4e86b 100644
--- a/include/uapi/linux/dma-buf.h
+++ b/include/uapi/linux/dma-buf.h
@@ -48,6 +48,24 @@ struct dma_buf_sync {
@@ -236,13 +236,10 @@ index 522bcee5498e..b4ceeaedfa87 100644
#define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
@@ -81,6 +129,7 @@ struct dma_buf_export_sync_file {
- #define DMA_BUF_SET_NAME_A _IOW(DMA_BUF_BASE, 1, u32)
- #define DMA_BUF_SET_NAME_B _IOW(DMA_BUF_BASE, 1, u64)
+ #define DMA_BUF_SET_NAME_A _IOW(DMA_BUF_BASE, 1, __u32)
+ #define DMA_BUF_SET_NAME_B _IOW(DMA_BUF_BASE, 1, __u64)
#define DMA_BUF_IOCTL_EXPORT_SYNC_FILE _IOWR(DMA_BUF_BASE, 2, struct dma_buf_export_sync_file)
+#define DMA_BUF_IOCTL_IMPORT_SYNC_FILE _IOW(DMA_BUF_BASE, 3, struct dma_buf_import_sync_file)
struct dma_buf_sync_partial {
__u64 flags;
---
-2.38.1
-
diff --git a/0024-MALI-bifrost-avoid-fence-double-free.patch b/0024-MALI-bifrost-avoid-fence-double-free.patch
deleted file mode 100644
index 2a47a7a1378a..000000000000
--- a/0024-MALI-bifrost-avoid-fence-double-free.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From d1ce2f15fac0e7c3ee27d312016c5fce0608bcae Mon Sep 17 00:00:00 2001
-From: Icecream95 <ixn@disroot.org>
-Date: Tue, 6 Dec 2022 15:17:33 +1300
-Subject: [PATCH 8/9] MALI: bifrost: Avoid fence double-free
-
-Probably this corresponds to CVE-2022-42716.
-
----
- drivers/gpu/arm/bifrost/csf/mali_kbase_csf_kcpu.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/drivers/gpu/arm/bifrost/csf/mali_kbase_csf_kcpu.c b/drivers/gpu/arm/bifrost/csf/mali_kbase_csf_kcpu.c
-index 6c43c029a324..715ccd62e375 100644
---- a/drivers/gpu/arm/bifrost/csf/mali_kbase_csf_kcpu.c
-+++ b/drivers/gpu/arm/bifrost/csf/mali_kbase_csf_kcpu.c
-@@ -1550,7 +1550,6 @@ static int kbase_kcpu_fence_signal_prepare(
- dma_fence_put(fence_out);
-
- current_command->info.fence.fence = NULL;
-- kfree(fence_out);
-
- return ret;
- }
---
-2.38.1
-
diff --git a/0025-drm-rockchip-Re-add-implicit-fencing-support-for-pla.patch b/0025-drm-rockchip-Re-add-implicit-fencing-support-for-pla.patch
deleted file mode 100644
index 7d106e8f3180..000000000000
--- a/0025-drm-rockchip-Re-add-implicit-fencing-support-for-pla.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 1a0e71a04479dbd6ef08f46b4911ddc64b47347d Mon Sep 17 00:00:00 2001
-From: Icecream95 <ixn@disroot.org>
-Date: Tue, 6 Dec 2022 16:52:06 +1300
-Subject: [PATCH 5/5] drm/rockchip: Re-add implicit fencing support for planes
-
-Similar to 63d5e06aa381 ("drm/rockchip: Add implicit fencing support
-for planes") but after the code was removed and VOP2 was added in the
-downstream kernel.
-
-Note that upstream VOP2 does not have this line as it was added since
-29a840842743 ("drm/<driver>: drm_gem_plane_helper_prepare_fb is now
-the default") removed the need.
-
----
- drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
-index df4a3291d3da..f9675d9320d4 100644
---- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
-+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
-@@ -10,6 +10,7 @@
- #include <drm/drm_crtc_helper.h>
- #include <drm/drm_debugfs.h>
- #include <drm/drm_flip_work.h>
-+#include <drm/drm_gem_framebuffer_helper.h>
- #include <drm/drm_fourcc.h>
- #include <drm/drm_plane_helper.h>
- #include <drm/drm_probe_helper.h>
-@@ -4622,6 +4623,7 @@ static const struct drm_plane_helper_funcs vop2_plane_helper_funcs = {
- .atomic_check = vop2_plane_atomic_check,
- .atomic_update = vop2_plane_atomic_update,
- .atomic_disable = vop2_plane_atomic_disable,
-+ .prepare_fb = drm_gem_fb_prepare_fb,
- };
-
- /**
---
-2.38.1
-
diff --git a/PKGBUILD b/PKGBUILD
index 1b88fc95bbad..e8def7ca008a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,83 +8,74 @@ _user="radxa"
_kernel=linux-radxa-rkbsp5
pkgbase=$_kernel-git
pkgname=("${pkgbase}-headers" $pkgbase)
-pkgver=$_pkgver
+pkgver=5.10.1080499.5fa580a5149c.624ad59
+blobcommit="libmali"
+fwcommit="488f49467f5b4adb8ae944221698e9a4f9acb0ed"
pkgrel=2
arch=('aarch64')
license=('GPL2')
url="https://github.com/${_user}"
_kernelrepo="kernel"
_overlayrepo="overlays"
-_kernelbranch=linux-5.10-gen-rkr3.4
+_kernelbranch=linux-5.10-gen-rkr4.1
_overlaybranch=main
pkgdesc="Latest git Linux kernel package based on 5.10.x BSP kernel published by RADXA targetting rk3399 based rock4 and rk3588 based rock5 boards"
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools' 'vboot-utils' 'dtc')
options=('!strip')
-# Patch1-19 comes from Radxa: https://github.com/radxa-repo/bsp/tree/main/linux/rockchip
-# Patch20: Warning Supressions for buildsystem not to quit including DistCC builds
-# Patch21-25: icecream95's mesa speed patches from kernel 6.x https://gitlab.com/panfork/rk3588-implicit-sync
-# Patch22: Force Enabling AV1 decoder in 3588. This may be implemented in radxa git as well soon
+# Patch1-10 comes from Radxa: https://github.com/radxa-repo/bsp/tree/main/linux/rockchip
+# Patch11: Warning Supressions for buildsystem not to quit including DistCC builds
+# Patch12: Force Enabling AV1 decoder in 3588. This may be implemented in radxa git as well soon
source=(git+https://github.com/$_user/$_kernelrepo.git#branch=$_kernelbranch
git+https://github.com/$_user/$_overlayrepo.git#branch=$_overlaybranch
'linux.preset'
'extlinux.arch.template'
- '0001-mm-page_alloc-fix-building-error-on-Werror-array-com.patch'
- '0002-etherdevice-Adjust-ether_addr-prototypes-to-silence-.patch'
- '0003-drm-rockchip-vop-Use-clipped-src-dst-coordinates.patch'
- '0004-Update-existing-ROCK-4-OPP-settings.patch'
- '0005-Add-additional-ROCK-4-products.patch'
- '0006-Enable-DMC-for-ROCK-4.patch'
- '0007-Fix-ROCK-4-OTG-switch.patch'
- '0008-Add-pwm-fan-for-ROCK-4C.patch'
- '0009-VENDOR-Add-Radxa-overlays.patch'
- '0010-Fix-dangling-pointer-compiler-bug.patch'
- '0011-Disable-tristate-for-non-modules.patch'
- '0012-Disable-tristate-for-modules-that-uses-unexported-sy.patch'
- '0013-Disable-tristate-for-builtin-dependencies.patch'
- '0014-Revert-dma-buf-sw_sync-build-sw-sync-as-module-for-g.patch'
- '0015-Disable-tristate-for-essential-boot-services.patch'
- '0016-Revert-ANDROID-clk-Enable-writable-debugfs-files.patch'
- '0017-Modfy-GPU-node-for-Panfrost-driver.patch'
- '0018-VENDOR-Version-tagging-linux-libc-dev-as-well.patch'
- '0019-Add-ROCK-4-Core-IO-Board-Fuhai.patch'
- '0020-gcc-ignore-stringop-overread-warnings.patch'
- '0021-dma-buf-add-dma_resv_get_singleton-v2.patch'
- '0022-dma-buf-Add-an-API-for-exporting-sync-files-v14.patch'
- '0023-dma-buf-Add-an-API-for-importing-sync-files-v10.patch'
- '0024-MALI-bifrost-avoid-fence-double-free.patch'
- '0025-drm-rockchip-Re-add-implicit-fencing-support-for-pla.patch'
- '0026-Enable_AV1_decoder_on_3588.patch')
+ '0001-VENDOR-Add-Radxa-overlays.patch'
+ '0002-Fix-dangling-pointer-compiler-bug.patch'
+ '0003-Disable-tristate-for-non-modules.patch'
+ '0004-Disable-tristate-for-modules-that-uses-unexported-sy.patch'
+ '0005-Disable-tristate-for-builtin-dependencies.patch'
+ '0006-Revert-dma-buf-sw_sync-build-sw-sync-as-module-for-g.patch'
+ '0007-Disable-tristate-for-essential-boot-services.patch'
+ '0008-Modfy-GPU-node-for-Panfrost-driver.patch'
+ '0009-VENDOR-Version-tagging-linux-libc-dev-as-well.patch'
+ '0010-Add-ROCK-4-Core-IO-Board-Fuhai.patch'
+ '0011-gcc-ignore-stringop-overread-warnings.patch'
+ '0012-Enable_AV1_decoder_on_3588.patch'
+ '0020-dma-buf-add-dma_resv_get_singleton-v2.patch'
+ '0021-dma-buf-Add-an-API-for-exporting-sync-files-v14.patch'
+ '0022-dma-buf-Add-an-API-for-importing-sync-files-v10.patch'
+ "libmali_g610_wayland.so::https://github.com/JeffyCN/mirrors/raw/${blobcommit}/lib/aarch64-linux-gnu/libmali-valhall-g610-g13p0-wayland-gbm.so"
+ "libmali_g610_x.so::https://github.com/JeffyCN/mirrors/raw/${blobcommit}/lib/aarch64-linux-gnu/libmali-valhall-g610-g13p0-x11-gbm.so"
+ "mali_csffw.bin::https://github.com/JeffyCN/mirrors/raw/${fwcommit}/firmware/g610/mali_csffw.bin"
+ "libmali"
+ "libmaliw"
+ )
+
b2sums=('SKIP'
'SKIP'
'bd296f775df973c6dcb6bd8311ce4d3af9a8d4a67905f17c450cae776aab0229987d473334d38fd102a34ed483a121f67ac58a48fd9e6fab2c714c7079e06613'
'd8208257c8f2e23a9dbcf2a1bbd11b5a638679cd49dd03d4ea190d1ecd94e2760cccb2cd1cda890816a9c338ce2f38c859961f4ab3a22fca458a453ca0d5f2fc'
- '74b6d76888267785ac99e58bdb852c667865d44353821c01052734d58e1213c16290aabff7ae6c95ac6b24893fe5109897f949d814ccec55cc69af9885fc62f6'
- '461eb48692574f48d37a9a236b3a17992493cf07a39ab72f78fa0ac4f04e3ff9896f16e721c111f865d9aa3d3f0d7b7c082fe2f319eee0e1a6c54db44f0a6e53'
- '2703d12281e60e2b9f057bbb3ac28e190f77c4ad8cfccc6f1a316b9bc6434e7ca296221eeb8992134c2d365a5afea7b7adf1d9516e3c89c3fc03f0941f65e5c2'
- '376e54c72261c803d40e3ddca06e39b72c85fe4d8743e79cac1c8ced3feb953760471a6784cc4922b0bcf00004f9b2a9407094b6075883c5ce82786ff357cb3b'
- 'c09942deeead81798f47e07f72e6b8748e8b44682d72a1bd0d50e7c9f20e9ae8243c248a234ecc1f48112c40d2690c5ab171fdc9ba55101f4cc5294888c9f49b'
- '6277d3f4e43eb20b735e8ef933f4e9fccc5077484f2c7051b7f47bfae77ffce13387199650cc90adf14d4dc941bb376d9e52d48bab37412afe9437e5d081a130'
- '4d42cee746b74a2f2982187a568b939cc1d3f3e3bc18472fea0ce9eb27d658170f434a14526e339fb36d2936a7a17b59a699a4c351152a56f8ab7743e670c05a'
- '53b3d818d3d8bdcebe5bf1b25f6196615fe605f4d9f282d0f2effa44bd1480241b0d4e5eedfbc34fa27e2ce90ee634799e3aefad1bd701c250c502e4b2178d71'
'4908b5a94c02a4eb0fe8bb9983289f1b8acbb1b8ebb541643c7ec4ac5de87be949efbdec839d34603b045500b13033f836385bdbf3e935fcd8d221f71028d604'
'e612cf028aaf8f99c2735a6e1640170af51e62aa86a8cc795694ac089b2f31be93e67c6ee394cd22d290a787cd9f064861b0bb173033069710881280432ad45f'
'bde631de66dde60339c7fa306b06a9100ac41adaeb16788c800157324a288a97629c41dda5076698c1ef71b8b7f44b5eba619b6aac92d0d5c59e796fb2aa407a'
- '1836fb5f211c4feb279de7d241799ff483eb6d4728cdba74ad44c8808a5d5be0077c53a315ae4f6d16f157156f5d6d00a5428a857f4164659e7a2feb584f5ec9'
+ 'bc56e29a4b54bc20cda18023667c115a5819bb1fff9ac9fbe6296d5b89897f82d65fa99e9d013bf25fc0a17e22be219cfef7eb55ceaa6a228da92db8b2a20406'
'16b725f25bc150675888dcc03125cd285f2c73f7955d90d521af9a139d717836afab07a995f7018e19cdad41964061800503e40e32656ee54bf69c22e8c8a53f'
'8a6c96251c48048ff653285646347853d5df5264d1bf0bf798a48d3636480263125f92c5cb21f7d4b4988b6d831636d34de1b882c0209110178117e3ea1a0630'
'f5ab48ee96b6df65ec20742e5bb2badffa7ed926f5020d64bdcfe1fe924fff9cafdb70c7983084f4294ab5663c5b56eeb51e96df176253175e9bde52121c3164'
- '1bf65b95368a4134086b03598943f6d4025fefec436e170b95fa8478523755187c427ab038ae3fe3aef319c6a266e58c1d360575fd08720dd60957578054fa28'
'd7c4496318bd3fc5294af88bcdeafa49b04683d1e1fe7312b0317872fdecb929ef8e62b86332e87eddd49c1f5e7ddb9a59372dcbf0514158f7d75947e81f7d8d'
'7dc970eebf837940c67ae61f809f9e0cc6ae9e2a033ca7975b2c4055190b23ddd190170e75949834d54818f08016743d66c6ede5175f6cf988bec2e6aa4f008d'
'b3b9b04b0f73d07c1927c0def7e5cc991144a7e65a01dab4ec1b2dd01f092e001da3fc07e852ebefb1530509e25a99730217a9208b6a26b0333c288ca1151935'
'86010c037ed11f25de26f0e1a35109488b00af3ec11cceff979694c6730d6501cffa292798042ae6a60d839b438f6abf90b6ecc08ab0a4fa597d564493ab9c9b'
- 'afe3cf59d21517ef62bb456b831c638dc54107258e4f4412b8ebab2fa871a26c2aab3c16bf6a39b692611540febf2c68b6dece570266fc5c0a7349ffc05da7d0'
- 'f96570ec79e310c21c8f98a95e3775bde05133bf4db25413596791d96ee7142702ecd5f5e358df4d852cbab9f909a455d438277978ed9d4e0f2fd4a3d43df082'
- '053bd95a861c9ee1cc8fa7a9af787d927c9110fffd2780c4972ce97ee2ade1ff567071158e89734b2352ac0c98aff82259c241baa0cee263919ec012c9ef9478'
- 'ea47ec8ba687f3a82d790797bb772ef04dd0dd5ab64d7f2c674659068c0332374c49e0e58b9ae7768bc7c6bfb67830b96b74a981ed4639fc1a8ef9f1fea9acb5'
- '4dccfcdd1f2e9c3ba556a0c15541b6e7522e12e0d3e0153937266026fe365f54ed45ab77f7e24397acc61c0a170803214ddc452d46f7659c57eba5b82107d7d2'
- '7c61be00b97a8acb759c35f23969cdfb4e739a8c88fd147d2af4594fa14100a2da90b160e04b8632c3dca703ff2c1973138d7f765c5b9a7039c6aae7f0078d9a')
+ '7c61be00b97a8acb759c35f23969cdfb4e739a8c88fd147d2af4594fa14100a2da90b160e04b8632c3dca703ff2c1973138d7f765c5b9a7039c6aae7f0078d9a'
+ 'c3487e98544c2d36e60f3c3f2fabff94b3d4b157f2858c67c526dd8fdac8685dae3c2c7c07d4398b898943257f16ddc469dc633619862fe5b8da76fd317bca42'
+ 'b9eb4d0856adc68350dba4d7a8076cddddf97061244cd9aea422c549f2dd2f1f951087835ee957ce0117bf468f0d3068d7f52ce5f486ce00263101af4ab2ba68'
+ 'eccbf9cf7efd9f5e4f0d12fc59b7f86e1a212ef35e99250f9bc836efe675b1abd81c8997994c8986aa5ec1886e6908abd13473e57523846a15a355fa13beeec7'
+ '1660754e093a8a108bce6fc35988d29de53ead6951b2a97c21654b02314d62bdf3cd5fe1d79bad6dc7712f3715195f16ca5cd1024971c7f3d32316be84a4a5a9'
+ '9e0cbb940172869dba69828db0dc8e1bb439f0af328cf1b52d5e49cde3f846dc3ea7260c463ec2c8235c9b2518e204bc1afddcc858ad713182b369210da44323'
+ '8df273b81667f27c8490ae05ed38a22084171710f0178ae07d29e842389da4dc013612510a84694aa6ded908acea3892c7e486459ee32291e3872f1272c75210'
+ '75606e8ac064597091850b4d8192ab248bf15127756ca454f07d33390903ab0306d7727345dd9cf37015666ee4c4c915f2c996647fa833c420a72e4a5dff97a6'
+ '4915c805a1ad4f98c4975c4dfa358f16a0fbf1e8096f11189ff019e6d9fa4bb6b5b6e70b8fd5b527fd65a14cb6eb9734afcc05a079b9980ff5d5195d757ac5b4')
pkgver(){
#gets the commit count of both repos + _pkgrel and sums them to calculate the revision number
@@ -140,11 +131,11 @@ build() {
echo "-radxa-rkbsp" > .scmversion
# should result in kernelmaj.kernelmin.patchver-totalcommitnum-hashofkernel-hashofoverlays-radxa-rkbsp
- make -j$(nproc) olddefconfig prepare
+ make olddefconfig prepare
make -s kernelrelease > version
unset LDFLAGS
- make -j$(nproc) ${MAKEFLAGS} Image modules
- make -j$(nproc) ${MAKEFLAGS} DTC_FLAGS="-@" dtbs
+ make ${MAKEFLAGS} Image modules
+ make ${MAKEFLAGS} DTC_FLAGS="-@" dtbs
}
_package-git() {
@@ -152,7 +143,7 @@ _package-git() {
depends=('coreutils' 'kmod' 'mkinitcpio>=0.7')
optdepends=('wireless-regdb: to set the correct wireless channels of your country')
provides=("linux=${pkgver}" "linux-rkbsp")
- conflicts=('linux')
+ conflicts=('linux' 'libmali')
backup=("etc/mkinitcpio.d/${_kernel}.preset")
cd kernel
@@ -186,6 +177,23 @@ _package-git() {
# install mkinitcpio preset file
sed "$_subst" ../linux.preset |
install -Dm644 /dev/stdin "$pkgdir/etc/mkinitcpio.d/$_kernel.preset"
+
+ cd ../
+ # install the firmware
+ install -Dm755 mali_csffw.bin $pkgdir/usr/lib/firmware/mali_csffw.bin
+
+ # install blob drivers
+ for d in x wayland; do
+ install -Dm755 libmali_g610_$d.so $pkgdir/usr/lib/libmali/libmali_g610_$d.so
+ install -dm755 $pkgdir/usr/lib/libmali/$d
+ for l in libEGL.so libEGL.so.1 libgbm.so.1 libGLESv2.so libGLESv2.so.2 libGLESv2_CM.so libOpenCL.so.1; do
+ ln -s ../libmali_g610_$d.so $pkgdir/usr/lib/libmali/$d/$l;
+ done
+ done
+
+ # install the helper scripts
+ install -Dm755 libmali $pkgdir/usr/bin/libmali
+ install -Dm755 libmaliw $pkgdir/usr/bin/libmaliw
}
_package-git-headers() {
@@ -271,4 +279,4 @@ for _p in ${pkgname[@]}; do
eval "package_${_p}() {
_package${_p#${_kernel}}
}"
-done \ No newline at end of file
+done
diff --git a/libmali b/libmali
new file mode 100755
index 000000000000..42c536bb19a0
--- /dev/null
+++ b/libmali
@@ -0,0 +1,19 @@
+#!/bin/bash
+APP=$(which $1)
+ARGS=${@:2}
+HASRPATH=$(chrpath -l $APP | grep -o /usr/lib)
+export LIBGL_DEEPBIND=0
+export LD_LIBRARY_PATH="/usr/lib/gl4es:/usr/lib/libmali/x:$LD_LIBRARY_PATH"
+export LD_PRELOAD="/usr/lib/libdri2to3.so:$LD_PRELOAD"
+# linux linker loads the shared libs in the order of 1. RPATH of the elf, then LD_LIBRARY_PATH
+# if a binary has RPATH pointed out to /usr/lib, then this causes system GL libraries to load
+# in such a case we load the app directly with linker ommitting the rpath of /usr/lib
+echo $HASRPATH
+if [ -z $HASRPATH ]
+then
+ echo "Running ${APP} on X with libmali"
+ exec $APP $ARGS
+else
+ echo "Running ${APP} on X with libmali using linker"
+ exec /lib/ld-linux-aarch64.so.1 --inhibit-rpath :/usr/lib $APP $ARGS
+fi
diff --git a/libmaliw b/libmaliw
new file mode 100755
index 000000000000..03f667ad50b6
--- /dev/null
+++ b/libmaliw
@@ -0,0 +1,18 @@
+#!/bin/bash
+APP=$(which $1)
+ARGS=${@:2}
+HASRPATH=$(chrpath -l $APP | grep -o /usr/lib)
+export LIBGL_DEEPBIND=0
+export LD_LIBRARY_PATH="/usr/lib/gl4es:/usr/lib/libmali/wayland:$LD_LIBRARY_PATH"
+# linux linker loads the shared libs in the order of 1. RPATH of the elf, then LD_LIBRARY_PATH
+# if a binary has RPATH pointed out to /usr/lib, then this causes system GL libraries to load
+# in such a case we load the app directly with linker ommitting the rpath of /usr/lib
+echo $HASRPATH
+if [ -z $HASRPATH ]
+then
+ echo "Running ${APP} on Wayland with libmali"
+ exec $APP $ARGS
+else
+ echo "Running ${APP} on Wayland with libmali using linker"
+ exec /lib/ld-linux-aarch64.so.1 --inhibit-rpath :/usr/lib $APP $ARGS
+fi