[PATCH v2 0/4] drm/nouveau/gsp/r570: Fix runtime PM
From: Lyude Paul
Date: Mon Jun 29 2026 - 18:44:37 EST
Runtime PM has been kind of unreliable with GSP for a while. It works
well enough to shut the GPU off and turn it back on, but more often then
not it ends up leaving the GPU in a broken state on resume - which makes
it impossible to really do anything else with it.
Recently however, I discovered that it's been failing much harder on
some ampere systems. This lead me down a rabbit hole that lead me to
figure out one of our previous fixes for runtime PM wasn't correct.
After fixing that and combining it with some fixes we had tried in the
past without success, I finally managed to get nouveau to handle runtime
PM with the GSP perfectly. These are those fixes.
Tested on a Lenovo P16 G1 (100 runtime PM cycles!), and RTX4000.
Lyude Paul (4):
Revert "nouveau/gsp: fix suspend/resume regression on r570 firmware"
drm/nouveau/gsp/r570: Never enter Gcoff state
drm/nouveau/gsp/r570: Set oldLevel correctly in GSP resume arguments
drm/nouveau/gsp/r570: Add missing state flags to GSP resume arguments
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/fbsr.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r570/fbsr.c | 8 ++++----
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r570/gsp.c | 5 +++--
.../gpu/drm/nouveau/nvkm/subdev/gsp/rm/r570/nvrm/gsp.h | 10 +++++++++-
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/rm.h | 2 +-
6 files changed, 19 insertions(+), 10 deletions(-)
base-commit: 8fca3d8dbebf8d960dad7b10db3cb4a61139454b
--
2.54.0