[PATCH v4 0/5] drm/nouveau/gsp/r570: Follow OpenRM's runtime PM process more closely

Lyude Paul posted 5 patches 1 week, 1 day ago
There is a newer version of this series
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        | 52 +++++++++++++
.../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, 308 insertions(+), 2 deletions(-)
[PATCH v4 0/5] drm/nouveau/gsp/r570: Follow OpenRM's runtime PM process more closely
Posted by Lyude Paul 1 week, 1 day ago
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/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 |  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        | 52 +++++++++++++
 .../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, 308 insertions(+), 2 deletions(-)


base-commit: 5589ef09f93b85b6f506e279a502d4cf1654f232
-- 
2.55.0
Re: [PATCH v4 0/5] drm/nouveau/gsp/r570: Follow OpenRM's runtime PM process more closely
Posted by David Airlie 1 week, 1 day ago
On Thu, Sep 17, 2026 at 8:34 AM Lyude Paul <lyude@redhat.com> wrote:
>
> 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.

I've replied with a couple of minor fixes but with those applied.

Reviewed-by: Dave Airlie <airlied@redhat.com>

The rules for devices are 0080 ctrls on device.object and 2080 ctrls
on device.subdevice.

Dave.

>
> 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/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 |  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        | 52 +++++++++++++
>  .../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, 308 insertions(+), 2 deletions(-)
>
>
> base-commit: 5589ef09f93b85b6f506e279a502d4cf1654f232
> --
> 2.55.0
>