Skip to content

Commit 77c7eec

Browse files
committed
kmod-6.12-amdgpu: add out of tree AMD GPU driver
- Add new kmod-6.12-amdgpu package with out of tree AMD GPU driver support - Update kernel 1006 patch to include additional DRM helpers for AMD GPU Signed-off-by: Gaurav Sharma <mgsharm@amazon.com>
1 parent cbc0eb2 commit 77c7eec

File tree

10 files changed

+181
-8
lines changed

10 files changed

+181
-8
lines changed

Cargo.lock

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ members = [
77
"packages/kernel-6.12",
88
"packages/kmod-6.1-nvidia-r570",
99
"packages/kmod-6.1-nvidia-r580",
10+
"packages/kmod-6.12-amdgpu",
1011
"packages/kmod-6.12-nvidia-r570",
1112
"packages/kmod-6.12-nvidia-r580",
1213
"packages/nvidia-migmanager",

kits/bottlerocket-kernel-kit/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ kernel-6_1 = { path = "../../packages/kernel-6.1" }
1717
kernel-6_12 = { path = "../../packages/kernel-6.12" }
1818
kmod-6_1-nvidia-r570 = { path = "../../packages/kmod-6.1-nvidia-r570" }
1919
kmod-6_1-nvidia-r580 = { path = "../../packages/kmod-6.1-nvidia-r580" }
20+
kmod-6_12-amdgpu = { path = "../../packages/kmod-6.12-amdgpu" }
2021
kmod-6_12-nvidia-r570 = { path = "../../packages/kmod-6.12-nvidia-r570" }
2122
kmod-6_12-nvidia-r580 = { path = "../../packages/kmod-6.12-nvidia-r580" }
2223
nvidia-migmanager = { path = "../../packages/nvidia-migmanager" }
Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,36 @@
1-
From 574ee6cf29164ce587f525434611a76e10e4cc6e Mon Sep 17 00:00:00 2001
1+
From d5ea71a04d5d11a31b686ebcc92f44e5e0419d46 Mon Sep 17 00:00:00 2001
22
From: Martin Harriman <mharrimn@amazon.com>
33
Date: Sun, 30 Mar 2025 22:36:38 +0000
4-
Subject: [PATCH] Select prerequisites for gpu drivers
4+
Subject: [PATCH] drm/simpledrm: Select prerequisites for gpu drivers
55

6+
Select DRM subsystem components needed for GPU driver support including
7+
display helpers (DP, HDMI, HDCP), execution context management, buddy
8+
allocator, scheduler, TTM memory management, and panel backlight quirks.
9+
10+
Signed-off-by: Martin Harriman <mharrimn@amazon.com>
11+
Signed-off-by: Gaurav Sharma <mgsharm@amazon.com>
612
---
7-
drivers/gpu/drm/tiny/Kconfig | 6 ++++++
8-
1 file changed, 6 insertions(+)
13+
drivers/gpu/drm/tiny/Kconfig | 7 +++++++
14+
1 file changed, 7 insertions(+)
915

1016
diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig
11-
index f6889f649..98b597e13 100644
17+
index ce17143d4..5b772e8a0 100644
1218
--- a/drivers/gpu/drm/tiny/Kconfig
1319
+++ b/drivers/gpu/drm/tiny/Kconfig
14-
@@ -85,6 +85,12 @@ config DRM_SIMPLEDRM
20+
@@ -86,6 +86,13 @@ config DRM_SIMPLEDRM
1521
select APERTURE_HELPERS
1622
select DRM_GEM_SHMEM_HELPER
1723
select DRM_KMS_HELPER
1824
+ select DRM_DISPLAY_DP_HELPER
1925
+ select DRM_DISPLAY_HELPER
20-
+ select DRM_KMS_HELPER
2126
+ select DRM_SUBALLOC_HELPER
2227
+ select DRM_TTM
2328
+ select DRM_TTM_HELPER
29+
+ select DRM_DISPLAY_HDCP_HELPER
30+
+ select DRM_DISPLAY_HDMI_HELPER
2431
help
2532
DRM driver for simple platform-provided framebuffers.
2633

2734
--
28-
2.47.1
35+
2.51.0
2936

packages/kernel-6.12/config-full-bottlerocket-aarch64

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3929,6 +3929,8 @@ CONFIG_DRM_DISPLAY_HELPER=m
39293929
# CONFIG_DRM_DISPLAY_DP_AUX_CEC is not set
39303930
# CONFIG_DRM_DISPLAY_DP_AUX_CHARDEV is not set
39313931
CONFIG_DRM_DISPLAY_DP_HELPER=y
3932+
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
3933+
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
39323934
CONFIG_DRM_TTM=m
39333935
CONFIG_DRM_TTM_HELPER=m
39343936
CONFIG_DRM_GEM_SHMEM_HELPER=m

packages/kernel-6.12/config-full-bottlerocket-x86_64

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3606,6 +3606,8 @@ CONFIG_DRM_DISPLAY_HELPER=m
36063606
# CONFIG_DRM_DISPLAY_DP_AUX_CEC is not set
36073607
# CONFIG_DRM_DISPLAY_DP_AUX_CHARDEV is not set
36083608
CONFIG_DRM_DISPLAY_DP_HELPER=y
3609+
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
3610+
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
36093611
CONFIG_DRM_TTM=m
36103612
CONFIG_DRM_TTM_HELPER=m
36113613
CONFIG_DRM_GEM_SHMEM_HELPER=m
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.rpm
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[package]
2+
name = "kmod-6_12-amdgpu"
3+
version = "0.1.0"
4+
edition = "2021"
5+
publish = false
6+
build = "../build.rs"
7+
8+
[package.metadata.build-package]
9+
package-name = "kmod-6.12-amdgpu"
10+
releases-url = "https://repo.radeon.com/amdgpu/"
11+
12+
[lib]
13+
path = "../packages.rs"
14+
15+
[[package.metadata.build-package.external-files]]
16+
url = "https://repo.radeon.com/amdgpu/30.20/el/10/main/x86_64/amdgpu-dkms-6.16.6-2238411.el10.noarch.rpm"
17+
sha512 = "978eff171b54e02cd831ff06d541506891f149037a7a81d3e48bb8ffb5e80b3964d529868bcce32a7f33e2a7ceb8ebbfb2900e4e5108231c4adb50c4b6b0bed8"
18+
19+
[build-dependencies]
20+
kernel-6_12 = { path = "../kernel-6.12" }
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
3+
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
50+
=4g5r
51+
-----END PGP PUBLIC KEY BLOCK-----
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
%global kernel_sources %{_cross_usrsrc}/kernels/6.12
2+
%define _kernel_version %(cat %{kernel_sources}/include/config/kernel.release)
3+
%global _cross_kmoddir %{_cross_libdir}/modules/%{_kernel_version}
4+
%global amdgpu_kmoddir %{_cross_kmoddir}/kernel/drivers/updates/gpu/drm/amd/amdgpu
5+
%global _ko ko
6+
7+
Name: %{_cross_os}kmod-6.12-amdgpu
8+
Version: 30.20
9+
Release: 1%{?dist}
10+
Summary: AMD GPU drivers for the 6.12 kernel
11+
License: MIT AND GPL-2.0-only AND (GPL-2.0-only WITH Linux-syscall-note) AND GPL-2.0-or-later AND (GPL-2.0-or-later WITH Linux-syscall-note) AND LGPL-2.0-or-later AND (BSD-3-Clause OR GPL-2.0-only)
12+
URL: https://repo.radeon.com/amdgpu/
13+
14+
Source0: https://repo.radeon.com/amdgpu/30.20/el/10/main/x86_64/amdgpu-dkms-6.16.6-2238411.el10.noarch.rpm
15+
Source1: gpgkey-9386B48A1A693C5C.asc
16+
17+
BuildRequires: %{_cross_os}kernel-6.12-devel
18+
Requires: %{_cross_os}kernel-6.12
19+
Requires: %{_cross_os}linux-firmware-amdgpu
20+
21+
%description
22+
%{summary}.
23+
24+
%prep
25+
# Verify RPM signature
26+
rpmkeys --import %{S:1} --dbpath "${PWD}/rpmdb"
27+
rpmkeys --checksig %{S:0} --dbpath "${PWD}/rpmdb"
28+
# Extract driver sources and licenses from RPM
29+
rpm2cpio %{S:0} | cpio -idmu './usr/src/amdgpu-*' './usr/share/doc/amdgpu-dkms/*'
30+
find usr/src/ -mindepth 1 -maxdepth 1 -type d -exec mv {} amdgpu \;
31+
# Copy the LICENSE file to build directory
32+
cp usr/share/doc/amdgpu-dkms/LICENSE .
33+
rm -r usr
34+
35+
# Cross-compilation make macro for kernel builds
36+
%global kmake %{shrink: \
37+
make -s \
38+
ARCH="%{_cross_karch}" \
39+
CROSS_COMPILE="%{_cross_target}-" \
40+
INSTALL_HDR_PATH="%{buildroot}%{_cross_prefix}" \
41+
INSTALL_MOD_PATH="%{buildroot}%{_cross_prefix}" \
42+
INSTALL_MOD_STRIP=1 \
43+
%{nil}}
44+
45+
%build
46+
# Configure and Build AMD GPU driver
47+
pushd %{_builddir}/amdgpu/amd/dkms
48+
sed -i -e 's,AC_TRY_COMMAND(make,AC_TRY_COMMAND(%kmake,g' m4/kernel.m4
49+
autoreconf -fi
50+
%cross_configure \
51+
KERNELVER="%{_kernel_version}" \
52+
ARCH="%{_cross_karch}" \
53+
--with-linux=%{kernel_sources} \
54+
%{nil}
55+
popd
56+
pushd %{_builddir}/amdgpu
57+
%kmake \
58+
KERNELVER="%{_kernel_version}" \
59+
kernel_build_dir=%{kernel_sources} \
60+
modules
61+
popd
62+
63+
%install
64+
# Install AMD GPU kernel modules to correct location
65+
install -d %{buildroot}%{amdgpu_kmoddir}
66+
find amdgpu -type f -name "*.%{_ko}" -print \
67+
-exec install -p -m 0644 '{}' \
68+
%{buildroot}%{amdgpu_kmoddir}/ \;
69+
70+
%files
71+
%license LICENSE
72+
%{_cross_attribution_file}
73+
%{amdgpu_kmoddir}/amdkcl.%{_ko}
74+
%{amdgpu_kmoddir}/amdttm.%{_ko}
75+
%{amdgpu_kmoddir}/amddrm_ttm_helper.%{_ko}
76+
%{amdgpu_kmoddir}/amddrm_buddy.%{_ko}
77+
%{amdgpu_kmoddir}/amddrm_exec.%{_ko}
78+
%{amdgpu_kmoddir}/amd-sched.%{_ko}
79+
%{amdgpu_kmoddir}/amdxcp.%{_ko}
80+
%{amdgpu_kmoddir}/amdgpu.%{_ko}

0 commit comments

Comments
 (0)