diff options
author | boogie | 2023-07-21 00:12:50 +0200 |
---|---|---|
committer | boogie | 2023-07-21 02:18:56 +0200 |
commit | 14a0a8705f127a23347fcbdfbde4dbb058b13182 (patch) | |
tree | 056405c80516964dd4941fbc062a57666775abb4 | |
parent | a001021fbecb1867e9b443501c783700d47f5010 (diff) | |
download | aur-14a0a8705f127a23347fcbdfbde4dbb058b13182.tar.gz |
update to rkr4.1 and deliver libmali together
-rw-r--r-- | .SRCINFO | 74 | ||||
-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.patch | 42 | ||||
-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-.patch | 63 | ||||
-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.patch | 85 | ||||
-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.patch | 63 | ||||
-rw-r--r-- | 0005-Add-additional-ROCK-4-products.patch | 203 | ||||
-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.patch | 354 | ||||
-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.patch | 40 | ||||
-rw-r--r-- | 0008-Add-pwm-fan-for-ROCK-4C.patch | 66 | ||||
-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.patch | 26 | ||||
-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.patch | 26 | ||||
-rw-r--r-- | 0025-drm-rockchip-Re-add-implicit-fencing-support-for-pla.patch | 40 | ||||
-rw-r--r-- | PKGBUILD | 114 | ||||
-rwxr-xr-x | libmali | 19 | ||||
-rwxr-xr-x | libmaliw | 18 |
30 files changed, 150 insertions, 1145 deletions
@@ -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 - @@ -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 |