55
66inherit linux-mod-r1 toolchain-funcs
77
8- # FWAPI=https://gitlab.com/api/v4/projects/kernel-firmware%2Fdrm-firmware/repository/branches/amd-ipu-staging
9- # curl -s "$FWAPI" | jq -r '.commit.id'
10- FW_COMMIT=82da0aea7f8f20e4c058195cc695e01aaa4b99f8
8+ # To regenerate, run:
9+ # ebuild xdna-driver-999999.ebuild info
10+ FW_COMMIT=5c040900cb08fe65c4f76c0c63ce5d7f318eae93
11+
12+ declare -A FIRMWARES=(
13+ [1502_00/npu.sbin.1.5.5.391]=npu.dev.sbin
14+ [17f1_10/npu.sbin.0.0.20.173]=npu.dev.sbin
15+ [17f1_10/cert.sbin.20260217]=cert.dev.sbin
16+ [17f2_10/npu.sbin.0.0.20.173]=npu.dev.sbin
17+ [17f2_10/cert.sbin.20260217]=cert.dev.sbin
18+ [17f0_10/npu.sbin.255.0.11.69]=npu.dev.sbin
19+ [17f0_11/npu.sbin.255.0.11.71]=npu.dev.sbin
20+ )
1121
1222DESCRIPTION=" AMD XDNA Driver"
1323HOMEPAGE=" https://github.com/amd/xdna-driver"
2131 KEYWORDS=" ~amd64"
2232fi
2333
24- # INFO_FILE=https://raw.githubusercontent.com/amd/xdna-driver/main/tools/info.json
25- # COMMON_PREFIX=https://gitlab.com/kernel-firmware/drm-firmware/-/raw/amd-ipu-staging/amdnpu/
26- # curl -s "$INFO_FILE" | jq -r ".firmwares[] | .url | sub(\"${COMMON_PREFIX}\"; \"\")"
27- FIRMWARES=(
28- 1502_00/npu.sbin.1.5.5.391
29- 17f0_00/npu.sbin.0.7.22.185
30- 17f0_10/1.7_npu.sbin.1.1.0.59
31- 17f0_11/1.7_npu.sbin.1.1.0.60
32- )
33-
3434FW_URI_PREFIX=https://gitlab.com/kernel-firmware/drm-firmware/-/raw/${FW_COMMIT} /amdnpu
3535
3636SRC_URI+=" firmware? ( "
37- for fw in " ${FIRMWARES[@]} " ; do
38- SRC_URI+=" ${FW_URI_PREFIX} /${fw} -> ${FW_COMMIT: 0: 6} -${fw%%/* } __npu.dev.sbin "
37+ for fw in " ${! FIRMWARES[@]} " ; do
38+ SRC_URI+=" ${FW_URI_PREFIX} /${fw} -> ${FW_COMMIT: 0: 6} -${fw%%/* } __ ${FIRMWARES[${fw}]} "
3939done
4040SRC_URI+=" )"
4141
@@ -44,12 +44,27 @@ LICENSE="GPL-2 firmware? ( linux-fw-redistributable )"
4444SLOT=" 0"
4545IUSE=" +firmware"
4646
47+ pkg_info () {
48+ local FWAPI=https://gitlab.com/api/v4/projects/kernel-firmware%2Fdrm-firmware/repository/branches/amd-ipu-staging
49+ local FW_COMMIT=$( curl -s " $FWAPI " | jq -r ' .commit.id' )
50+ local INFO_FILE=https://raw.githubusercontent.com/amd/xdna-driver/main/tools/info.json
51+ local COMMON_PREFIX=https://gitlab.com/kernel-firmware/drm-firmware/-/raw/amd-ipu-staging/amdnpu/
52+ # shellcheck disable=SC2016
53+ local JQ_EXPR=' .firmwares[] | (.url | sub($prefix; "")) as $p | " [" + $p + "]=" + .fw_name'
54+
55+ printf " FW_COMMIT=%s\n\n" " $FW_COMMIT "
56+ echo ' declare -A FIRMWARES=('
57+ curl -s " $INFO_FILE " | jq -r --arg prefix " $COMMON_PREFIX " " $JQ_EXPR "
58+ echo ' )'
59+ }
60+
4761src_prepare () {
4862 sed -e " s/-Werror//" -i Kbuild || die
4963
5064 # Forward clang compiler, otherwise fails when kernel is compiled with clang cflags
5165 # shellcheck disable=SC2016
5266 sed -e ' s/make -s /make -s CC="${CC}" /' \
67+ -e ' s:>/dev/null 2>&1::' \
5368 -i " ${WORKDIR} /${P} " /src/driver/tools/configure_kernel.sh || die
5469
5570 default
@@ -69,11 +84,11 @@ src_compile() {
6984}
7085
7186src_install () {
72- for fw in " ${FIRMWARES[@]} " ; do
87+ for fw in " ${! FIRMWARES[@]} " ; do
7388 local dir=" ${fw%%/* } "
74- local src_filename=" ${FW_COMMIT: 0: 6} -${dir} __npu.dev.sbin "
89+ local src_filename=" ${FW_COMMIT: 0: 6} -${dir} __ ${FIRMWARES[${fw}]} "
7590 insinto " /lib/firmware/amdnpu/${dir} "
76- newins " ${DISTDIR} /${src_filename} " npu.dev.sbin
91+ newins " ${DISTDIR} /${src_filename} " " ${FIRMWARES[${fw}]} "
7792 done
7893
7994 insinto /usr/lib/modules-load.d
0 commit comments