commit:     7856888ac5a6bf14f80ded1972adaec8549cc67e
Author:     Sv. Lockal <lockalsash <AT> gmail <DOT> com>
AuthorDate: Fri Dec  5 12:36:53 2025 +0000
Commit:     Sv. Lockal <lockalsash <AT> gmail <DOT> com>
CommitDate: Fri Dec  5 12:36:53 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=7856888a

dev-libs/xdna-driver: add 999999

Signed-off-by: Sv. Lockal <lockalsash <AT> gmail.com>

 dev-libs/xdna-driver/xdna-driver-999999.ebuild | 78 ++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

diff --git a/dev-libs/xdna-driver/xdna-driver-999999.ebuild 
b/dev-libs/xdna-driver/xdna-driver-999999.ebuild
new file mode 100644
index 0000000000..3c906c8d16
--- /dev/null
+++ b/dev-libs/xdna-driver/xdna-driver-999999.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1
+
+# 
FWAPI=https://gitlab.com/api/v4/projects/kernel-firmware%2Fdrm-firmware/repository/branches/amd-ipu-staging
+# curl -s "$FWAPI" | jq -r '.commit.id'
+FW_HASH=886e8948d60c354b488ad8d10c56763b81597093
+
+DESCRIPTION="AMD XDNA Driver"
+HOMEPAGE="https://github.com/amd/xdna-driver";
+
+if [[ ${PV} == 999999 ]] ; then
+       EGIT_REPO_URI="https://github.com/amd/xdna-driver.git";
+       EGIT_SUBMODULES=()
+       inherit git-r3
+else
+       
SRC_URI="https://github.com/amd/xdna-driver/archive/refs/tags/${PV}.tar.gz -> 
${P}.tar.gz"
+       KEYWORDS="amd64"
+fi
+
+# 
INFO_FILE=https://raw.githubusercontent.com/amd/xdna-driver/main/tools/info.json
+# curl -s "$INFO_FILE" | jq -r '.firmwares[] | "\(.url) -> 
\(.pci_device_id)_\(.pci_revision_id)__\(.fw_name)"'
+FW_URI_PREFIX=https://gitlab.com/kernel-firmware/drm-firmware/-/raw/${FW_HASH}/amdnpu
+SRC_URI+=" firmware? (
+       ${FW_URI_PREFIX}/1502_00/npu.sbin.1.5.5.391 -> 
${FW_HASH:0:6}-1502_00__npu.dev.sbin
+       ${FW_URI_PREFIX}/17f0_00/npu.sbin.0.7.22.185 -> 
${FW_HASH:0:6}-17f0_00__npu.dev.sbin
+       ${FW_URI_PREFIX}/17f0_10/npu.sbin.255.0.5.35 -> 
${FW_HASH:0:6}-17f0_10__npu.dev.sbin
+       ${FW_URI_PREFIX}/17f0_11/npu.sbin.255.0.5.35 -> 
${FW_HASH:0:6}-17f0_11__npu.dev.sbin
+)"
+
+declare -A firmwares
+
+# curl -s 
https://raw.githubusercontent.com/amd/xdna-driver/main/tools/info.json \
+# | jq -r '.firmwares[] | 
"firmwares[\"\(.pci_device_id)_\(.pci_revision_id)__\(.fw_name)\"]=\(.pci_device_id)_\(.pci_revision_id)/\(.fw_name)"'
+firmwares["1502_00__npu.dev.sbin"]=1502_00/npu.dev.sbin
+firmwares["17f0_00__npu.dev.sbin"]=17f0_00/npu.dev.sbin
+firmwares["17f0_10__npu.dev.sbin"]=17f0_10/npu.dev.sbin
+firmwares["17f0_11__npu.dev.sbin"]=17f0_11/npu.dev.sbin
+
+S="${WORKDIR}/${P}/src/driver/amdxdna"
+LICENSE="GPL-2 firmware? ( linux-fw-redistributable )"
+SLOT="0"
+IUSE="+firmware"
+
+src_prepare() {
+       sed -e "s/-Werror//" -i Kbuild || die
+       default
+}
+
+src_compile() {
+       local modlist=( amdxdna )
+       local modargs=( KERNEL_VER="${KV_FULL}" )
+
+       linux-mod-r1_src_compile
+}
+
+src_install() {
+       for k in "${!firmwares[@]}"; do
+               value="${firmwares[$k]}"
+               mkdir -p "${D}/lib/firmware/amdnpu/$(dirname "${value}")" || die
+               cp "${DISTDIR}/${FW_HASH:0:6}-$k" 
"${D}/lib/firmware/amdnpu/${value}" || die
+       done
+
+       insinto /usr/lib/modules-load.d
+       newins - amdxdna.conf <<-EOF
+               amdxdna
+       EOF
+
+       insinto /etc/modprobe.d
+       newins - amdxdna.conf <<-EOF
+               install amdxdna /sbin/insmod /lib/modules/\$(uname 
-r)/extra/amdxdna.ko \$CMDLINE_OPTS
+       EOF
+
+       linux-mod-r1_src_install
+}

Reply via email to