From: "Alexandre Courbot" <acourbot@nvidia.com>
To: "Eliot Courtney" <ecourtney@nvidia.com>
Cc: "Danilo Krummrich" <dakr@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Benno Lossin" <lossin@kernel.org>, "Gary Guo" <gary@garyguo.net>,
"John Hubbard" <jhubbard@nvidia.com>,
"Alistair Popple" <apopple@nvidia.com>,
"Timur Tabi" <ttabi@nvidia.com>, <nova-gpu@lists.linux.dev>,
<dri-devel@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>,
<rust-for-linux@vger.kernel.org>
Subject: Re: [PATCH v3 1/5] gpu: nova-core: correct FRTS vidmem offset calculation
Date: Tue, 04 Aug 2026 13:02:46 +0900 [thread overview]
Message-ID: <DKFUZX7537VG.1T9PS1E3S8NKR@nvidia.com> (raw)
In-Reply-To: <20260724-blackwell-fixes-v3-1-01aa6a54e3fd@nvidia.com>
On Fri Jul 24, 2026 at 3:56 PM JST, Eliot Courtney wrote:
> Currently, the frts vidmem offset is calculated based on the non-wpr
> heap size and pmu reservation size, but this is not right. The layout
> actually looks like this:
>
> | non-wpr heap | WPR2 .. FRTS | PMU reserved | ... | VGA workspace |
>
> It's just by coincidence + generous alignment that the values happened
> to match. Instead, define a per-architecture reserved size at the end of
> the framebuffer and use this plus the PMU reserved size to calculate the
> frts vidmem offset.
>
> Fixes: d317e4585fa3 ("gpu: nova-core: Hopper/Blackwell: add FSP Chain of Trust boot")
> Signed-off-by: Eliot Courtney <ecourtney@nvidia.com>
> ---
> drivers/gpu/nova-core/fb/hal/gb100.rs | 1 +
> drivers/gpu/nova-core/fb/hal/gb202.rs | 1 +
> drivers/gpu/nova-core/fsp.rs | 27 +++++++++++++++++++--------
> drivers/gpu/nova-core/fsp/hal.rs | 4 ++++
> drivers/gpu/nova-core/fsp/hal/gb100.rs | 6 ++++++
> drivers/gpu/nova-core/fsp/hal/gb202.rs | 9 ++++++++-
> drivers/gpu/nova-core/fsp/hal/gh100.rs | 9 ++++++++-
> 7 files changed, 47 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/nova-core/fb/hal/gb100.rs b/drivers/gpu/nova-core/fb/hal/gb100.rs
> index 6e0eba101ca1..51bd0c0bede6 100644
> --- a/drivers/gpu/nova-core/fb/hal/gb100.rs
> +++ b/drivers/gpu/nova-core/fb/hal/gb100.rs
> @@ -78,6 +78,7 @@ fn write_sysmem_flush_page_gb100(bar: Bar0<'_>, addr: Bounded<u64, 52>) {
> );
> }
>
> +// This PMU reservation size is r570-specific.
> pub(super) const fn pmu_reserved_size_gb100() -> u32 {
> usize_into_u32::<{ const_align_up(SZ_8M + SZ_16M + SZ_4K, Alignment::new::<SZ_128K>()).unwrap() }>(
> )
> diff --git a/drivers/gpu/nova-core/fb/hal/gb202.rs b/drivers/gpu/nova-core/fb/hal/gb202.rs
> index b78e0970f66d..8ec30afcf701 100644
> --- a/drivers/gpu/nova-core/fb/hal/gb202.rs
> +++ b/drivers/gpu/nova-core/fb/hal/gb202.rs
> @@ -71,6 +71,7 @@ fn pmu_reserved_size(&self) -> u32 {
>
> fn non_wpr_heap_size(&self) -> u32 {
> // Non-WPR heap for GB20x (see Open RM: kgspGetNonWprHeapSize, GB202+).
> + // This size is r570-specific.
> u32::SZ_2M + u32::SZ_128K
> }
>
> diff --git a/drivers/gpu/nova-core/fsp.rs b/drivers/gpu/nova-core/fsp.rs
> index 1475485bded3..30e53df81aa2 100644
> --- a/drivers/gpu/nova-core/fsp.rs
> +++ b/drivers/gpu/nova-core/fsp.rs
> @@ -134,20 +134,31 @@ struct FspCotMessage {
> }
>
> impl FspCotMessage {
> + /// Computes the FRTS vidmem offset for the Chain-of-Trust message. It is measured from the end
Let's say "It is measured backwards from the end", so the direction is
clear - I assumed an upwards direction initially, which is intuitively
how you tend to measure things that start at an end offset. :)
next prev parent reply other threads:[~2026-08-04 4:02 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-24 6:56 [PATCH v3 0/5] gpu: nova-core: blackwell follow-ups and fixes Eliot Courtney
2026-07-24 6:56 ` [PATCH v3 1/5] gpu: nova-core: correct FRTS vidmem offset calculation Eliot Courtney
2026-07-24 7:16 ` sashiko-bot
2026-07-24 16:52 ` Timur Tabi
2026-07-28 7:29 ` Eliot Courtney
2026-08-04 4:02 ` Alexandre Courbot [this message]
2026-07-24 6:56 ` [PATCH v3 2/5] gpu: nova-core: rename heap size field Eliot Courtney
2026-07-24 7:04 ` sashiko-bot
2026-07-24 6:56 ` [PATCH v3 3/5] gpu: nova-core: return non-WPR heap size as u64 from HALs Eliot Courtney
2026-07-24 7:04 ` sashiko-bot
2026-07-24 6:56 ` [PATCH v3 4/5] gpu: nova-core: split FbLayout into FSP and non-FSP versions Eliot Courtney
2026-07-28 14:00 ` Danilo Krummrich
2026-07-30 4:12 ` Eliot Courtney
2026-08-04 4:03 ` Alexandre Courbot
2026-07-24 6:56 ` [PATCH v3 5/5] gpu: nova-core: pass WPR metadata ownership to FmcBootArgs Eliot Courtney
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=DKFUZX7537VG.1T9PS1E3S8NKR@nvidia.com \
--to=acourbot@nvidia.com \
--cc=airlied@gmail.com \
--cc=aliceryhl@google.com \
--cc=apopple@nvidia.com \
--cc=dakr@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=ecourtney@nvidia.com \
--cc=gary@garyguo.net \
--cc=jhubbard@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=nova-gpu@lists.linux.dev \
--cc=rust-for-linux@vger.kernel.org \
--cc=simona@ffwll.ch \
--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.