Add the VM and BO ioctls to the Tyr driver, aligning its userspace interface with panthor. The series is based on Danilo's `drm-file` series on `drm-rust-next`, and uses the existing IdPool and xarray abstractions for per-file VM management.
The panthor IGT tests pass on an RK3588S device. A branch with the full series and all prerequisites applied is available at: https://gitlab.freedesktop.org/alvinsun039/linux.git tyr-ioctls Signed-off-by: Ke Sun <[email protected]> Link: https://gitlab.freedesktop.org/panfrost/linux/-/merge_requests/64 --- Changes in v2: - Fold the VM pool into vm.rs and cap it at 32 VMs per file (Deborah). - Add VmOwner so a VM is killed exactly once on drop, regardless of remaining references (Daniel). - Replace the VmSpec enum with new_for_fw()/new_for_user() constructors (Daniel). - Parse VM_BIND op types via VmBindOpType and use the kernel Atomic<bool> for the unusable flag (Daniel). - Use PAGE_SIZE for the dummy object size (Daniel). - Rename BoData::create_flags() to flags() (Daniel). - Report VA-split failures with dev_err! at the caller (Deborah). - Link to v1: https://lore.kernel.org/r/[email protected] --- Alvin Sun (9): rust: sizes: add SZ_4G constant rust: mm: add `task_size` helper rust: sync: arc: relax `ForeignOwnable` for `Arc<T>` drm/tyr: add per-file VM pool drm/tyr: add user and MCU VM specifications drm/tyr: add BO creation and lookup helpers drm/tyr: refactor new_dummy_object to use new_object drm/tyr: add VM-related ioctls drm/tyr: add BO-related ioctls drivers/gpu/drm/tyr/driver.rs | 14 +- drivers/gpu/drm/tyr/file.rs | 378 ++++++++++++++++++++++++++++++++++++++-- drivers/gpu/drm/tyr/fw.rs | 37 ++-- drivers/gpu/drm/tyr/gem.rs | 41 ++++- drivers/gpu/drm/tyr/vm.rs | 378 ++++++++++++++++++++++++++++++++++++++-- rust/bindings/bindings_helper.h | 1 + rust/kernel/mm.rs | 7 + rust/kernel/sizes.rs | 12 ++ rust/kernel/sync/arc.rs | 12 +- 9 files changed, 819 insertions(+), 61 deletions(-) --- base-commit: 3ac51829f95368876dcfbfbb42823ca0cd6e6f56 change-id: 20260901-tyr-ioctls-f10ef0dcbfa6 Best regards, -- Ke Sun <[email protected]>
