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 acheive 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://lwn.net/Articles/1035785/
Asahi Lina (2):
rust: helpers: Add bindings/wrappers for dma_resv_lock
rust: drm: gem: shmem: Add DRM shmem helper abstraction
Lyude Paul (7):
Partially revert "rust: drm: gem: Implement AlwaysRefCounted for all
gem objects automatically"
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 | 85 ++--
rust/kernel/drm/gem/shmem.rs | 427 ++++++++++++++++++++
rust/kernel/iosys_map.rs | 686 ++++++++++++++++++++++++++++++++
rust/kernel/lib.rs | 1 +
10 files changed, 1259 insertions(+), 26 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: 1d5cffebd930d61588c32198f85fbe541ab97b8f
prerequisite-patch-id: ed9c46db079eee47b437d10234dac813197bc33e
prerequisite-patch-id: a2c6c70700e6a333d0b4daf97978fd2e07e24156
--
2.51.0