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/[email protected]/ v2: https://lore.kernel.org/all/[email protected]/ 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
