Rust for Linux List
 help / color / mirror / Atom feed
From: "Danilo Krummrich" <dakr@kernel.org>
To: "Dave Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona.vetter@ffwll.ch>
Cc: "Danilo Krummrich" <dakr@kernel.org>,
	"Alice Ryhl" <aliceryhl@google.com>,
	"Alexandre Courbot" <acourbot@nvidia.com>,
	"Daniel Almeida" <daniel.almeida@collabora.com>,
	<dri-devel@lists.freedesktop.org>, <nova-gpu@lists.linux.dev>,
	<rust-for-linux@vger.kernel.org>
Subject: [GIT PULL] DRM Rust changes for v7.3-rc1
Date: Sat, 08 Aug 2026 19:33:31 +0200	[thread overview]
Message-ID: <DKJQQUOS0PVO.3JPR3MYK4PDVZ@kernel.org> (raw)

Hi Dave and Sima,

Please pull these DRM Rust changes.

The highlights are RegistrationData and RegistrationGuard to capture device
lifetime-annotated resources and references and make them available in ioctls on
the DRM side; TLV firmware images, vGPU boot support, and GSP boot process
consolidation for nova-core; and firmware loading with MCU boot for Tyr.

Note: The TLV firmware series requires a development firmware not in
linux-firmware [1].

There is one external dependency: a shared signed tag from the driver-core tree
for I/O type generalization and projection.

(I plan to send an early driver-core PR to Linus for this cycle.)

Thanks,
Danilo

[1] https://github.com/ttabi/linux-firmware-nova

The following changes since commit ea97ab2759506d9a818ffed1009bde01062b4091:

  Merge tag 'drm-misc-next-2026-07-24' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next (2026-07-25 06:13:51 +1000)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/rust/kernel.git tags/drm-rust-next-2026-08-08

for you to fetch changes up to 4c9ba407018e8deb06dbc643112bac8f40404f95:

  gpu: nova-core: falcon: use I/O projection to check transfer bounds (2026-08-06 22:55:58 +0200)

----------------------------------------------------------------
DRM Rust changes for v7.3-rc1

- I/O (shared from driver-core tree via signed tag rust-io-7.3-rc1):

  - Rework of I/O types: make I/O regions typed (with a
    dynamically-sized Region type for the existing untyped case), create
    view types representing subregions of a mapped I/O region, and add
    io_project!() for safely creating subviews.

  - Split Io into a base trait (IoBase) and an extension trait (Io) with
    a blanket implementation, preventing implementers from overriding
    provided methods that unsafe code relies on.

  - Add a SysMem backend for shared system memory with volatile access,
    and make Coherent implement Io via an I/O view type.  Add copying
    methods (memcpy_{from,to}io).

  - Replace dma_read!/dma_write! with io_read!/io_write!; drop the old
    macros.

- DRM:

  - RegistrationGuard and RegistrationData:
    - Rework DeviceContext typestates: rename Uninit to Normal, add an
      Ioctl context, restrict AlwaysRefCounted to Normal for both Device
      and GEM Object, and establish a Deref chain from Registered to
      Normal.

    - Introduce RegistrationGuard, a guard representing a
      drm_dev_enter/exit SRCU critical section that proves the DRM
      device is registered, which implies the parent bus device is still
      bound.

    - Add RegistrationData as a GAT on drm::Driver. The data does not
      outlive driver unbind, so it can capture lifetime-annotated device
      resources and references. Accessible through the guard via a
      closure with HRTB lifetime.

    - Wrap ioctl dispatch in RegistrationGuard (returning ENODEV if
      unplugged) and pass registration data to handlers.

    - Add Driver::ParentDevice associated type.

  - Fix unbounded lifetimes in ioctl handler arguments.

  - Fix a race in drm_dev_register() where a partial failure allowed
    in-flight ioctls to proceed while the error path tore down
    resources.

  - GEM shmem: add DmaResvGuard helper, vmap functions, and sg_table()
    accessor.

  - GPUVM: require Send + Sync for the driver's associated data,
    implement Send and Sync for GpuVaAlloc and GpuVmBo, add SmContext
    lifetime bound, update DriverGpuVm for DeviceContext.

- Nova:

  - nova-core / nova-drm cross-crate dependency:
    - Build nova-core and nova-drm from drivers/gpu/Makefile for build
      ordering, export nova-core Rust symbols for nova-drm. Workaround
      until the build system supports Rust cross-crate dependencies
      natively.

  - GSP boot process consolidation:
    - Introduce GspBootContext to bundle common boot parameters,
      replacing per-argument threading. Separate context and GPU
      lifetimes to support mutable borrows of GPU subdevices.

    - Turn FWSEC execution into a HAL method, make FWSEC bootloader
      usage a property of the TU102 HAL (GA102+ gets its own instance
      with it disabled). Move firmware file selection to the GSP HAL.

    - Store the Fsp instance in Gpu (lifetime tied to the GPU, not just
      a single boot invocation). Move GSP state and unload bundle into a
      pinned subobject for reliable teardown on partial init failure.

  - Boot GSP with vGPU enabled:
    - Add PRC (Product Reconfiguration Control) protocol to query device
      configuration from the FSP. Read vGPU mode, detect and store vGPU
      state.
    - Set RMSetSriovMode registry entry and reserve the larger WPR2 heap
      required when vGPU is enabled.
    - Build SetRegistry entries dynamically.

  - TLV firmware image format:
    - Add a TLV (type-length-value) parser for the new firmware image
      format. TLV files use unversioned filenames with a .tlv suffix,
      start with "NVFW" magic, and contain tagged blocks with 4-byte
      aligned payloads.
    - Transition all firmware loading (booter, gsp, gen_bootloader, fsp)
      to TLV images.
    - Note: this requires a development firmware not in linux-firmware
      [1]; this is temporary and serves the transition to r615.

  - Hopper/Blackwell fixes and cleanups:
    - Correct FRTS vidmem offset calculation, split FbLayout into FSP
      and non-FSP versions, fix Blackwell flush address composition, use
      absolute FBHUB0 flush registers on Blackwell, use correct sysmem
      flush registers on Hopper.
    - Harden FSP messaging: limit receive allocation size, catch bogus
      queue pointers, ensure DMA allocation lifetimes for FMC boot and
      LibOS, wait for RISC-V HALTED on unload.

  - I/O projection adoption:
    - Use io_project!() for PTE array, message queues, and Falcon DMA
      transfer bounds checking.

  - Misc:
    - Keep unloading if FWSEC-SB fails during Turing/Ampere GSP reset.
    - Don't declare booter firmware for FSP chipsets.
    - Fix packed registry table size.
    - Extract and display usable FB regions from GSP.
    - Store bar and dev directly in Falcon, simplifying the API.
    - Parse VBIOS structs via zerocopy.
    - Convert to kernel bitfield macro, remove local one.
    - Move register definitions into sub-modules.
    - Add FSP and PRC protocol documentation.

- Tyr:

  - Firmware loading and MCU boot:
    - Add a generic slot manager for dynamically allocating limited
      hardware slots to software seats, with lazy eviction under
      contention.
    - Add MMU support wrapping the slot manager for address-space slot
      allocation, with MAIR-to-MEMATTR translation.
    - Add GPU virtual memory (VM) support using drm_gpuvm with ARM64
      LPAE Stage 1 page tables and 4KB/2MB page sizes.
    - Add a kernel buffer object type for internal driver allocations.
    - Add a parser for the Mali CSF firmware binary format.
    - Add MCU booting: load, parse, and map firmware sections into VM,
      then boot the MCU at probe().

- Cross-subsystem:

  - Add faux::Device type with AsBusDevice support. Allow retrieving a
    bound Device from a Registration.

  - Add device lifetime to IoPageTable.

  - Add Vec::zeroed method.

  - Add firmware::request_into_buf() to load firmware into a
    caller-provided buffer.

  - Rename dma_handle to dma_address in the DMA abstraction.

  - Change pci_sriov_get_totalvfs() return type to unsigned int; add
    Rust helper.

[1] https://github.com/ttabi/linux-firmware-nova

----------------------------------------------------------------
Alexandre Courbot (26):
      gpu: nova-core: gsp: tu102: keep unloading if FWSEC-SB fails
      gpu: nova-core: move GSP unload state to a pinned Gpu subobject
      gpu: nova-core: move GPU static information acquisition to a GSP method
      gpu: build nova-core and nova-drm from drivers/gpu/Makefile
      gpu: nova-core: export Rust symbols for nova-drm
      gpu: nova-core: emit Rust metadata for nova-drm
      gpu: drm: nova: depend on nova-core and use its symbols
      gpu: nova-core: convert to kernel bitfield macro
      gpu: nova-core: remove local bitfield macro
      gpu: nova: fix rust-analyzer generation
      gpu: nova-core: gsp: sequencer: use GspBootContext
      gpu: nova-core: gsp: sequencer: do not store sequence into GspSequencer
      gpu: nova-core: gsp: replace BootUnloadGuard with local handlers
      gpu: nova-core: gsp: pass GspBootContext to unload methods
      gpu: nova-core: gsp: centralize missing unload bundle warnings
      gpu: nova-core: gsp: fold TU102 unload bundle construction into HAL method
      gpu: nova-core: gsp: turn FWSEC execution into HAL method
      gpu: nova-core: gsp: make use of FWSEC bootloader a property of the TU102 HAL
      gpu: nova-core: avoid repeated calls to pci::Device::as_ref
      gpu: nova-core: gsp: pass GspBootContext mutably
      gpu: nova-core: gsp: separate context and GPU lifetimes in GspBootContext
      gpu: nova-core: store Fsp instance in Gpu
      gpu: nova-core: fix packed registry table size
      gpu: nova-core: falcon: remove unnecessary check
      rust: dma: rename dma_handle to dma_address
      gpu: nova-core: falcon: use I/O projection to check transfer bounds

Antonin Malzieu Ridolfi (5):
      gpu: nova-core: gsp: Move gsp register definition into gsp module
      gpu: nova-core: fb: Move PDISP register definition
      gpu: nova-core: Add function to query WPR2 range
      gpu: nova-core: Move PFB registers definitions
      gpu: nova-core: Move one PBUS register definition

Boris Brezillon (4):
      rust: drm: gpuvm: add SmContext lifetime bound
      drm/tyr: add a generic slot manager
      drm/tyr: add Memory Management Unit (MMU) support
      drm/tyr: add GPU virtual memory (VM) support

Daniel Almeida (1):
      drm/tyr: add parser for firmware binary

Danilo Krummrich (23):
      Merge tag 'v7.2-rc1' into drm-rust-next
      rust: drm: ioctl: fix unbounded lifetimes in ioctl handler arguments
      rust: drm: rename Uninit DeviceContext to Normal
      rust: faux: add Device type with AsBusDevice support
      rust: drm: Add Driver::ParentDevice associated type
      rust: drm: change default DeviceContext to Normal
      rust: drm: restrict AlwaysRefCounted to Normal Device context
      rust: drm: restrict AlwaysRefCounted to Normal GEM Object context
      rust: drm/gem: remove DeviceContext from shmem::Object
      rust: drm: split Deref for Device context typestates
      rust: drm: pin ioctl Device reference to Normal context
      rust: drm: add Ioctl device context typestate
      rust: drm: Add RegistrationGuard for drm_dev_enter/exit critical sections
      rust: drm: Wrap ioctl dispatch in RegistrationGuard
      rust: drm: return ParentDevice from Device AsRef
      rust: drm: add AsRef<ParentDevice<Bound>> for Device<Registered>
      drm: fix race between partial drm_dev_register() failure and ioctl
      rust: drm: Add RegistrationData to drm::Driver
      rust: drm: Pass registration data to ioctl handlers
      drm: nova: Use drm::Device<Registered> to access the parent bus device
      Merge patch series "rust: drm: Higher-Ranked Lifetime private data"
      Merge tag 'rust-io-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core into drm-rust-next
      Merge remote-tracking branch 'drm/drm-next' into drm-rust-next

Deborah Brouwer (5):
      rust: drm: gpuvm: update DriverGpuVm for DeviceContext
      rust: iommu: add device lifetime to IoPageTable
      drm/tyr: add resources to RegistrationData
      drm/tyr: add a kernel buffer object
      drm/tyr: add Microcontroller Unit (MCU) booting

Eliot Courtney (14):
      gpu: nova-core: falcon: gsp: move PRIV target mask constants
      gpu: nova-core: fsp: move FMC firmware loading into wait_secure_boot
      gpu: nova-core: move GSP firmware files decision to GSP HAL
      gpu: nova-core: fsp: limit FSP receive message allocation size
      gpu: nova-core: fsp: catch bogus queue pointer issues
      gpu: nova-core: gsp: ensure lifetime for FMC boot DMA allocations
      gpu: nova-core: gsp: ensure LibOS DMA allocation lives long enough
      gpu: nova-core: correct RISC-V HALTED field
      gpu: nova-core: wait for RISC-V HALTED on FSP unload
      gpu: nova-core: correct FRTS vidmem offset calculation
      gpu: nova-core: rename heap size field
      gpu: nova-core: return non-WPR heap size as u64 from HALs
      gpu: nova-core: split FbLayout into FSP and non-FSP versions
      gpu: nova-core: pass WPR metadata ownership to FmcBootArgs

Gary Guo (24):
      gpu: nova-core: remove imports available from prelude
      gpu: nova-core: use `c"literal"` instead of `c_str!()`
      drm/tyr: remove imports available from prelude
      gpu: nova-core: remove `#[allow(non_snake_case)]`
      rust: io: add dynamically-sized `Region` type
      rust: io: add missing safety requirement in `IoCapable` methods
      rust: io: restrict untyped IO access and `register!` to `Region`
      rust: io: implement `Io` on reference types instead
      rust: io: generalize `MmioRaw` to pointer to arbitrary type
      rust: io: rename `Mmio` to `MmioOwned`
      rust: io: implement `Mmio` as view type
      rust: pci: io: make `ConfigSpace` a view
      rust: io: use view types instead of addresses for `Io`
      pwm: th1520: remove unnecessary `deref`
      rust: io: remove `MmioOwned`
      rust: io: move `Io` methods to extension trait
      rust: io: add projection macro and methods
      rust: io: implement a view type for `Coherent`
      rust: io: add `read_val` and `write_val` functions on `Io`
      gpu: nova-core: use I/O projection for cleaner encapsulation
      rust: dma: drop `dma_read!` and `dma_write!` API
      rust: io: add copying methods
      rust: io: implement `IoSysMap`
      rust: drm: fix non-const `read8` in unit test

Joel Fernandes (1):
      gpu: nova-core: gsp: Extract and display usable FB regions from GSP

John Hubbard (6):
      gpu: nova-core: don't declare booter firmware for FSP chipsets
      gpu: nova-core: clean up FSP FRTS comments
      gpu: nova-core: Blackwell: use absolute FBHUB0 flush registers
      gpu: nova-core: Hopper: use correct sysmem flush registers
      gpu: nova-core: fb: fix Blackwell flush address composition
      gpu: nova-core: fb: remove duplicated SysmemFlush doc link

Laura Nao (1):
      rust: io: add I/O backend for system memory with volatile access

Lyude Paul (5):
      rust: drm: gem: shmem: Fix Default implementation for ObjectConfig
      rust: drm: gem: shmem: Add DmaResvGuard helper
      rust: drm: gem: shmem: Add vmap functions
      rust: drm: gem: Introduce shmem::Object::sg_table()
      rust: faux: Allow retrieving a bound Device

Nicolás Antinori (1):
      gpu: nova-core: vbios: parse structs via zerocopy

Sami Tolvanen (2):
      rust: drm: gpuvm: require Send + Sync for the driver's associated data
      rust: drm: gpuvm: implement Send and Sync for GpuVaAlloc and GpuVmBo

Tim Kovalenko (1):
      gpu: nova-core: falcon: store bar and dev in falcon

Timur Tabi (8):
      rust: alloc: add Vec::zeroed method
      rust: firmware: add request_into_buf()
      gpu: nova-core: add TLV parser for firmware files
      gpu: nova-core: transition booter to TLV images
      gpu: nova-core: transition gsp to TLV images
      gpu: nova-core: transition gen_bootloader to TLV images
      gpu: nova-core: transition fsp to TLV images
      gpu: nova-core: update firmware module info for TLV images

Yilin Chen (1):
      rust: drm: fix GEM object pointer safety docs

Younes Akhouayri (1):
      rust: drm: Fix typo in FEAT_RENDER documentation

Zhi Wang (12):
      gpu: nova-core: factor out common FSP message header
      gpu: nova-core: return FSP response buffer to caller
      gpu: nova-core: add FSP and PRC protocol documentation
      gpu: nova-core: consolidate GSP boot parameters into GspBootContext
      gpu: nova-core: fsp: rename FSP response header type
      gpu: nova-core: build SetRegistry entries dynamically
      PCI/IOV: Return unsigned int from pci_sriov_get_totalvfs()
      rust: pci: add sriov_get_totalvfs() helper
      gpu: nova-core: read vGPU mode from FSP via PRC protocol
      gpu: nova-core: detect and store vGPU state
      gpu: nova-core: set RMSetSriovMode for vGPU
      gpu: nova-core: reserve vGPU WPR2 heap

 Documentation/gpu/nova/core/fsp.rst                |  142 ++++++++++
 Documentation/gpu/nova/core/tlv.rst                |  184 +++++++++++++
 Documentation/gpu/nova/index.rst                   |    2 +
 drivers/gpu/Makefile                               |   58 +++-
 drivers/gpu/drm/Makefile                           |    2 +-
 drivers/gpu/drm/drm_drv.c                          |   34 ++-
 drivers/gpu/drm/nova/Makefile                      |    5 +-
 drivers/gpu/drm/nova/driver.rs                     |   38 +--
 drivers/gpu/drm/nova/file.rs                       |   22 +-
 drivers/gpu/drm/nova/gem.rs                        |   18 +-
 drivers/gpu/drm/tyr/Kconfig                        |    5 +
 drivers/gpu/drm/tyr/driver.rs                      |   81 ++++--
 drivers/gpu/drm/tyr/file.rs                        |   15 +-
 drivers/gpu/drm/tyr/fw.rs                          |  321 +++++++++++++++++++++
 drivers/gpu/drm/tyr/fw/parser.rs                   |  588 +++++++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/tyr/gem.rs                         |  141 +++++++++-
 drivers/gpu/drm/tyr/mmu.rs                         |  120 ++++++++
 drivers/gpu/drm/tyr/mmu/address_space.rs           |  511 ++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/tyr/regs.rs                        |  149 +++++++++-
 drivers/gpu/drm/tyr/slot.rs                        |  404 +++++++++++++++++++++++++++
 drivers/gpu/drm/tyr/tyr.rs                         |    4 +
 drivers/gpu/drm/tyr/vm.rs                          |  950 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/gpu/nova-core/.gitignore                   |    1 +
 drivers/gpu/nova-core/Makefile                     |    5 +-
 drivers/gpu/nova-core/bitfield.rs                  |  329 ----------------------
 drivers/gpu/nova-core/falcon.rs                    |  272 ++++++++----------
 drivers/gpu/nova-core/falcon/fsp.rs                |   65 +++--
 drivers/gpu/nova-core/falcon/gsp.rs                |   32 ++-
 drivers/gpu/nova-core/falcon/hal.rs                |   19 +-
 drivers/gpu/nova-core/falcon/hal/ga102.rs          |   36 ++-
 drivers/gpu/nova-core/falcon/hal/tu102.rs          |   28 +-
 drivers/gpu/nova-core/fb.rs                        |  104 +++++--
 drivers/gpu/nova-core/fb/hal.rs                    |    2 +-
 drivers/gpu/nova-core/fb/hal/ga100.rs              |   10 +-
 drivers/gpu/nova-core/fb/hal/ga102.rs              |    2 +-
 drivers/gpu/nova-core/fb/hal/gb100.rs              |   11 +-
 drivers/gpu/nova-core/fb/hal/gb202.rs              |   39 +--
 drivers/gpu/nova-core/fb/hal/gh100.rs              |   37 ++-
 drivers/gpu/nova-core/fb/hal/tu102.rs              |   14 +-
 drivers/gpu/nova-core/fb/regs.rs                   |  155 +++++++++++
 drivers/gpu/nova-core/firmware.rs                  |  329 ++--------------------
 drivers/gpu/nova-core/firmware/booter.rs           |  350 +++++------------------
 drivers/gpu/nova-core/firmware/fsp.rs              |   88 +++---
 drivers/gpu/nova-core/firmware/fwsec.rs            |   24 +-
 drivers/gpu/nova-core/firmware/fwsec/bootloader.rs |   95 ++-----
 drivers/gpu/nova-core/firmware/gsp.rs              |   65 ++---
 drivers/gpu/nova-core/firmware/riscv.rs            |   75 ++---
 drivers/gpu/nova-core/firmware/tlv.rs              |  262 ++++++++++++++++++
 drivers/gpu/nova-core/fsp.rs                       |  362 +++++++++++++++++++-----
 drivers/gpu/nova-core/fsp/hal.rs                   |    4 +
 drivers/gpu/nova-core/fsp/hal/gb100.rs             |    6 +
 drivers/gpu/nova-core/fsp/hal/gb202.rs             |    9 +-
 drivers/gpu/nova-core/fsp/hal/gh100.rs             |    9 +-
 drivers/gpu/nova-core/gpu.rs                       |  189 +++++++++----
 drivers/gpu/nova-core/gsp.rs                       |  101 ++++---
 drivers/gpu/nova-core/gsp/boot.rs                  |  150 +++-------
 drivers/gpu/nova-core/gsp/cmdq.rs                  |   75 ++---
 drivers/gpu/nova-core/gsp/commands.rs              |   90 +++---
 drivers/gpu/nova-core/gsp/fw.rs                    |  201 +++++++-------
 drivers/gpu/nova-core/gsp/fw/commands.rs           |   42 ++-
 drivers/gpu/nova-core/gsp/fw/r570_144/bindings.rs  |    1 +
 drivers/gpu/nova-core/gsp/hal.rs                   |   72 +++--
 drivers/gpu/nova-core/gsp/hal/ga102.rs             |   14 +
 drivers/gpu/nova-core/gsp/hal/gh100.rs             |  122 ++++----
 drivers/gpu/nova-core/gsp/hal/tu102.rs             |  390 +++++++++++++-------------
 drivers/gpu/nova-core/gsp/regs.rs                  |   22 ++
 drivers/gpu/nova-core/gsp/sequencer.rs             |  112 ++++----
 drivers/gpu/nova-core/mctp.rs                      |   88 +++---
 drivers/gpu/nova-core/nova_core.rs                 |    6 +-
 drivers/gpu/nova-core/nova_core_exports.c          |   15 +
 drivers/gpu/nova-core/regs.rs                      |  148 +---------
 drivers/gpu/nova-core/vbios.rs                     |   64 ++---
 drivers/gpu/nova-core/vgpu.rs                      |   91 ++++++
 drivers/gpu/nova-core/vgpu/hal.rs                  |   25 ++
 drivers/gpu/nova-core/vgpu/hal/gb202.rs            |   15 +
 drivers/gpu/nova-core/vgpu/hal/tu102.rs            |   15 +
 drivers/pci/iov.c                                  |    2 +-
 drivers/pwm/pwm_th1520.rs                          |    7 +-
 include/linux/pci.h                                |    4 +-
 rust/helpers/io.c                                  |   13 +
 rust/helpers/pci.c                                 |    8 +
 rust/kernel/alloc/kvec.rs                          |   27 ++
 rust/kernel/devres.rs                              |   24 +-
 rust/kernel/dma.rs                                 |  333 ++++++++++++----------
 rust/kernel/drm/device.rs                          |  291 +++++++++++++------
 rust/kernel/drm/driver.rs                          |  113 +++++---
 rust/kernel/drm/gem/mod.rs                         |  103 ++++---
 rust/kernel/drm/gem/shmem.rs                       |  594 +++++++++++++++++++++++++++++++++++----
 rust/kernel/drm/gpuvm/mod.rs                       |   36 ++-
 rust/kernel/drm/gpuvm/sm_ops.rs                    |    4 +-
 rust/kernel/drm/gpuvm/va.rs                        |    8 +
 rust/kernel/drm/gpuvm/vm_bo.rs                     |    9 +
 rust/kernel/drm/ioctl.rs                           |   56 +++-
 rust/kernel/drm/mod.rs                             |    4 +-
 rust/kernel/faux.rs                                |   81 +++++-
 rust/kernel/firmware.rs                            |   46 +++-
 rust/kernel/io.rs                                  | 1502 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------
 rust/kernel/io/mem.rs                              |   29 +-
 rust/kernel/io/poll.rs                             |    6 +-
 rust/kernel/io/register.rs                         |   44 +--
 rust/kernel/iommu/pgtable.rs                       |   32 +--
 rust/kernel/lib.rs                                 |    3 +
 rust/kernel/pci.rs                                 |   14 +-
 rust/kernel/pci/io.rs                              |  168 ++++++-----
 rust/kernel/ptr.rs                                 |   12 +
 samples/rust/rust_dma.rs                           |   12 +-
 samples/rust/rust_driver_faux.rs                   |    3 +-
 107 files changed, 8794 insertions(+), 3475 deletions(-)
 create mode 100644 Documentation/gpu/nova/core/fsp.rst
 create mode 100644 Documentation/gpu/nova/core/tlv.rst
 create mode 100644 drivers/gpu/drm/tyr/fw.rs
 create mode 100644 drivers/gpu/drm/tyr/fw/parser.rs
 create mode 100644 drivers/gpu/drm/tyr/mmu.rs
 create mode 100644 drivers/gpu/drm/tyr/mmu/address_space.rs
 create mode 100644 drivers/gpu/drm/tyr/slot.rs
 create mode 100644 drivers/gpu/drm/tyr/vm.rs
 create mode 100644 drivers/gpu/nova-core/.gitignore
 delete mode 100644 drivers/gpu/nova-core/bitfield.rs
 create mode 100644 drivers/gpu/nova-core/fb/regs.rs
 create mode 100644 drivers/gpu/nova-core/firmware/tlv.rs
 create mode 100644 drivers/gpu/nova-core/gsp/hal/ga102.rs
 create mode 100644 drivers/gpu/nova-core/gsp/regs.rs
 create mode 100644 drivers/gpu/nova-core/nova_core_exports.c
 create mode 100644 drivers/gpu/nova-core/vgpu.rs
 create mode 100644 drivers/gpu/nova-core/vgpu/hal.rs
 create mode 100644 drivers/gpu/nova-core/vgpu/hal/gb202.rs
 create mode 100644 drivers/gpu/nova-core/vgpu/hal/tu102.rs

                 reply	other threads:[~2026-08-08 17:33 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DKJQQUOS0PVO.3JPR3MYK4PDVZ@kernel.org \
    --to=dakr@kernel.org \
    --cc=acourbot@nvidia.com \
    --cc=airlied@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=daniel.almeida@collabora.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=nova-gpu@lists.linux.dev \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=simona.vetter@ffwll.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox