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

Joel Fernandes posted 13 patches 3 weeks, 4 days ago
There is a newer version of this series
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             |  24 +
drivers/gpu/nova-core/gsp/cmdq.rs             |   1 -
drivers/gpu/nova-core/gsp/commands.rs         | 115 ++++-
drivers/gpu/nova-core/gsp/fw.rs               | 326 +++++++++++++-
.../gpu/nova-core/gsp/fw/r570_144/bindings.rs | 248 ++++++++++
drivers/gpu/nova-core/gsp/sequencer.rs        | 425 ++++++++++++++++++
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, 1245 insertions(+), 37 deletions(-)
create mode 100644 drivers/gpu/nova-core/gsp/sequencer.rs
create mode 100644 drivers/gpu/nova-core/util.rs
[PATCH v4 00/13] nova-core: Complete GSP boot and begin RPC communication
Posted by Joel Fernandes 3 weeks, 4 days ago
Changes from v3 to v4:
- Several changes to adapt to Alexandre Courbot's GSP boot v9 series which
  had changes to the RPC command queue.
- Several changes based on feedback from Alexandre Courbot, Lyude Paul.

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-v4

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:
v3: https://lore.kernel.org/all/20251106231153.2925637-1-joelagnelf@nvidia.com/
v2: https://lore.kernel.org/all/20251102235920.3784592-1-joelagnelf@nvidia.com/
v1: https://lore.kernel.org/all/20250829173254.2068763-1-joelagnelf@nvidia.com/

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 (11):
  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

 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             |  24 +
 drivers/gpu/nova-core/gsp/cmdq.rs             |   1 -
 drivers/gpu/nova-core/gsp/commands.rs         | 115 ++++-
 drivers/gpu/nova-core/gsp/fw.rs               | 326 +++++++++++++-
 .../gpu/nova-core/gsp/fw/r570_144/bindings.rs | 248 ++++++++++
 drivers/gpu/nova-core/gsp/sequencer.rs        | 425 ++++++++++++++++++
 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, 1245 insertions(+), 37 deletions(-)
 create mode 100644 drivers/gpu/nova-core/gsp/sequencer.rs
 create mode 100644 drivers/gpu/nova-core/util.rs

-- 
2.34.1