drm/nouveau/debugfs: Wake up GPU before doing any reclocking
authorKarol Herbst <karolherbst@gmail.com>
Sat, 14 Jul 2018 10:52:09 +0000 (12:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Sep 2018 06:38:11 +0000 (08:38 +0200)
[ Upstream commit eaeb9010bb4bcdc20e58254fa42f3fe730a7f908 ]

Fixes various reclocking related issues on prime systems.

Signed-off-by: Karol Herbst <karolherbst@gmail.com>
Signed-off-by: Martin Peres <martin.peres@free.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/nouveau/nouveau_debugfs.c

index 963a4db..9109b69 100644 (file)
@@ -160,7 +160,11 @@ nouveau_debugfs_pstate_set(struct file *file, const char __user *ubuf,
                args.ustate = value;
        }
 
+       ret = pm_runtime_get_sync(drm->dev);
+       if (IS_ERR_VALUE(ret) && ret != -EACCES)
+               return ret;
        ret = nvif_mthd(ctrl, NVIF_CONTROL_PSTATE_USER, &args, sizeof(args));
+       pm_runtime_put_autosuspend(drm->dev);
        if (ret < 0)
                return ret;