[PATCH v5 0/5] drm/nouveau/gsp/r570: Follow OpenRM's runtime PM process more closely
From: Lyude Paul
Date: Thu Sep 17 2026 - 18:37:10 EST
While we have runtime PM working a lot more reliably then in the past
with R570, we're still doing things a lot differently then OpenRM. For
instance, we don't save/restore comptag backing stores, and we don't ask
GSP whether it's OK to enter GcOff.
This series fixes this, and gets our runtime PM process to look a lot
closer to OpenRM's by implementing some missing pieces and workarounds.
Tested on my daily-driver desktop with an AD102, a ThinkPad P17 Gen1
with a GA103GLM, a Dell Precision 7780 with an AD103, and my test
machine with a GB206.
Patch series based on drm-misc/drm-misc-next. Branch with patches here:
https://gitlab.freedesktop.org/lyudess/linux/-/commits/nouveau/rpm-openrm-sync
Previous version:
https://patchwork.freedesktop.org/series/173901/
Lyude Paul (5):
drm/nouveau/gsp/r570: Add support for INTERNAL_GCX_ENTRY_PREREQUISITE
drm/nouveau/gsp/r535: Add support for MEMSYS_GET_STATIC_CONFIG
drm/nouveau/gsp/r570: Add comp mode workaround from issue #3172217
drm/nouveau/gsp/r570: Start saving comptag backing stores
drm/nouveau/gsp/r570: Enable Gcoff in fbsr again
drivers/gpu/drm/nouveau/include/nvif/cl0080.h | 10 +++
drivers/gpu/drm/nouveau/include/nvif/device.h | 1 +
.../gpu/drm/nouveau/include/nvkm/subdev/gsp.h | 6 ++
drivers/gpu/drm/nouveau/nouveau_drm.c | 13 ++++
drivers/gpu/drm/nouveau/nvif/device.c | 13 ++++
.../gpu/drm/nouveau/nvkm/engine/device/user.c | 35 +++++++++
.../gpu/drm/nouveau/nvkm/subdev/gsp/base.c | 10 +++
.../gpu/drm/nouveau/nvkm/subdev/gsp/priv.h | 1 +
.../drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c | 17 ++++
.../nvkm/subdev/gsp/rm/r535/nvrm/gsp.h | 45 +++++++++++
.../nouveau/nvkm/subdev/gsp/rm/r570/fbsr.c | 77 ++++++++++++++++++-
.../drm/nouveau/nvkm/subdev/gsp/rm/r570/gsp.c | 36 +++++++++
.../nvkm/subdev/gsp/rm/r570/nvrm/fbsr.h | 29 +++++++
.../nvkm/subdev/gsp/rm/r570/nvrm/gsp.h | 7 ++
.../gpu/drm/nouveau/nvkm/subdev/gsp/rm/rm.h | 3 +
15 files changed, 301 insertions(+), 2 deletions(-)
base-commit: 5535d5e61a77ad79118ea7665ce1c14f857f0f12
--
2.55.0