This series builds on top of Alex's series[1] to continue initialising the GSP into a state where it becomes active and it starts communicating with the host.
It includes patches to initialise several important data structures required to boot the GSP. The biggest change is the implementation of the command/message circular queue used to establish communication between GSP and host. This is required to configure and boot the GSP. However this series does not get the GSP to a fully active state. Instead it gets it to a state where the GSP sends a message to the host with a sequence of instructions which need running to get to the active state. A subsequent series will implement processing of this message and allow the GSP to get to the fully active state. A full tree including the prerequisites for this patch series is available at https://github.com/apopple-nvidia/linux/tree/nova-core-for-upstream. [1] - https://lore.kernel.org/rust-for-linux/[email protected]/T/ To: [email protected] To: Danilo Krummrich <[email protected]> To: Alexandre Courbot <[email protected]> Cc: Miguel Ojeda <[email protected]> Cc: Alex Gaynor <[email protected]> Cc: Boqun Feng <[email protected]> Cc: Gary Guo <[email protected]> Cc: Björn Roy Baron <[email protected]> Cc: Benno Lossin <[email protected]> Cc: Andreas Hindborg <[email protected]> Cc: Alice Ryhl <[email protected]> Cc: Trevor Gross <[email protected]> Cc: David Airlie <[email protected]> Cc: Simona Vetter <[email protected]> Cc: Maarten Lankhorst <[email protected]> Cc: Maxime Ripard <[email protected]> Cc: Thomas Zimmermann <[email protected]> Cc: John Hubbard <[email protected]> Cc: Joel Fernandes <[email protected]> Cc: Timur Tabi <[email protected]> Cc: [email protected] Cc: [email protected] Alistair Popple (7): gpu: nova-core: Set correct DMA mask gpu: nova-core: Create initial GspSharedMemObjects gpu: nova-core: gsp: Create wpr metadata gpu: nova-core: gsp: Add GSP command queue handling gpu: nova-core: gsp: Create rmargs gpu: nova-core: gsp: Create RM registry and sysinfo commands gpu: nova-core: gsp: Boot GSP Joel Fernandes (3): gpu: nova-core: Add a slice-buffer (sbuffer) datastructure gpu: nova-core: falcon: Add support to check if RISC-V is active gpu: nova-core: falcon: Add support to write firmware version drivers/gpu/nova-core/driver.rs | 8 +- drivers/gpu/nova-core/falcon.rs | 16 + drivers/gpu/nova-core/fb.rs | 1 - drivers/gpu/nova-core/firmware.rs | 6 +- drivers/gpu/nova-core/firmware/gsp.rs | 1 - drivers/gpu/nova-core/firmware/riscv.rs | 9 +- drivers/gpu/nova-core/gpu.rs | 60 +- drivers/gpu/nova-core/gsp.rs | 237 +++++- drivers/gpu/nova-core/gsp/cmdq.rs | 701 ++++++++++++++++++ drivers/gpu/nova-core/gsp/commands.rs | 201 +++++ drivers/gpu/nova-core/nova_core.rs | 1 + drivers/gpu/nova-core/nvfw.rs | 59 ++ .../gpu/nova-core/nvfw/r570_144_bindings.rs | 501 +++++++++++++ drivers/gpu/nova-core/regs.rs | 15 + drivers/gpu/nova-core/sbuffer.rs | 188 +++++ 15 files changed, 1991 insertions(+), 13 deletions(-) create mode 100644 drivers/gpu/nova-core/gsp/cmdq.rs create mode 100644 drivers/gpu/nova-core/gsp/commands.rs create mode 100644 drivers/gpu/nova-core/sbuffer.rs -- 2.47.2
