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

Lyude Paul posted 8 patches 2 weeks, 2 days ago
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
[PATCH v6 0/8] Rust bindings for gem shmem + iosys_map
Posted by Lyude Paul 2 weeks, 2 days ago
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
Re: [PATCH v6 0/8] Rust bindings for gem shmem + iosys_map
Posted by Janne Grunau 1 week, 6 days ago
On Tue, Dec 02, 2025 at 05:03:26PM -0500, Lyude Paul wrote:
> 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

whole series is tested with the asahi (Apple silicon GPU driver) on top
of v6.18 plus further modifications.

Tested-by: Janne Grunau <j@jannau.net>

Patches I did not reply to directly are

Reviewed-by: Janne Grunau <j@jananu.net>

Janne