[PATCH v6 0/8] Rust bindings for gem shmem + iosys_map

From: Lyude Paul

Date: Tue Dec 02 2025 - 17:10:43 EST


This is the next version of the shmem backed GEM objects series
originally from Asahi, previously posted by Daniel Almeida.

One of the major changes in this patch series is a much better interface
around vmaps, which we achieve by introducing a new set of rust bindings
for iosys_map.

The previous version of the patch series can be found here:

https://patchwork.freedesktop.org/series/156093/

Changelogs are per-patch

Asahi Lina (2):
rust: helpers: Add bindings/wrappers for dma_resv_lock
rust: drm: gem: shmem: Add DRM shmem helper abstraction

Lyude Paul (6):
rust/drm: Add gem::impl_aref_for_gem_obj!
rust: drm: gem: Add raw_dma_resv() function
rust: gem: Introduce DriverObject::Args
rust: drm: gem: Introduce shmem::SGTable
rust: Introduce iosys_map bindings
rust: drm/gem: Add vmap functions to shmem bindings

drivers/gpu/drm/nova/gem.rs | 5 +-
drivers/gpu/drm/tyr/gem.rs | 3 +-
rust/bindings/bindings_helper.h | 3 +
rust/helpers/dma-resv.c | 13 +
rust/helpers/drm.c | 48 ++-
rust/helpers/helpers.c | 2 +
rust/helpers/iosys_map.c | 15 +
rust/kernel/drm/gem/mod.rs | 79 +++-
rust/kernel/drm/gem/shmem.rs | 433 ++++++++++++++++++++++
rust/kernel/iosys_map.rs | 614 ++++++++++++++++++++++++++++++++
rust/kernel/lib.rs | 1 +
11 files changed, 1194 insertions(+), 22 deletions(-)
create mode 100644 rust/helpers/dma-resv.c
create mode 100644 rust/helpers/iosys_map.c
create mode 100644 rust/kernel/drm/gem/shmem.rs
create mode 100644 rust/kernel/iosys_map.rs


base-commit: 57dc2ea0b7bdb828c5d966d9135c28fe854933a4
--
2.52.0