From 16d4747cd152861fef8d5323c6c1d3ed96c3d102 Mon Sep 17 00:00:00 2001 From: Timur Tabi Date: Thu, 30 Apr 2026 17:38:34 -0500 Subject: [PATCH] drm/nouveau: GA100 has an FRTS region size of zero When booting with GSP-RM, the FRTS data region normally needs to be allocated. However, on GA100, this region is not used and so its size needs to be set to zero. The truth is that GA100 is just special, and the simplest way to determine the proper FRTS data region size is to check for this GPU specifically. Signed-off-by: Timur Tabi Link: https://patch.msgid.link/20260430223838.2530778-7-ttabi@nvidia.com Signed-off-by: Danilo Krummrich --- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/tu102.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/tu102.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/tu102.c index fc8db6bcaf23..11a37963bd4e 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/tu102.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/tu102.c @@ -367,8 +367,13 @@ tu102_gsp_oneinit(struct nvkm_gsp *gsp) if (ret) return ret; - /* Calculate FB layout. */ - gsp->fb.wpr2.frts.size = 0x100000; + /* + * Calculate FB layout. FRTS is a memory region created by running the FWSEC-FRTS + * command, which writes power management data into WPR2. On GA100, the booter + * firmware handles WPR2 setup directly and FRTS data is not needed, so no FRTS + * region is reserved. + */ + gsp->fb.wpr2.frts.size = device->chipset == 0x170 ? 0 : 0x100000; gsp->fb.wpr2.frts.addr = ALIGN_DOWN(gsp->fb.bios.addr, 0x20000) - gsp->fb.wpr2.frts.size; gsp->fb.wpr2.boot.size = gsp->boot.fw.size;