Hi Dave and Sima, Please pull these DRM Rust changes.
Most changes have been in -next for a couple of rounds; there's one minor conflict with the drm-misc tree [1] due to a Panthor/Tyr UAPI change. In general, there are not a lot of changes this cycle, the biggest thing is the preparation work for Turing support, but even this is rather small. Expect quite a bit more for the next cycle, e.g. GPUVM, DRM buddy, DeviceContext for DRM devices and Hopper/Blackwell support plus some MM stuff on the nova-core side. - Danilo [1] https://lore.kernel.org/all/[email protected]/ The following changes since commit 0f61b1860cc3f52aef9036d7235ed1f017632193: Linux 6.19-rc5 (2026-01-11 17:03:14 -1000) are available in the Git repository at: https://gitlab.freedesktop.org/drm/rust/kernel.git tags/drm-rust-next-2026-01-26 for you to fetch changes up to cea7b66a80412e2a5b74627b89ae25f1d0110a4b: Documentation: nova: update pending tasks (2026-01-26 18:16:14 +0100) ---------------------------------------------------------------- DRM Rust changes for v7.0-rc1 DRM: - Fix documentation for Registration constructors. - Use pin_init::zeroed() for fops initialization. - Annotate DRM helpers with __rust_helper. - Improve safety documentation for gem::Object::new(). - Update AlwaysRefCounted imports. MM: - Prevent integer overflow in page_align(). Nova (Core): - Prepare for Turing support. This includes parsing and handling Turing-specific firmware headers and sections as well as a Turing Falcon HAL implementation. - Get rid of the Result<impl PinInit<T, E>> anti-pattern. - Relocate initializer-specific code into the appropriate initializer. - Use CStr::from_bytes_until_nul() to remove custom helpers. - Improve handling of unexpected firmware values. - Clean up redundant debug prints. - Replace c_str!() with native Rust C-string literals. - Update nova-core task list. Nova (DRM): - Align GEM object size to system page size. Tyr: - Use generated uAPI bindings for GpuInfo. - Replace manual sleeps with read_poll_timeout(). - Replace c_str!() with native Rust C-string literals. - Suppress warnings for unread fields. - Fix incorrect register name in print statement. ---------------------------------------------------------------- Alexandre Courbot (1): gpu: nova-core: align LibosMemoryRegionInitArgument size to page size Alice Ryhl (1): rust: drm: add __rust_helper to helpers Atharv Dubey (1): rust: drm: use `pin_init::zeroed()` for file operations initialization Brendan Shephard (2): rust: Return Option from page_align and ensure no usize overflow drm/nova: Align GEM memory allocation to system page size Danilo Krummrich (7): gpu: nova-core: fw: get rid of redundant Result in GspFirmware::new() gpu: nova-core: fw: move appropriate code into pin initializer gpu: nova-core: gsp: get rid of redundant Result in Gsp::new() gpu: nova-core: gsp: move appropriate code into pin initializer Merge tag 'v6.19-rc5' into drm-rust-next Documentation: nova: remove completed tasks Documentation: nova: update pending tasks Deborah Brouwer (3): drm/tyr: use generated bindings for GpuInfo drm/tyr: use read_poll_timeout drm/tyr: suppress unread field warnings Dirk Behme (1): drm/tyr: fix register name in error print Ewan Chorynski (1): rust: drm: Improve safety comment when using `Pin::into_inner_unchecked` John Hubbard (4): gpu: nova-core: use CStr::from_bytes_until_nul() and remove util.rs gpu: nova-core: use CStr::from_bytes_until_nul() in elf64_section() gpu: nova-core: preserve error information in gpu_name() gpu: nova-core: don't print raw PMU table entries Lyude Paul (1): rust/drm: Fix Registration::{new,new_foreign_owned}() docs Shankari Anand (2): drivers: gpu: Update ARef imports from sync::aref rust: drm: Update AlwaysRefCounted imports to use sync::aref Tamir Duberstein (2): gpu: nova: replace `kernel::c_str!` with C-Strings drm: tyr: replace `kernel::c_str!` with C-Strings Timur Tabi (12): gpu: nova-core: check for overflow to DMATRFBASE1 gpu: nova-core: add missing newlines to several print strings gpu: nova-core: rename Imem to ImemSecure gpu: nova-core: add ImemNonSecure section infrastructure gpu: nova-core: support header parsing on Turing/GA100 gpu: nova-core: add support for Turing/GA100 fwsignature gpu: nova-core: add NV_PFALCON_FALCON_DMATRFCMD::with_falcon_mem() gpu: nova-core: move some functions into the HAL gpu: nova-core: Add basic Turing HAL gpu: nova-core: add NV_PFALCON_FALCON_ENGINE::reset_engine() gpu: nova-core: add Falcon HAL method load_method() gpu: nova-core: add FalconUCodeDescV2 support Documentation/gpu/nova/core/todo.rst | 59 +++++++++----------------------- drivers/gpu/drm/nova/driver.rs | 18 +++++++--- drivers/gpu/drm/nova/gem.rs | 6 ++-- drivers/gpu/drm/tyr/driver.rs | 55 +++++++++++++----------------- drivers/gpu/drm/tyr/gpu.rs | 66 ++++++++++++++++++------------------ drivers/gpu/nova-core/driver.rs | 5 ++- drivers/gpu/nova-core/falcon.rs | 107 +++++++++++++++++++++++++++------------------------------- drivers/gpu/nova-core/falcon/hal.rs | 26 ++++++++++++++ drivers/gpu/nova-core/falcon/hal/ga102.rs | 43 ++++++++++++++++++++++-- drivers/gpu/nova-core/falcon/hal/tu102.rs | 77 ++++++++++++++++++++++++++++++++++++++++++ drivers/gpu/nova-core/fb.rs | 2 +- drivers/gpu/nova-core/firmware.rs | 203 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- drivers/gpu/nova-core/firmware/booter.rs | 43 ++++++++++++++++++++---- drivers/gpu/nova-core/firmware/fwsec.rs | 51 +++++++++++++--------------- drivers/gpu/nova-core/firmware/gsp.rs | 146 +++++++++++++++++++++++++++++++++++++++++-------------------------------------- drivers/gpu/nova-core/gpu.rs | 4 +-- drivers/gpu/nova-core/gsp.rs | 77 ++++++++++++++++++++---------------------- drivers/gpu/nova-core/gsp/boot.rs | 18 ++++------ drivers/gpu/nova-core/gsp/cmdq.rs | 2 +- drivers/gpu/nova-core/gsp/commands.rs | 29 ++++++++++++---- drivers/gpu/nova-core/gsp/fw.rs | 14 +++++++- drivers/gpu/nova-core/gsp/sequencer.rs | 14 ++++---- drivers/gpu/nova-core/nova_core.rs | 1 - drivers/gpu/nova-core/regs.rs | 42 ++++++++++++++++++++++- drivers/gpu/nova-core/util.rs | 16 --------- drivers/gpu/nova-core/vbios.rs | 73 ++++++++++++++++++---------------------- rust/helpers/drm.c | 7 ++-- rust/kernel/drm/driver.rs | 6 ++-- rust/kernel/drm/gem/mod.rs | 8 ++--- rust/kernel/page.rs | 36 ++++++++++++++++---- 30 files changed, 823 insertions(+), 431 deletions(-) create mode 100644 drivers/gpu/nova-core/falcon/hal/tu102.rs delete mode 100644 drivers/gpu/nova-core/util.rs
