[PATCH v3 00/14] nova-core: Complete GSP boot and begin RPC communication

From: Joel Fernandes

Date: Thu Nov 06 2025 - 18:12:01 EST


Hello!
These patches a refresh of the series adding support for final stages of the
GSP boot process where a sequencer which inteprets firmware instructions needs
to run to boot the GSP processor, followed by waiting for an INIT_DONE message
from the GSP and finally retrieving GPU information from the GSP.

The patches are based on Alex's github branch which have several prerequisites:
Repo: https://github.com/Gnurou/linux.git Branch: b4/gsp_boot

The entire tree (these patches + patches from Alex, Alistair, John) can be
found at the git repository:
git: git://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git
tag: nova-sequencer-init-done-v3

I also dropped several patches (mainly from John that have already been
applied). Tested on my Ampere GA102 and I see in dmesg:
NovaCore 0000:00:07.0: GPU name: NVIDIA GeForce RTX 3090 Ti

Changes from v2 to v3:
- Added several tags.
- Fixed commit messages, style errors.
- Added GspStaticInfo patch.
- Fixed bug found by Timur in the sequencer code (related to ignoring messages).
- Removed excessive dev_dbg prints in sequencer code (John Hubbard).

Previous series:
v1: https://lore.kernel.org/all/20250829173254.2068763-1-joelagnelf@xxxxxxxxxx/
v2: https://lore.kernel.org/all/20251102235920.3784592-1-joelagnelf@xxxxxxxxxx/

Alistair Popple (2):
gpu: nova-core: gsp: Wait for gsp initialization to complete
gpu: nova-core: gsp: Retrieve GSP static info to gather GPU
information

Joel Fernandes (12):
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
gpu: nova-core: sequencer: Refactor run() to handle unknown messages

drivers/gpu/nova-core/falcon.rs | 101 +++--
drivers/gpu/nova-core/falcon/gsp.rs | 17 +
drivers/gpu/nova-core/gsp.rs | 1 +
drivers/gpu/nova-core/gsp/boot.rs | 35 +-
drivers/gpu/nova-core/gsp/cmdq.rs | 1 -
drivers/gpu/nova-core/gsp/commands.rs | 102 ++++-
drivers/gpu/nova-core/gsp/fw.rs | 47 ++
.../gpu/nova-core/gsp/fw/r570_144/bindings.rs | 248 +++++++++++
drivers/gpu/nova-core/gsp/sequencer.rs | 404 ++++++++++++++++++
drivers/gpu/nova-core/nova_core.rs | 1 +
drivers/gpu/nova-core/regs.rs | 6 +
drivers/gpu/nova-core/sbuffer.rs | 1 -
drivers/gpu/nova-core/util.rs | 16 +
13 files changed, 943 insertions(+), 37 deletions(-)
create mode 100644 drivers/gpu/nova-core/gsp/sequencer.rs
create mode 100644 drivers/gpu/nova-core/util.rs


base-commit: 8adec6f12a71641402fdc77e7d514ceee019312b
--
2.34.1