[<prev] [next>] [day] [month] [year] [list]
Message-Id: <DFYW1WV6DUCG.3K8V2DAVD1Q4A@kernel.org>
Date: Mon, 26 Jan 2026 23:53:10 +0100
From: "Danilo Krummrich" <dakr@...nel.org>
To: "Dave Airlie" <airlied@...il.com>, "Simona Vetter"
<simona.vetter@...ll.ch>
Cc: "Alice Ryhl" <aliceryhl@...gle.com>, "Alexandre Courbot"
<acourbot@...dia.com>, "Daniel Almeida" <daniel.almeida@...labora.com>,
<nouveau@...ts.freedesktop.org>, <dri-devel@...ts.freedesktop.org>,
<rust-for-linux@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: [GIT PULL] DRM Rust changes for v7.0-rc1
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/aXEF-ESjd5ouyXRq@sirena.org.uk/
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
Powered by blists - more mailing lists