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

Joel Fernandes posted 17 patches 1 month ago
drivers/gpu/nova-core/falcon.rs               | 137 +++---
drivers/gpu/nova-core/falcon/gsp.rs           |  16 +
drivers/gpu/nova-core/falcon/hal.rs           |   2 +-
drivers/gpu/nova-core/firmware.rs             |   1 +
drivers/gpu/nova-core/gpu.rs                  |  34 +-
drivers/gpu/nova-core/gsp.rs                  |   2 +
drivers/gpu/nova-core/gsp/cmdq.rs             |   4 -
drivers/gpu/nova-core/gsp/commands.rs         |  83 +++-
drivers/gpu/nova-core/gsp/sequencer.rs        | 431 ++++++++++++++++++
drivers/gpu/nova-core/nvfw.rs                 |  26 ++
.../gpu/nova-core/nvfw/r570_144_bindings.rs   | 247 ++++++++++
drivers/gpu/nova-core/regs.rs                 |   6 +
drivers/gpu/nova-core/sbuffer.rs              |   1 -
drivers/gpu/nova-core/util.rs                 |  15 +
14 files changed, 930 insertions(+), 75 deletions(-)
create mode 100644 drivers/gpu/nova-core/gsp/sequencer.rs
[PATCH 00/17] nova-core: Complete GSP boot and begin RPC communication
Posted by Joel Fernandes 1 month ago
This series builds on top of Alistair's series [1] to complete the GSP boot
process and get us to a point of making the GSP actual responding with useful
command responses (GspStaticInfo command successfully gets us useful
information about the GPU). The main addition is the sequencer required
to boot pre-Hopper Nvidia GPUs (tested on Ampere GA102).

A full tree including the prerequisites for this patch series is available at the tag:
https://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git/tag/?h=nova/upstream-submit-8.29.2025-v5

Alex's series Alistair based [1] off of is at [2].

[1] https://lore.kernel.org/all/20250827082015.959430-1-apopple@nvidia.com/
[2] https://lore.kernel.org/rust-for-linux/dc18894e-09d3-4088-9be0-22c2070b61f4@nvidia.com/T/

Alistair Popple (2):
  gpu: nova-core: gsp: Wait for gsp initialisation to complete
  gpu: nova-core: Add get_gsp_info() command

Joel Fernandes (11):
  nova-core: falcon: Move waiting until halted to a helper
  nova-core: falcon: Move start functionality into separate helper
  nova-core: falcon: Move mbox functionalities into helper
  nova-core: falcon: Move dma_reset functionality into helper
  nova-core: gsp: Add support for checking if GSP reloaded
  nova-core: Add bindings required by GSP sequencer
  nova-core: Implement the GSP sequencer
  nova-core: sequencer: Add register opcodes
  nova-core: sequencer: Add delay opcode support
  nova-core: sequencer: Implement basic core operations
  nova-core: sequencer: Implement core resume operation

John Hubbard (4):
  nova-core: clear MBOX0 before waiting for scrubber completion
  nova-core: Ada: basic GPU identification
  nova-core: remove an unnecessary register read: HWCFG1
  nova-core: remove unnecessary need_riscv, bar parameters

 drivers/gpu/nova-core/falcon.rs               | 137 +++---
 drivers/gpu/nova-core/falcon/gsp.rs           |  16 +
 drivers/gpu/nova-core/falcon/hal.rs           |   2 +-
 drivers/gpu/nova-core/firmware.rs             |   1 +
 drivers/gpu/nova-core/gpu.rs                  |  34 +-
 drivers/gpu/nova-core/gsp.rs                  |   2 +
 drivers/gpu/nova-core/gsp/cmdq.rs             |   4 -
 drivers/gpu/nova-core/gsp/commands.rs         |  83 +++-
 drivers/gpu/nova-core/gsp/sequencer.rs        | 431 ++++++++++++++++++
 drivers/gpu/nova-core/nvfw.rs                 |  26 ++
 .../gpu/nova-core/nvfw/r570_144_bindings.rs   | 247 ++++++++++
 drivers/gpu/nova-core/regs.rs                 |   6 +
 drivers/gpu/nova-core/sbuffer.rs              |   1 -
 drivers/gpu/nova-core/util.rs                 |  15 +
 14 files changed, 930 insertions(+), 75 deletions(-)
 create mode 100644 drivers/gpu/nova-core/gsp/sequencer.rs

-- 
2.34.1