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

Lyude Paul posted 8 patches 3 months, 2 weeks ago
There is a newer version of this series
drivers/gpu/drm/nova/gem.rs     |   5 +-
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      |  80 +++-
rust/kernel/drm/gem/shmem.rs    | 433 ++++++++++++++++++++
rust/kernel/iosys_map.rs        | 705 ++++++++++++++++++++++++++++++++
rust/kernel/lib.rs              |   1 +
10 files changed, 1284 insertions(+), 21 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 v5 0/8] Rust bindings for gem shmem + iosys_map
Posted by Lyude Paul 3 months, 2 weeks 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.

This patch applies to drm-rust-next with two additional commits from
drm-misc-next:

e3f4bdaf2c5b ("drm/gem/shmem: Extract drm_gem_shmem_init() from drm_gem_shmem_create()")
c08c931060c7 ("drm/gem/shmem: Extract drm_gem_shmem_release() from drm_gem_shmem_free()")

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

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

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 +-
 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      |  80 +++-
 rust/kernel/drm/gem/shmem.rs    | 433 ++++++++++++++++++++
 rust/kernel/iosys_map.rs        | 705 ++++++++++++++++++++++++++++++++
 rust/kernel/lib.rs              |   1 +
 10 files changed, 1284 insertions(+), 21 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: 5ae65bdcb867555540169ef57876658262a67d87
prerequisite-patch-id: ed9c46db079eee47b437d10234dac813197bc33e
prerequisite-patch-id: a2c6c70700e6a333d0b4daf97978fd2e07e24156
-- 
2.51.0