Re: [PATCH v12 00/22] gpu: nova-core: firmware: Hopper/Blackwell support
From: Danilo Krummrich
Date: Tue Jun 02 2026 - 08:44:52 EST
On Tue Jun 2, 2026 at 5:20 AM CEST, John Hubbard wrote:
> * Made the FSP messaging path sound. The FSP falcon's EMEM window is a
> stateful register pair (program an offset, then touch the data
> register), so modeling it as a stateless I/O region let aliasing
> accesses corrupt each other's offset with no unsafe at the call site.
It's not really that the problem was unsoundness, there was no Sync requirement
in the first place as the type never left probe(). Once it'd have gotten a Sync
requirement, we'd have to use a lock to protect it.
> The EMEM accessors and the send/receive helpers now take &mut self, so
> the falcon handle is the exclusive token for an in-flight exchange,
Once this will be used from a concurrent context, it will need a lock as well in
order to perform a mutable borrow.
So, it is not that one approach fundamentally works in a concurrent context and
the other doesn't.
It's more that the I/O backend approach did turn out to not add value
considering the implementation details (auto-increment streaming pattern) of the
EMEM window and how it is actually used (no random field access).