firmware-qcom-adreno: Upgrade to latest release; split out GMU from SQE

While true for all currently-supported Adreno GPUs (according to
this `firmware-qcom-adreno` package, not the actual devices in this
repository) there are other GPU versions that have their own GMU
firmware (or no GMU at all) while reusing `a630_sqe.fw`.  The best
representation - one that allows all these firmware packages to be
installed concurrently - wraps that SQE firmware for A630 in a single
package, while creating GPU-specific packages that contain the matching
GMU firmware and depend on this `a630-sqe` package.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7819>
This commit is contained in:
Marijn Suijten 2025-12-16 14:54:13 +01:00 committed by [Merge Bot]
parent 7d6e37fe6a
commit aa443df78a
No known key found for this signature in database

View file

@ -1,12 +1,18 @@
maintainer=""
maintainer="Marijn Suijten <marijn.suijten@somainline.org>"
pkgname=firmware-qcom-adreno
pkgver=20241110
pkgver=20260110
pkgrel=0
pkgdesc="Qualcomm Adreno GPU firmware from linux-firmware"
url="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/"
arch="aarch64 armv7"
license="custom"
subpackages="$pkgname-doc"
subpackages="
$pkgname-doc
$pkgname-a630-sqe:a630_sqe
$pkgname-a610
$pkgname-a630
$pkgname-a640
"
source="https://gitlab.com/kernel-firmware/linux-firmware/-/archive/$pkgver/linux-firmware-$pkgver.tar.gz"
options="!check !strip !archcheck !tracedeps pmb:cross-native"
builddir="$srcdir/linux-firmware-$pkgver"
@ -16,7 +22,7 @@ builddir="$srcdir/linux-firmware-$pkgver"
replaces="linux-firmware-qcom"
_fwdir="/lib/firmware/qcom"
_gpus="a300 a330 a420 a530 a630 a650 a660 gen70500"
_gpus="a300 a330 a420 a530 a650 a660 gen70500"
for gpu in $_gpus; do
subpackages="$subpackages $pkgname-$gpu:_gpu"
done
@ -37,6 +43,30 @@ _gpu() {
rm -f "$subpkgdir/$_fwdir/$gpu"_zap*
}
a630_sqe() {
pkgdesc="$pkgdesc (a630 SQE)"
install -Dm644 "$builddir"/qcom/a630_sqe.fw -t "$subpkgdir/$_fwdir"/
}
a610() {
depends="$pkgname-a630-sqe"
pkgdesc="$pkgdesc (a610)"
# a610 has no GMU and only depends on SQE; hence an empty folder
install -Dm644 -d "$subpkgdir/$_fwdir"/
}
a630() {
depends="$pkgname-a630-sqe"
pkgdesc="$pkgdesc (a630 GMU)"
install -Dm644 "$builddir"/qcom/a630_gmu.bin -t "$subpkgdir/$_fwdir"/
}
a640() {
depends="$pkgname-a630-sqe"
pkgdesc="$pkgdesc (a640 GMU)"
install -Dm644 "$builddir"/qcom/a640_gmu.bin -t "$subpkgdir/$_fwdir"/
}
sha512sums="
b4ae2abe6eecc5e8fdc796ae75394d936fee7f7b5ed7803c51eccdbfba1f883ac567a43adc9e7c3a4e4934bf1794e37cd93478468599b542ef1327a8221f648a linux-firmware-20241110.tar.gz
b0c39fd52a84f695ff94cda6d93465b5a192ed3a663275a94b4df30e4126643ca2c9d59a3252df6efdb71a2506d607efd70b0871ec188576f34e1f661731db02 linux-firmware-20260110.tar.gz
"