summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuben Van BoxemÃ2020-05-01 15:33:09 +0200
committerRuben Van BoxemÃ2020-05-01 15:33:09 +0200
commit74e072a29c2bbb72fe361d8d8ce85ef7aea39715 (patch)
treec7e1824845c531e84f3180d6119307ed83cd46ec
downloadaur-74e072a29c2bbb72fe361d8d8ce85ef7aea39715.tar.gz
initial commit based on LibreELEC patched kernel drivers
-rw-r--r--.SRCINFO24
-rw-r--r--0001-add-mm_trace_rss_stat-stub.patch9
-rw-r--r--PKGBUILD40
-rw-r--r--dkms.conf24
-rw-r--r--mali-midgard-dkms.install13
5 files changed, 110 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..354b3ec61bc5
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,24 @@
+pkgbase = mali-midgard-dkms
+ pkgdesc = Mali Midgard Kernel Module for mainline linux
+ pkgver = r28p0
+ pkgrel = 1
+ url = https://github.com/LibreELEC/mali-midgard
+ install = mali-midgard-dkms.install
+ arch = aarch64
+ license = GPLv2
+ makedepends = git
+ depends = linux
+ depends = linux-headers
+ depends = dkms
+ provides = dkms-mali
+ conflicts = dkms-mali
+ options = !strip
+ source = git+https://github.com/LibreELEC/mali-midgard.git
+ source = 0001-add-mm_trace_rss_stat-stub.patch
+ source = dkms.conf
+ md5sums = SKIP
+ md5sums = ac76eb20c5cc565241abf1ccd61086d7
+ md5sums = 491eacc5c88783991f8089f0ca73d647
+
+pkgname = mali-midgard-dkms
+
diff --git a/0001-add-mm_trace_rss_stat-stub.patch b/0001-add-mm_trace_rss_stat-stub.patch
new file mode 100644
index 000000000000..13fc626427bd
--- /dev/null
+++ b/0001-add-mm_trace_rss_stat-stub.patch
@@ -0,0 +1,9 @@
+diff --git a/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c b/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c
+index b3b5ffc..9a338db 100644
+--- a/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c
++++ b/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c
+@@ -2491,3 +2491,4 @@ static int kbase_tracking_page_setup(struct kbase_context *kctx, struct vm_area_
+ return 0;
+ }
+
++void mm_trace_rss_stat(struct mm_struct *mm, int member, long count) {}
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..55f2ffdfbae4
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,40 @@
+# Mali driver for mainline linux on Midgard platforms
+# Maintainer: Ruben Van Boxem <vanboxem.ruben@gmail.com>
+
+buildarch=8
+
+pkgname=mali-midgard-dkms
+pkgver=r28p0
+pkgrel=1
+pkgdesc="Mali Midgard Kernel Module for mainline linux"
+arch=('aarch64')
+url="https://github.com/LibreELEC/mali-midgard"
+license=('GPLv2')
+install="$pkgname".install
+depends=('linux' 'linux-headers' 'dkms')
+makedepends=('git')
+provides=('dkms-mali')
+conflicts=('dkms-mali')
+options=(!strip)
+_gitname=mali-midgard
+source=("git+https://github.com/LibreELEC/$_gitname.git"
+ "0001-add-mm_trace_rss_stat-stub.patch"
+ "dkms.conf")
+md5sums=('SKIP'
+ 'ac76eb20c5cc565241abf1ccd61086d7'
+ '491eacc5c88783991f8089f0ca73d647')
+
+prepare() {
+ cd $srcdir/$_gitname
+
+ patch -p1 -i ../0001-add-mm_trace_rss_stat-stub.patch
+
+ find . -name Kbuild -exec sed -i 's/mali_kbase.o/mali_midgard.o/g; s/mali_kbase-/mali_midgard-/g' {} \;
+}
+
+package() {
+ cp dkms.conf "$srcdir/$_gitname/driver/product/kernel/drivers/gpu/arm/midgard"
+ cd "$srcdir/$_gitname/driver//product/kernel/drivers/gpu/arm/midgard"
+ mkdir -p "$pkgdir/usr/src/mali-midgard-$pkgver"
+ cp -r . "$pkgdir/usr/src/mali-midgard-$pkgver"
+}
diff --git a/dkms.conf b/dkms.conf
new file mode 100644
index 000000000000..14e60dc0f950
--- /dev/null
+++ b/dkms.conf
@@ -0,0 +1,24 @@
+PACKAGE_NAME="mali-midgard"
+PACKAGE_VERSION="r28p0"
+
+AUTOINSTALL="yes"
+
+CLEAN[0]="make clean"
+
+MAKE[0]="ARCH=arm64 KDIR=/lib/modules/${kernelver}/build USING_UMP=0 \
+ CONFIG_MALI_MIDGARD=m \
+ CONFIG_MALI_TIMELINE_DISABLED=y \
+ CONFIG_MALI_MIDGARD_DVFS=y \
+ CONFIG_MALI_MIDGARD_RT_PM=y \
+ CONFIG_MALI_MIDGARD_ENABLE_TRACE=y \
+ CONFIG_MALI_MIDGARD_DEBUG_SYS=y \
+ CONFIG_MALI_EXPERT=y \
+ CONFIG_MALI_DEBUG_SHADER_SPLIT_FS=y \
+ CONFIG_MALI_PLATFORM_THIRDPARTY=y \
+ CONFIG_MALI_PLATFORM_THIRDPARTY_NAME=\"devicetree\" \
+ CONFIG_MALI_PLATFORM_DEVICETREE=y \
+ make"
+
+BUILT_MODULE_NAME[0]="mali_midgard"
+BUILT_MODULE_LOCATION[0]="."
+DEST_MODULE_LOCATION[0]="/kernel/drivers/gpu/drm/"
diff --git a/mali-midgard-dkms.install b/mali-midgard-dkms.install
new file mode 100644
index 000000000000..f2e7d84a8e38
--- /dev/null
+++ b/mali-midgard-dkms.install
@@ -0,0 +1,13 @@
+pkgver="r28p0"
+
+post_install() {
+ dkms install "mali-midgard/$pkgver"
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ dkms remove "mali-midgard/$pkgver" --all
+}