From: John Hubbard <jhubbard@nvidia.com>
To: "Alexandre Courbot" <acourbot@nvidia.com>,
"Danilo Krummrich" <dakr@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Miguel Ojeda" <ojeda@kernel.org>, "Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <lossin@kernel.org>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Trevor Gross" <tmgross@umich.edu>,
"Boqun Feng" <boqun@kernel.org>
Cc: Alistair Popple <apopple@nvidia.com>,
Joel Fernandes <joelagnelf@nvidia.com>,
Timur Tabi <ttabi@nvidia.com>,
Eliot Courtney <ecourtney@nvidia.com>,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
rust-for-linux@vger.kernel.org
Subject: Re: [PATCH v3 0/6] gpu: nova-core: run unload sequence upon unbinding
Date: Wed, 13 May 2026 13:59:41 -0700 [thread overview]
Message-ID: <72641f20-a15d-4ac8-ac1d-26c88f52ee25@nvidia.com> (raw)
In-Reply-To: <20260422-nova-unload-v3-0-1d2c81bd3ced@nvidia.com>
On 4/22/26 6:40 AM, Alexandre Courbot wrote:
> Currently the GSP is left running and the WPR2 memory region untouched
> when the driver is unbound. This is obviously not ideal for at least two
> reasons:
Hi,
Is this ready to merge, or are you looking for more reviews?
thanks,
--
John Hubbard
>
> - Probing requires setting up the WPR2 region, which cannot be done if
> there is already one in place. Hence the current requirement to reset
> the GPU (using e.g. `echo 1 >/sys/bus/pci/devices/.../reset`) before
> the driver can be probed again after removal.
> - The running GSP may still attempt to access shared memory regions
> which the kernel might recycle.
>
> On top of that, there is a nasty bug in the Blackwell VBIOS that
> sometimes borks the GPU upon PCI reset, requiring a reboot. So relying
> on the PCI reset to unload/reload Nova is really not practical here.
>
> This series does what is needed to leave the GPU in a clean state after
> unbind, for all currently supported GPUs. Blackwell support is trivial
> and will be added alongside the Blackwell series [1] if this can be
> merged first.
>
> The first patch adds a `warn_on_err` utility macro to the kernel crate
> as it is useful to warn on failures in the driver unbind path, but I can
> remove it if it is not deemed useful.
>
> This series applies cleanly on `master` as of today.
>
> [1] https://lore.kernel.org/all/20260411024953.473149-1-jhubbard@nvidia.com/
>
> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
> ---
> Changes in v3:
> - Disambiguate doccomment for `warn_on_err`.
> - Test the correct bit instead of the whole register value to determine
> that the GSP has stopped.
> - Use an enum instead of a boolean to encode the power level when
> shutting down the GSP.
> - Add missing newline to `dev_err`.
> - Add missing doccomments for new types.
> - Use values from bindings instead of magic numbers.
> - Remove the redundant `get_gsp_info` function.
> - Better document Booter Unloader mailbox sentinel value, and check the
> value of mbox0 upon return.
> - Link to v2: https://patch.msgid.link/20260421-nova-unload-v2-0-2fe54963af8b@nvidia.com
>
> Changes in v2:
> - Rebase on top of `master` and remove unneeded/obsolete preparatory patches.
> - Tidy up the imports of commands from the `fw` module in the `gsp` module.
> - Link to v1: https://patch.msgid.link/20251216-nova-unload-v1-0-6a5d823be19d@nvidia.com
>
> ---
> Alexandre Courbot (6):
> rust: add warn_on_err macro
> gpu: nova-core: use warn_on_err macro
> gpu: nova-core: remove unneeded get_gsp_info proxy function
> gpu: nova-core: do not import firmware commands into GSP command module
> gpu: nova-core: send UNLOADING_GUEST_DRIVER GSP command upon unloading
> gpu: nova-core: run Booter Unloader and FWSEC-SB upon unbinding
>
> drivers/gpu/nova-core/firmware/booter.rs | 1 -
> drivers/gpu/nova-core/firmware/fwsec.rs | 1 -
> drivers/gpu/nova-core/gpu.rs | 21 +++--
> drivers/gpu/nova-core/gsp/boot.rs | 100 +++++++++++++++++++++-
> drivers/gpu/nova-core/gsp/commands.rs | 69 +++++++++++----
> drivers/gpu/nova-core/gsp/fw.rs | 4 +
> drivers/gpu/nova-core/gsp/fw/commands.rs | 44 ++++++++++
> drivers/gpu/nova-core/gsp/fw/r570_144/bindings.rs | 11 +++
> drivers/gpu/nova-core/regs.rs | 5 ++
> rust/kernel/bug.rs | 10 +++
> 10 files changed, 241 insertions(+), 25 deletions(-)
> ---
> base-commit: b4e07588e743c989499ca24d49e752c074924a9a
> change-id: 20251216-nova-unload-4029b3b76950
>
> Best regards,
> --
> Alexandre Courbot <acourbot@nvidia.com>
>
next prev parent reply other threads:[~2026-05-13 20:59 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-22 13:40 [PATCH v3 0/6] gpu: nova-core: run unload sequence upon unbinding Alexandre Courbot
2026-04-22 13:40 ` [PATCH v3 1/6] rust: add warn_on_err macro Alexandre Courbot
2026-04-26 13:30 ` Miguel Ojeda
2026-04-30 15:11 ` Alexandre Courbot
2026-04-30 15:22 ` Danilo Krummrich
2026-05-01 6:13 ` Alexandre Courbot
2026-04-22 13:40 ` [PATCH v3 2/6] gpu: nova-core: use " Alexandre Courbot
2026-04-22 13:40 ` [PATCH v3 3/6] gpu: nova-core: remove unneeded get_gsp_info proxy function Alexandre Courbot
2026-04-23 2:32 ` Eliot Courtney
2026-04-22 13:40 ` [PATCH v3 4/6] gpu: nova-core: do not import firmware commands into GSP command module Alexandre Courbot
2026-04-22 13:40 ` [PATCH v3 5/6] gpu: nova-core: send UNLOADING_GUEST_DRIVER GSP command upon unloading Alexandre Courbot
2026-04-23 3:00 ` Eliot Courtney
2026-04-22 13:40 ` [PATCH v3 6/6] gpu: nova-core: run Booter Unloader and FWSEC-SB upon unbinding Alexandre Courbot
2026-05-13 20:59 ` John Hubbard [this message]
2026-05-15 2:20 ` [PATCH v3 0/6] gpu: nova-core: run unload sequence " Alexandre Courbot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=72641f20-a15d-4ac8-ac1d-26c88f52ee25@nvidia.com \
--to=jhubbard@nvidia.com \
--cc=a.hindborg@kernel.org \
--cc=acourbot@nvidia.com \
--cc=airlied@gmail.com \
--cc=aliceryhl@google.com \
--cc=apopple@nvidia.com \
--cc=bhelgaas@google.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun@kernel.org \
--cc=dakr@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=ecourtney@nvidia.com \
--cc=gary@garyguo.net \
--cc=joelagnelf@nvidia.com \
--cc=kwilczynski@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=simona@ffwll.ch \
--cc=tmgross@umich.edu \
--cc=ttabi@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.