Changes from v4 to v5: - Fixed 2 import nits. - Squashed a fixup to adjust GspStaticConfig (13th patch) to use wrapper instead of directly using firmware bindings. - Rebased on drm-rust-next.
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 entire tree can be found at the git repository: git: git://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git tag: seq-v5-4 Tested on my Ampere GA102 and I see in dmesg: NovaCore 0000:00:07.0: GPU name: NVIDIA GeForce RTX 3090 Ti 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. 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: Link to v4: https://lore.kernel.org/all/[email protected]/ v3: https://lore.kernel.org/all/[email protected]/ v2: https://lore.kernel.org/all/[email protected]/ v1: 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 (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 | 113 ++++- drivers/gpu/nova-core/gsp/fw.rs | 323 +++++++++++++- .../gpu/nova-core/gsp/fw/r570_144/bindings.rs | 248 +++++++++++ drivers/gpu/nova-core/gsp/sequencer.rs | 403 ++++++++++++++++++ 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, 1218 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
