Re: [PATCH v4 25/33] gpu: nova-core: Hopper/Blackwell: larger non-WPR heap

John Hubbard
2026-02-20T23:58:24Z

On 2/17/26 12:04 PM, Danilo Krummrich wrote:
> On Tue Feb 10, 2026 at 3:45 AM CET, John Hubbard wrote:
>> Hopper, Blackwell and later require more space for the non-WPR heap.
>>
>> Add a new FbHal method to return the non-WPR heap size, and create a new
>> GH100 HAL for Hopper and GB100 HAL for Blackwell that return the
>> appropriate value for each GPU architecture.
>>
>> Cc: Timur Tabi <ttabi@nvidia.com>
>> Signed-off-by: John Hubbard <jhubbard@nvidia.com>
>> ---
>> drivers/gpu/nova-core/fb.rs | 14 +++++++---
>> drivers/gpu/nova-core/fb/hal.rs | 7 +++--
>> drivers/gpu/nova-core/fb/hal/ga102.rs | 2 +-
>> drivers/gpu/nova-core/fb/hal/gb100.rs | 37 +++++++++++++++++++++++++++
>> drivers/gpu/nova-core/fb/hal/gh100.rs | 37 +++++++++++++++++++++++++++
>> 5 files changed, 91 insertions(+), 6 deletions(-)
>> create mode 100644 drivers/gpu/nova-core/fb/hal/gb100.rs
>> create mode 100644 drivers/gpu/nova-core/fb/hal/gh100.rs
>>
>> diff --git a/drivers/gpu/nova-core/fb.rs b/drivers/gpu/nova-core/fb.rs
>> index 3a2b79a5c107..7c502f15622c 100644
>> --- a/drivers/gpu/nova-core/fb.rs
>> +++ b/drivers/gpu/nova-core/fb.rs
>> @@ -98,6 +98,15 @@ pub(crate) fn unregister(&self, bar: &Bar0) {
>> }
>> }
>>
>> +/// Calculate non-WPR heap size based on chipset architecture.
>> +/// This matches the logic used in FSP for consistency.
>> +pub(crate) fn calc_non_wpr_heap_size(chipset: Chipset) -> u64 {
>> + hal::fb_hal(chipset)
>> + .non_wpr_heap_size()
>> + .map(u64::from)
>> + .unwrap_or(SZ_1M as u64)
>
> This should use u64::from_safe_cast().
>
> Also, I already brought this up in the context of GPU buddy, I wonder if we
> should just add SZ_* constants for 64-bit devices. Shouldn't be too hard to
> generate the corresponding code.
>
> I think it is a repeating pattern, and having to use u64::from_safe_cast() all
> the time seems cumbersome.

I've added two patches (for rust/, and for nova-core) to the end of this
series for v5, to just fix all of that.

thanks,
--
John Hubbard