Skip to content

Commit d9f435f

Browse files
committed
Merge branch 'refs/heads/bits/210-gpu' into asahi-wip
2 parents 3668351 + 70f7eb6 commit d9f435f

124 files changed

Lines changed: 28691 additions & 282 deletions

Some content is hidden

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

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
``um`` Maintained ``x86_64`` only.
1920
``x86`` Maintained ``x86_64`` only.
2021
============ ================ ==============================================

arch/arm64/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ config ARM64
225225
select HAVE_FUNCTION_ARG_ACCESS_API
226226
select MMU_GATHER_RCU_TABLE_FREE
227227
select HAVE_RSEQ
228+
select HAVE_RUST
228229
select HAVE_STACKPROTECTOR
229230
select HAVE_SYSCALL_TRACEPOINTS
230231
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
@@ -271,6 +271,8 @@ config DRM_VKMS
271271

272272
If M is selected the module will be called vkms.
273273

274+
source "drivers/gpu/drm/asahi/Kconfig"
275+
274276
source "drivers/gpu/drm/exynos/Kconfig"
275277

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

drivers/gpu/drm/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,3 +195,4 @@ obj-y += gud/
195195
obj-$(CONFIG_DRM_HYPERV) += hyperv/
196196
obj-y += solomon/
197197
obj-$(CONFIG_DRM_SPRD) += sprd/
198+
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)