Re: [PATCH v3 27/33] gpu: nova-core: switch to the r000 GSP firmware
From: Timur Tabi
Date: Thu Oct 01 2026 - 16:40:10 EST
On Mon, 2026-09-21 at 19:44 -0700, John Hubbard wrote:
> On 9/18/26 3:48 PM, Timur Tabi wrote:
> > On Thu, 2026-09-17 at 18:07 -0700, John Hubbard wrote:
> > >
> > > --- a/drivers/gpu/nova-core/fb/hal/gb100.rs
> > > +++ b/drivers/gpu/nova-core/fb/hal/gb100.rs
> > > @@ -79,10 +79,28 @@ fn write_sysmem_flush_page_gb100(hshub0: Mmio<'_, regs::Hshub0Registers>, addr:
> > > hshub0.write_reg(regs::NV_PFB_HSHUB_EG_PCIE_FLUSH_SYSMEM_ADDR_LO::zeroed().with_adr(addr_lo));
> > > }
> > >
> > > -// This PMU reservation size is r570-specific.
> > > +/// PMU backing store.
> > > +const PMU_BACKING_STORE_SIZE: usize = 9 * SZ_1M;
> >
> > I don't see this comment or value removed/changed in this patchset, so is it really 570-
> > specific?
>
> Yes, it was r570-specific, and this patch is where it changes: the
> hunk removes the comment and replaces the value.
>
> In 570.144 the PMU region is:
>
> * 8 MiB of backing store
> * 16 MiB of surfaces
> * 4 KiB of miscellaneous memory
> * all aligned to 128 KiB.
>
> In 615.71.09 the backing store is 9 MiB and the surfaces are 16 MiB + 256 KiB.
On 615, the backing store is 0x950000, not 9 MiB:
NvU32
kpmuReservedMemoryBackingStoreSizeGet_IMPL
(
KernelPmu *pKernelPmu
)
{
if (kpmuGetIsSelfInit(pKernelPmu))
{
//
// MMINTS-TODO: cross-reference with this when reserving memory
// in pmu_20.c
//
return 0x950000;
}
if (kpmuGetIsSelfInit(pKernelPmu))
{
//
// MMINTS-TODO: cross-reference with this when reserving memory
// in pmu_20.c
//
return 0x900000;
}
return 0U;
}
kpmuGetIsSelfInit() returns True on GB100 and later, and False otherwise. The second if-
statement is never entered, because this is just some #ifdef weirdness when OpenRM was
generated.