aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2016-04-01 15:40:59 +0900
committerBen Skeggs <bskeggs@redhat.com>2016-05-20 14:43:04 +1000
commitc6007dc4e55e1a483c4d1e32dc1055b41aeacfc1 (patch)
treef2114f0010978daed3c954fb88e5b605bc02170f /drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h
parentdrm/nouveau: rename nouveau_drm.h to nouveau_drv.h (diff)
downloadlinux-dev-c6007dc4e55e1a483c4d1e32dc1055b41aeacfc1.tar.xz
linux-dev-c6007dc4e55e1a483c4d1e32dc1055b41aeacfc1.zip
drm/nouveau/devinit/gf100: make devinit on resume safer
In case of successful suspend, devinit will have to be run and this is the behavior currently hardcoded. However, as FD bug 94725 suggests, there might be cases where runtime suspend leaves the GPU powered, and in such cases devinit should not be run on resume. On GF100+ we have a reliable way to know whether we need to run devinit. Use it instead of blindly trusting the flag set by nvkm_devinit_fini(). The code around the NvForcePost also needs to be slightly reworked in order to keep working. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Suggested-by: Dave Airlie <airlied@redhat.com> Suggested-by: Karol Herbst <nouveau@karolherbst.de> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h')
-rw-r--r--drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h
index 193626c69517..709d786f1808 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h
@@ -7,6 +7,7 @@ struct nvkm_devinit {
const struct nvkm_devinit_func *func;
struct nvkm_subdev subdev;
bool post;
+ bool force_post;
};
u32 nvkm_devinit_mmio(struct nvkm_devinit *, u32 addr);