diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2011-07-20 05:22:33 +0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-07-25 03:43:22 +0400 |
commit | 6c320fef5835240bf414b54e697e517a160663f4 (patch) | |
tree | 791f610df2eef6e7534fb23099a29a41dd508329 /drivers/gpu/drm/nouveau/nouveau_drv.c | |
parent | 70ad25ab735a016c48183875f657d90d592b773d (diff) | |
download | linux-6c320fef5835240bf414b54e697e517a160663f4.tar.xz |
drm/nouveau: pass flag to engine fini() method on suspend
It may not be necessary to fail in certain cases (such as failing to idle)
on module unload, whereas on suspend it's important to ensure a consistent
state can be restored on resume.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_drv.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_drv.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.c b/drivers/gpu/drm/nouveau/nouveau_drv.c index 8256370e5938..b30ddd8d2e2a 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drv.c +++ b/drivers/gpu/drm/nouveau/nouveau_drv.c @@ -214,10 +214,13 @@ nouveau_pci_suspend(struct pci_dev *pdev, pm_message_t pm_state) pfifo->unload_context(dev); for (e = NVOBJ_ENGINE_NR - 1; e >= 0; e--) { - if (dev_priv->eng[e]) { - ret = dev_priv->eng[e]->fini(dev, e); - if (ret) - goto out_abort; + if (!dev_priv->eng[e]) + continue; + + ret = dev_priv->eng[e]->fini(dev, e, true); + if (ret) { + NV_ERROR(dev, "... engine %d failed: %d\n", i, ret); + goto out_abort; } } |