Hi all, This series picks up the work carried out by the Asahi project for shmem-backed GEM objects. This initial version is meant to kickstart the discussion on this topic, as the bindings will be clearly needed by Tyr and other drivers. It has been tested on both AGX and Tyr successfully. I did provide a minor fix for a missing #include, but I did not touch this code otherwise so far. Even the rebase was done by Janne Grunnau. Applies on top of commit 0722a3f4f15545a4a25fd124b6955a5b6498e23a Author: Danilo Krummrich <dakr@xxxxxxxxxx> Date: Tue Oct 15 17:19:27 2024 +0200 nova: add initial driver stub --- Asahi Lina (7): drm/shmem-helper: Add lockdep asserts to vmap/vunmap drm/gem-shmem: Export VM ops functions rust: helpers: Add bindings/wrappers for dma_resv_lock rust: drm: gem: shmem: Add DRM shmem helper abstraction drm/gem: Add a flag to control whether objects can be exported rust: drm: gem: Add set_exportable() method rust: drm: gem: shmem: Add share_dma_resv() function drivers/gpu/drm/drm_gem.c | 1 + drivers/gpu/drm/drm_gem_shmem_helper.c | 13 +- drivers/gpu/drm/drm_prime.c | 5 + include/drm/drm_gem.h | 8 + include/drm/drm_gem_shmem_helper.h | 3 + rust/bindings/bindings_helper.h | 4 + rust/helpers/dma-resv.c | 13 + rust/helpers/drm.c | 46 ++++ rust/helpers/helpers.c | 2 + rust/helpers/scatterlist.c | 13 + rust/kernel/drm/gem/mod.rs | 15 ++ rust/kernel/drm/gem/shmem.rs | 457 +++++++++++++++++++++++++++++++++ 12 files changed, 577 insertions(+), 3 deletions(-) --- base-commit: 0722a3f4f15545a4a25fd124b6955a5b6498e23a change-id: 20250318-drm-gem-shmem-8bb647b66b1c Best regards, -- Daniel Almeida <daniel.almeida@xxxxxxxxxxxxx>