NVIDIA GPU driver infrastructure
 help / color / mirror / Atom feed
From: "Alexandre Courbot" <acourbot@nvidia.com>
To: "Zhi Wang" <zhiw@nvidia.com>
Cc: <dakr@kernel.org>, <airlied@gmail.com>, <simona@ffwll.ch>,
	<ojeda@kernel.org>, <alex.gaynor@gmail.com>,
	<boqun.feng@gmail.com>, <gary@garyguo.net>,
	<bjorn3_gh@protonmail.com>, <lossin@kernel.org>,
	<a.hindborg@kernel.org>, <aliceryhl@google.com>,
	<tmgross@umich.edu>, <jhubbard@nvidia.com>,
	<ecourtney@nvidia.com>, <joelagnelf@nvidia.com>,
	<apopple@nvidia.com>, <cjia@nvidia.com>, <smitra@nvidia.com>,
	<kjaju@nvidia.com>, <alkumar@nvidia.com>, <ankita@nvidia.com>,
	<aniketa@nvidia.com>, <kwankhede@nvidia.com>,
	<targupta@nvidia.com>, <nova-gpu@lists.linux.dev>,
	<linux-kernel@vger.kernel.org>, <zhiwang@kernel.org>
Subject: Re: [PATCH v3 6/8] gpu: nova-core: build SetRegistry entries dynamically
Date: Wed, 08 Jul 2026 22:37:29 +0900	[thread overview]
Message-ID: <DJT8B95Q1S2H.1LYZ0L0D07XOI@nvidia.com> (raw)
In-Reply-To: <20260701062622.3499033-7-zhiw@nvidia.com>

On Wed Jul 1, 2026 at 3:26 PM JST, Zhi Wang wrote:
> The GSP SetRegistry command currently stores its registry entries in a
> fixed-size array. That makes every additional runtime-dependent registry
> object require reshaping the command data structure at the same time as the
> feature that needs the new entry.
>
> Keep the existing registry contents unchanged, but store them in a KVec so
> SetRegistry can be constructed dynamically. The constructor now returns a
> Result to propagate allocation failures while the command payload layout is
> still computed from the final entry list.
>
> Cc: Alexandre Courbot <acourbot@nvidia.com>
> Signed-off-by: Zhi Wang <zhiw@nvidia.com>

Pushed to drm-rust-next, thanks! With one minor change documented below.

> ---
>  drivers/gpu/nova-core/gsp/boot.rs     |  2 +-
>  drivers/gpu/nova-core/gsp/commands.rs | 74 ++++++++++++++++-----------
>  2 files changed, 44 insertions(+), 32 deletions(-)
>
> diff --git a/drivers/gpu/nova-core/gsp/boot.rs b/drivers/gpu/nova-core/gsp/boot.rs
> index 5abab54639a4..139cedacffd2 100644
> --- a/drivers/gpu/nova-core/gsp/boot.rs
> +++ b/drivers/gpu/nova-core/gsp/boot.rs
> @@ -102,7 +102,7 @@ pub(crate) fn boot(
>          self.cmdq
>              .send_command_no_wait(bar, commands::SetSystemInfo::new(pdev, chipset))?;
>          self.cmdq
> -            .send_command_no_wait(bar, commands::SetRegistry::new())?;
> +            .send_command_no_wait(bar, commands::SetRegistry::new()?)?;
>  
>          hal.post_boot(&self, ctx, &gsp_fw)?;
>  
> diff --git a/drivers/gpu/nova-core/gsp/commands.rs b/drivers/gpu/nova-core/gsp/commands.rs
> index 86a3747cd31c..dfb9f04e284d 100644
> --- a/drivers/gpu/nova-core/gsp/commands.rs
> +++ b/drivers/gpu/nova-core/gsp/commands.rs
> @@ -67,37 +67,46 @@ struct RegistryEntry {
>  
>  /// The `SetRegistry` command.
>  pub(crate) struct SetRegistry {
> -    entries: [RegistryEntry; Self::NUM_ENTRIES],
> +    entries: KVec<RegistryEntry>,
>  }
>  
>  impl SetRegistry {
>      // For now we hard-code the registry entries. Future work will allow others to
>      // be added as module parameters.

That comment is now orphan, so I removed it.

  reply	other threads:[~2026-07-08 13:37 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-01  6:26 [PATCH v3 0/8] gpu: nova-core: boot GSP with vGPU enabled Zhi Wang
2026-07-01  6:26 ` [PATCH v3 1/8] PCI/IOV: Return unsigned int from pci_sriov_get_totalvfs() Zhi Wang
2026-07-08 13:54   ` Alexandre Courbot
2026-07-01  6:26 ` [PATCH v3 2/8] rust: pci: add sriov_get_totalvfs() helper Zhi Wang
2026-07-08 14:03   ` Alexandre Courbot
2026-07-08 14:13     ` Alexandre Courbot
2026-07-09 14:24       ` Zhi Wang
2026-07-08 14:41     ` Alexandre Courbot
2026-07-09 14:25       ` Zhi Wang
2026-07-01  6:26 ` [PATCH v3 3/8] gpu: nova-core: fsp: rename FSP response header type Zhi Wang
2026-07-08 13:37   ` Alexandre Courbot
2026-07-01  6:26 ` [PATCH v3 4/8] gpu: nova-core: read vGPU mode from FSP via PRC protocol Zhi Wang
2026-07-01  6:26 ` [PATCH v3 5/8] gpu: nova-core: add vGPU preludes Zhi Wang
2026-07-09  5:25   ` Alexandre Courbot
2026-07-09 14:39     ` Zhi Wang
2026-07-01  6:26 ` [PATCH v3 6/8] gpu: nova-core: build SetRegistry entries dynamically Zhi Wang
2026-07-08 13:37   ` Alexandre Courbot [this message]
2026-07-01  6:26 ` [PATCH v3 7/8] gpu: nova-core: set RMSetSriovMode for vGPU Zhi Wang
2026-07-01  6:26 ` [PATCH v3 8/8] gpu: nova-core: reserve vGPU WPR2 heap Zhi Wang

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=DJT8B95Q1S2H.1LYZ0L0D07XOI@nvidia.com \
    --to=acourbot@nvidia.com \
    --cc=a.hindborg@kernel.org \
    --cc=airlied@gmail.com \
    --cc=alex.gaynor@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=alkumar@nvidia.com \
    --cc=aniketa@nvidia.com \
    --cc=ankita@nvidia.com \
    --cc=apopple@nvidia.com \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=cjia@nvidia.com \
    --cc=dakr@kernel.org \
    --cc=ecourtney@nvidia.com \
    --cc=gary@garyguo.net \
    --cc=jhubbard@nvidia.com \
    --cc=joelagnelf@nvidia.com \
    --cc=kjaju@nvidia.com \
    --cc=kwankhede@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lossin@kernel.org \
    --cc=nova-gpu@lists.linux.dev \
    --cc=ojeda@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=smitra@nvidia.com \
    --cc=targupta@nvidia.com \
    --cc=tmgross@umich.edu \
    --cc=zhiw@nvidia.com \
    --cc=zhiwang@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox