Skip to content

Commit 31369e3

Browse files
committed
Merge branch 'bits/210-gpu' into asahi-wip
2 parents 4c8457a + 18c9deb commit 31369e3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+28276
-79
lines changed

Documentation/rust/arch-support.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ support corresponds to ``S`` values in the ``MAINTAINERS`` file.
1515
============= ================ ==============================================
1616
Architecture Level of support Constraints
1717
============= ================ ==============================================
18+
``arm64`` Maintained None.
1819
``loongarch`` Maintained -
1920
``um`` Maintained ``x86_64`` only.
2021
``x86`` Maintained ``x86_64`` only.

arch/arm64/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ config ARM64
229229
select HAVE_FUNCTION_ARG_ACCESS_API
230230
select MMU_GATHER_RCU_TABLE_FREE
231231
select HAVE_RSEQ
232+
select HAVE_RUST
232233
select HAVE_STACKPROTECTOR
233234
select HAVE_SYSCALL_TRACEPOINTS
234235
select HAVE_KPROBES

arch/arm64/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ KBUILD_CFLAGS += -mgeneral-regs-only \
4141
KBUILD_CFLAGS += $(call cc-disable-warning, psabi)
4242
KBUILD_AFLAGS += $(compat_vdso)
4343

44+
KBUILD_RUSTFLAGS += -C target-feature="-neon,-fp-armv8"
45+
4446
KBUILD_CFLAGS += $(call cc-option,-mabi=lp64)
4547
KBUILD_AFLAGS += $(call cc-option,-mabi=lp64)
4648

@@ -65,9 +67,11 @@ endif
6567

6668
ifeq ($(CONFIG_ARM64_BTI_KERNEL),y)
6769
KBUILD_CFLAGS += -mbranch-protection=pac-ret+bti
70+
KBUILD_RUSTFLAGS += -Z branch-protection=bti,pac-ret,leaf
6871
else ifeq ($(CONFIG_ARM64_PTR_AUTH_KERNEL),y)
6972
ifeq ($(CONFIG_CC_HAS_BRANCH_PROT_PAC_RET),y)
7073
KBUILD_CFLAGS += -mbranch-protection=pac-ret
74+
KBUILD_RUSTFLAGS += -Z branch-protection=pac-ret,leaf
7175
else
7276
KBUILD_CFLAGS += -msign-return-address=non-leaf
7377
endif

drivers/gpu/drm/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,8 @@ config DRM_VKMS
304304

305305
If M is selected the module will be called vkms.
306306

307+
source "drivers/gpu/drm/asahi/Kconfig"
308+
307309
source "drivers/gpu/drm/exynos/Kconfig"
308310

309311
source "drivers/gpu/drm/rockchip/Kconfig"

drivers/gpu/drm/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,3 +190,4 @@ obj-y += solomon/
190190
obj-$(CONFIG_DRM_SPRD) += sprd/
191191
obj-$(CONFIG_DRM_LOONGSON) += loongson/
192192
obj-$(CONFIG_DRM_POWERVR) += imagination/
193+
obj-$(CONFIG_DRM_ASAHI) += asahi/

drivers/gpu/drm/asahi/Kconfig

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
3+
config RUST_DRM_SCHED
4+
bool
5+
select DRM_SCHED
6+
7+
config RUST_DRM_GEM_SHMEM_HELPER
8+
bool
9+
select DRM_GEM_SHMEM_HELPER
10+
11+
config RUST_APPLE_RTKIT
12+
bool
13+
select APPLE_RTKIT
14+
select APPLE_MBOX
15+
16+
config DRM_ASAHI
17+
tristate "Asahi (DRM support for Apple AGX GPUs)"
18+
depends on RUST
19+
depends on DRM
20+
depends on (ARM64 && ARCH_APPLE) || (COMPILE_TEST && !GENERIC_ATOMIC64)
21+
depends on MMU
22+
select RUST_DRM_SCHED
23+
select IOMMU_SUPPORT
24+
select IOMMU_IO_PGTABLE_LPAE
25+
select RUST_DRM_GEM_SHMEM_HELPER
26+
select RUST_APPLE_RTKIT
27+
help
28+
DRM driver for Apple AGX GPUs (G13x, found in the M1 SoC family)
29+
30+
config DRM_ASAHI_DEBUG_ALLOCATOR
31+
bool "Use debug allocator"
32+
depends on DRM_ASAHI
33+
help
34+
Use an alternate, simpler allocator which significantly reduces
35+
performance, but can help find firmware- or GPU-side memory safety
36+
issues. However, it can also trigger firmware bugs more easily,
37+
so expect GPU crashes.
38+
39+
Say N unless you are debugging firmware structures or porting to a
40+
new firmware version.

drivers/gpu/drm/asahi/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
3+
obj-$(CONFIG_DRM_ASAHI) += asahi.o

0 commit comments

Comments
 (0)