|
|
Log in / Subscribe / Register

Rust bindings for gem shmem + iosys_map

From:  Lyude Paul <lyude-AT-redhat.com>
To:  dri-devel-AT-lists.freedesktop.org, rust-for-linux-AT-vger.kernel.org, Alice Ryhl <aliceryhl-AT-google.com>, Daniel Almeida <daniel.almeida-AT-collabora.com>, Danilo Krummrich <dakr-AT-kernel.org>, linux-kernel-AT-vger.kernel.org
Subject:  [PATCH v6 0/8] Rust bindings for gem shmem + iosys_map
Date:  Tue, 02 Dec 2025 17:03:26 -0500
Message-ID:  <20251202220924.520644-1-lyude@redhat.com>
Cc:  Miguel Ojeda <ojeda-AT-kernel.org>, Alex Gaynor <alex.gaynor-AT-gmail.com>, Boqun Feng <boqun.feng-AT-gmail.com>, Gary Guo <gary-AT-garyguo.net>, Björn Roy Baron <bjorn3_gh-AT-protonmail.com>, Benno Lossin <lossin-AT-kernel.org>, Andreas Hindborg <a.hindborg-AT-kernel.org>, Trevor Gross <tmgross-AT-umich.edu>
Archive-link:  Article

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




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds