]> Gentwo Git Trees - linux/.git/commit
gpu: nova-core: gsp: Add GSP command queue bindings and handling
authorAlistair Popple <apopple@nvidia.com>
Mon, 10 Nov 2025 13:34:17 +0000 (22:34 +0900)
committerAlexandre Courbot <acourbot@nvidia.com>
Fri, 14 Nov 2025 11:25:57 +0000 (20:25 +0900)
commit75f6b1de8133ea337b72901464989dc811d3305d
treef80a55a19b882998ba08ba977ee715691177c3f7
parent88622323dde3d9d6efd6f2efcfaa0bced5af94c3
gpu: nova-core: gsp: Add GSP command queue bindings and handling

This commit introduces core infrastructure for handling GSP command and
message queues in the nova-core driver. The command queue system enables
bidirectional communication between the host driver and GSP firmware
through a remote message passing interface.

The interface is based on passing serialised data structures over a ring
buffer with separate transmit and receive queues. Commands are sent by
writing to the CPU transmit queue and waiting for completion via the
receive queue.

To ensure safety mutable or immutable (depending on whether it is a send
or receive operation) references are taken on the command queue when
allocating the message to write/read to. This ensures message memory
remains valid and the command queue can't be mutated whilst an operation
is in progress.

Currently this is only used by the probe() routine and therefore can
only used by a single thread of execution. Locking to enable safe access
from multiple threads will be introduced in a future series when that
becomes necessary.

Signed-off-by: Alistair Popple <apopple@nvidia.com>
Co-developed-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Message-ID: <20251110-gsp_boot-v9-9-8ae4058e3c0e@nvidia.com>
drivers/gpu/nova-core/gsp.rs
drivers/gpu/nova-core/gsp/cmdq.rs [new file with mode: 0644]
drivers/gpu/nova-core/gsp/fw.rs
drivers/gpu/nova-core/gsp/fw/r570_144/bindings.rs
drivers/gpu/nova-core/regs.rs
drivers/gpu/nova-core/sbuffer.rs