NVIDIA GPU driver infrastructure
 help / color / mirror / Atom feed
* [PATCH 0/6] gpu: nova-core: consolidate and streamline GSP boot process
@ 2026-06-19 13:42 Alexandre Courbot
  2026-06-19 13:42 ` [PATCH 1/6] gpu: nova-core: gsp: sequencer: use GspBootContext Alexandre Courbot
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Alexandre Courbot @ 2026-06-19 13:42 UTC (permalink / raw)
  To: Danilo Krummrich, Alice Ryhl, David Airlie, Simona Vetter,
	Gary Guo
  Cc: John Hubbard, Alistair Popple, Timur Tabi, Eliot Courtney,
	Zhi Wang, nova-gpu, dri-devel, linux-kernel, rust-for-linux,
	Alexandre Courbot

The recently introduced `GspBootContext` is useful in at least two
other places:

- As a replacement for the sequencer's `GspSequencerParams`,
- As the main parameter of `Gsp::unload`, for symmetry with `Gsp::boot`.

This symmetry can be further exploited to make `Gsp::boot` and
`Gsp::unload` generic over the exact boot context required for the
current chip. Doing so requires some more preliminary work that goes
beyond this series, but this groundwork is needed regardless.

Another cleanup that can be performed as a consequence is the removal of
the `BootUnloadGuard`. This type is cumbersome as it holds extra
references to the boot context, making it difficult to make some of
these references mutable (as we want to do with the `Falcon`s that
should require exclusive access to load and run firmware). Furthermore,
it is only needed a single time in `Gsp::boot`.

By running the boot process in a local closure, we can catch errors and
call `Gsp::unload` on the unload bundle just as efficiently, and with
less code.

Although the final goal is to enable mutable methods on `Falcon`s and
make the GSP boot context generic, these cleanups stand on their own and
remove quite a bit of code, so I am sending them separately.

This series applies on `drm-rust-next`, and requires [1].

[1] https://lore.kernel.org/all/20260617-boot-vram-v3-0-20b9ec5fe9f2@nvidia.com/

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
---
Alexandre Courbot (6):
      gpu: nova-core: gsp: sequencer: use GspBootContext
      gpu: nova-core: gsp: sequencer: do not store sequence into GspSequencer
      gpu: nova-core: gsp: move boot code into local closure
      gpu: nova-core: gsp: replace BootUnloadGuard with local handler
      gpu: nova-core: gsp: move unload bundle error handling to Gsp::boot
      gpu: nova-core: gsp: make unload take GspBootContext

 drivers/gpu/nova-core/gpu.rs           |  19 ++++-
 drivers/gpu/nova-core/gsp/boot.rs      | 140 ++++++++++++---------------------
 drivers/gpu/nova-core/gsp/hal.rs       |  35 ++++-----
 drivers/gpu/nova-core/gsp/hal/gh100.rs |  59 ++++++--------
 drivers/gpu/nova-core/gsp/hal/tu102.rs | 133 ++++++++++++++-----------------
 drivers/gpu/nova-core/gsp/sequencer.rs |  71 +++++++----------
 6 files changed, 191 insertions(+), 266 deletions(-)
---
base-commit: e655873885063245fd7f49f81cebfdfdef66a59d
change-id: 20260619-nova-bootcontext-401d6107e8fb
prerequisite-message-id: 20260617-boot-vram-v3-0-20b9ec5fe9f2@nvidia.com
prerequisite-patch-id: 3b9948cc78c017fd9edcd51e1a65d0aa741a1b8a
prerequisite-patch-id: e5c8ef9f9fde8bf165f8339da1cc55c7f25ee845
prerequisite-patch-id: e6657ea9ed37ee9a195aae6d87d5f28d4ef2378e

Best regards,
--  
Alexandre Courbot <acourbot@nvidia.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-06-19 13:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-19 13:42 [PATCH 0/6] gpu: nova-core: consolidate and streamline GSP boot process Alexandre Courbot
2026-06-19 13:42 ` [PATCH 1/6] gpu: nova-core: gsp: sequencer: use GspBootContext Alexandre Courbot
2026-06-19 13:42 ` [PATCH 2/6] gpu: nova-core: gsp: sequencer: do not store sequence into GspSequencer Alexandre Courbot
2026-06-19 13:42 ` [PATCH 3/6] gpu: nova-core: gsp: move boot code into local closure Alexandre Courbot
2026-06-19 13:42 ` [PATCH 4/6] gpu: nova-core: gsp: replace BootUnloadGuard with local handler Alexandre Courbot
2026-06-19 13:42 ` [PATCH 5/6] gpu: nova-core: gsp: move unload bundle error handling to Gsp::boot Alexandre Courbot
2026-06-19 13:42 ` [PATCH 6/6] gpu: nova-core: gsp: make unload take GspBootContext Alexandre Courbot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox