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, and a Dell Precision 7780 with an AD103.
Patch series based on drm-misc/drm-misc-next. Branch with patches here:
https://gitlab.freedesktop.org/lyudess/linux/-/commits/nouveau/rpm-openrm-sync
Lyude Paul (5):
drm/nouveau/gsp/r535: 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 | 7 ++
drivers/gpu/drm/nouveau/nouveau_drm.c | 9 +++
drivers/gpu/drm/nouveau/nvif/device.c | 13 ++++
.../gpu/drm/nouveau/nvkm/engine/device/user.c | 36 +++++++++
.../gpu/drm/nouveau/nvkm/subdev/gsp/priv.h | 1 +
.../drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c | 43 +++++++++++
.../nvkm/subdev/gsp/rm/r535/nvrm/gsp.h | 52 +++++++++++++
.../nouveau/nvkm/subdev/gsp/rm/r570/fbsr.c | 76 ++++++++++++++++++-
.../drm/nouveau/nvkm/subdev/gsp/rm/r570/gsp.c | 8 ++
.../nvkm/subdev/gsp/rm/r570/nvrm/fbsr.h | 29 +++++++
.../nvkm/subdev/gsp/rm/r570/nvrm/gsp.h | 50 ++++++++++++
.../gpu/drm/nouveau/nvkm/subdev/gsp/rm/rm.h | 2 +
14 files changed, 335 insertions(+), 2 deletions(-)
base-commit: 9d4c98219598e77ca7044c453ae6994519ac0a96
--
2.55.0