lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <aRxtJC0D1pQUepF4@google.com>
Date: Tue, 18 Nov 2025 12:57:08 +0000
From: Alice Ryhl <aliceryhl@...gle.com>
To: Dave Airlie <airlied@...il.com>, Simona Vetter <simona.vetter@...ll.ch>
Cc: Danilo Krummrich <dakr@...nel.org>, Alexandre Courbot <acourbot@...dia.com>, 
	Daniel Almeida <daniel.almeida@...labora.com>, Miguel Ojeda <ojeda@...nel.org>, 
	nouveau@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org, 
	rust-for-linux@...r.kernel.org, linux-kernel@...r.kernel.org, 
	dim-tools@...ts.freedesktop.org
Subject: [PULL] DRM Rust changes for v6.19

Hi Dave and Sima,

Please pull the following DRM Rust changes.

Besides the DRM Rust changes, this PR also contains a few core Rust changes and
DRM GPUVM support for deferred vm_bo cleanup. The GPUVM change was landed
through this tree so that it could be used from Rust code, but unfortunately
the relevant Rust change did not land in time for this cycle.

The top commit gets rid of a conflict with the Rust tree. This conflict is what
caused the hack fix in the Nov 17th linux-next and I confirmed that the hack is
absent in the Nov 18th linux-next.

The drivers/gpu/nova-core/driver.rs file has a conflict with the driver-core
tree. Please see linux-next for the resolution:

	https://lore.kernel.org/p/20251117160621.2043a859@canb.auug.org.au

- Alice

The following changes since commit 211ddde0823f1442e4ad052a2f30f050145ccada:

  Linux 6.18-rc2 (2025-10-19 15:19:16 -1000)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/rust/kernel.git tags/drm-rust-next-2025-11-18

for you to fetch changes up to 77b686f688126a5f758b51441a03186e9eb1b0f1:

  gpu: nova-core: make formatting compatible with rust tree (2025-11-17 12:56:36 +0000)

----------------------------------------------------------------
Cross-subsystem Changes:

Rust
  - Make slice::as_flattened usable on all supported versions of rustc.
  - Add FromBytes::from_bytes_prefix() method.

Core Changes:

  - Update Tyr in MAINTAINERS file.
  - Remove redundant device ptr from Rust GEM object.
  - Change how AlwaysRefCounted is implemented for GEM objects.
  - Add deferred vm_bo cleanup to GPUVM and use it in Panthor.

Driver Changes:

Nova Core
  - Introduction of bitfield! macro, with support for different storage sizes
    and custom visibility.
  - Introduction of safe converters between integer types for which the
    conversion is lossless.
  - GSP initialized up to fully booted state on Ampere.
  - Use more future-proof register for GPU identification.
  - Various simplifications and optimizations.

Nova
  - Select NOVA_CORE.
  - Depend on CONFIG_64BIT.

----------------------------------------------------------------
Alexandre Courbot (19):
      gpu: nova-core: register: use field type for Into implementation
      gpu: nova-core: replace wait_on with kernel equivalents
      gpu: nova-core: bitfield: simplify condition
      gpu: nova-core: bitfield: simplify expression
      gpu: nova-core: bitfield: remove BitOr implementation
      gpu: nova-core: replace `as` with `from` conversions where possible
      gpu: nova-core: vbios: do not use `as` when comparing BiosImageType
      gpu: nova-core: use `try_from` instead of `as` for u32 conversions
      rust: transmute: add `from_bytes_prefix` family of methods
      gpu: nova-core: vbios: use FromBytes for PmuLookupTable header
      gpu: nova-core: vbios: use FromBytes for PcirStruct
      gpu: nova-core: vbios: use FromBytes for BitHeader
      gpu: nova-core: vbios: use FromBytes for NpdeStruct
      gpu: nova-core: add functions and traits for lossless integer conversions
      gpu: nova-core: replace use of `as` with functions from `num`
      gpu: nova-core: justify remaining uses of `as`
      gpu: nova-core: compute layout of more framebuffer regions required for GSP
      gpu: nova-core: num: add functions to safely convert a const value to a smaller type
      rust: enable slice_flatten feature and provide it through an extension trait

Alice Ryhl (4):
      drm/gpuvm: add deferred vm_bo cleanup
      panthor: use drm_gpuva_unlink_defer()
      Merge tag 'v6.18-rc2' into 'drm-rust-next'
      gpu: nova-core: make formatting compatible with rust tree

Alistair Popple (11):
      gpu: nova-core: Set correct DMA mask
      gpu: nova-core: Create initial Gsp
      gpu: nova-core: gsp: Create wpr metadata
      gpu: nova-core: Add zeroable trait to bindings
      gpu: nova-core: gsp: Add GSP command queue bindings and handling
      gpu: nova-core: gsp: Create rmargs
      gpu: nova-core: gsp: Add SetSystemInfo command
      gpu: nova-core: gsp: Add SetRegistry command
      gpu: nova-core: gsp: Boot GSP
      gpu: nova-core: gsp: Wait for gsp initialization to complete
      gpu: nova-core: gsp: Retrieve GSP static info to gather GPU information

Daniel del Castillo (4):
      gpu: nova-core: Simplify `transmute` and `transmute_mut` in fwsec.rs
      gpu: nova-core: Fix capitalization of some comments
      gpu: nova-core: Simplify `DmaObject::from_data` in nova-core/dma.rs
      Documentation: nova: Update the todo list

Danilo Krummrich (5):
      gpu: nova-core: gsp: remove useless conversion
      gpu: nova-core: gsp: do not unwrap() SGEntry
      MAINTAINERS: add Tyr to DRM DRIVERS AND COMMON INFRASTRUCTURE [RUST]
      drm: nova: depend on CONFIG_64BIT
      drm: nova: select NOVA_CORE

Joel Fernandes (18):
      gpu: nova-core: vbios: Rework BiosImage to be simpler
      gpu: nova-core: bitfield: Move bitfield-specific code from register! into new macro
      gpu: nova-core: bitfield: Add support for different storage widths
      gpu: nova-core: bitfield: Add support for custom visibility
      gpu: nova-core: Add a slice-buffer (sbuffer) datastructure
      gpu: nova-core: falcon: Add support to check if RISC-V is active
      gpu: nova-core: falcon: Add support to write firmware version
      gpu: nova-core: falcon: Move waiting until halted to a helper
      gpu: nova-core: falcon: Move start functionality into separate helper
      gpu: nova-core: falcon: Move mbox functionalities into helper
      gpu: nova-core: falcon: Move dma_reset functionality into helper
      gpu: nova-core: gsp: Add support for checking if GSP reloaded
      gpu: nova-core: Add bindings required by GSP sequencer
      gpu: nova-core: Implement the GSP sequencer
      gpu: nova-core: sequencer: Add register opcodes
      gpu: nova-core: sequencer: Add delay opcode support
      gpu: nova-core: sequencer: Implement basic core operations
      gpu: nova-core: sequencer: Implement core resume operation

John Hubbard (10):
      gpu: nova-core: regs: rename .alter() --> .update()
      gpu: nova-core: Ada: basic GPU identification
      gpu: nova-core: remove an unnecessary register read: HWCFG1
      gpu: nova-core: remove unnecessary need_riscv, bar parameters
      gpu: nova-core: apply the one "use" item per line policy
      gpu: nova-core: implement Display for Spec
      gpu: nova-core: prepare Spec and Revision types for boot0/boot42
      gpu: nova-core: make Architecture behave as a u8 type
      gpu: nova-core: add boot42 support for next-gen GPUs
      gpu: nova-core: provide a clear error report for unsupported GPUs

Lyude Paul (3):
      Partially revert "rust: drm: gem: Implement AlwaysRefCounted for all gem objects automatically"
      rust: drm/gem: Remove Object.dev
      rust/drm/gem: Fix missing header in `Object` rustdoc

 Documentation/gpu/nova/core/todo.rst              |  30 -
 MAINTAINERS                                       |   1 +
 drivers/gpu/drm/drm_gpuvm.c                       | 190 +++++
 drivers/gpu/drm/nova/Kconfig                      |   2 +
 drivers/gpu/drm/panthor/panthor_mmu.c             | 110 +--
 drivers/gpu/nova-core/bitfield.rs                 | 330 ++++++++
 drivers/gpu/nova-core/dma.rs                      |  34 +-
 drivers/gpu/nova-core/driver.rs                   |  27 +-
 drivers/gpu/nova-core/falcon.rs                   | 287 ++++---
 drivers/gpu/nova-core/falcon/gsp.rs               |  29 +-
 drivers/gpu/nova-core/falcon/hal.rs               |  14 +-
 drivers/gpu/nova-core/falcon/hal/ga102.rs         |  46 +-
 drivers/gpu/nova-core/falcon/sec2.rs              |  10 +-
 drivers/gpu/nova-core/fb.rs                       | 100 ++-
 drivers/gpu/nova-core/fb/hal.rs                   |   6 +-
 drivers/gpu/nova-core/fb/hal/ga100.rs             |  16 +-
 drivers/gpu/nova-core/fb/hal/ga102.rs             |   8 +-
 drivers/gpu/nova-core/fb/hal/tu102.rs             |  25 +-
 drivers/gpu/nova-core/firmware.rs                 |  31 +-
 drivers/gpu/nova-core/firmware/booter.rs          |  78 +-
 drivers/gpu/nova-core/firmware/fwsec.rs           | 184 +++--
 drivers/gpu/nova-core/firmware/gsp.rs             |  53 +-
 drivers/gpu/nova-core/firmware/riscv.rs           |  34 +-
 drivers/gpu/nova-core/gfw.rs                      |  48 +-
 drivers/gpu/nova-core/gpu.rs                      | 117 ++-
 drivers/gpu/nova-core/gsp.rs                      | 157 +++-
 drivers/gpu/nova-core/gsp/boot.rs                 | 153 +++-
 drivers/gpu/nova-core/gsp/cmdq.rs                 | 679 ++++++++++++++++
 drivers/gpu/nova-core/gsp/commands.rs             | 227 ++++++
 drivers/gpu/nova-core/gsp/fw.rs                   | 923 ++++++++++++++++++++-
 drivers/gpu/nova-core/gsp/fw/commands.rs          | 128 +++
 drivers/gpu/nova-core/gsp/fw/r570_144.rs          |   6 +-
 drivers/gpu/nova-core/gsp/fw/r570_144/bindings.rs | 950 ++++++++++++++++++++++
 drivers/gpu/nova-core/gsp/sequencer.rs            | 407 +++++++++
 drivers/gpu/nova-core/nova_core.rs                |   5 +
 drivers/gpu/nova-core/num.rs                      | 217 +++++
 drivers/gpu/nova-core/regs.rs                     |  93 ++-
 drivers/gpu/nova-core/regs/macros.rs              | 287 +------
 drivers/gpu/nova-core/sbuffer.rs                  | 227 ++++++
 drivers/gpu/nova-core/util.rs                     |  33 +-
 drivers/gpu/nova-core/vbios.rs                    | 423 +++++-----
 include/drm/drm_gpuvm.h                           |  16 +
 init/Kconfig                                      |   3 +
 rust/kernel/drm/gem/mod.rs                        |  53 +-
 rust/kernel/lib.rs                                |   4 +
 rust/kernel/prelude.rs                            |   3 +
 rust/kernel/slice.rs                              |  49 ++
 rust/kernel/transmute.rs                          |  63 ++
 48 files changed, 5783 insertions(+), 1133 deletions(-)
 create mode 100644 drivers/gpu/nova-core/bitfield.rs
 create mode 100644 drivers/gpu/nova-core/gsp/cmdq.rs
 create mode 100644 drivers/gpu/nova-core/gsp/commands.rs
 create mode 100644 drivers/gpu/nova-core/gsp/fw/commands.rs
 create mode 100644 drivers/gpu/nova-core/gsp/sequencer.rs
 create mode 100644 drivers/gpu/nova-core/num.rs
 create mode 100644 drivers/gpu/nova-core/sbuffer.rs
 create mode 100644 rust/kernel/slice.rs

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ