diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2011-07-20 11:22:33 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-07-25 09:43:22 +1000 |
commit | 6c320fef5835240bf414b54e697e517a160663f4 (patch) | |
tree | 791f610df2eef6e7534fb23099a29a41dd508329 /drivers/gpu/drm/nouveau/nouveau_drv.c | |
parent | 70ad25ab735a016c48183875f657d90d592b773d (diff) | |
download | op-kernel-dev-6c320fef5835240bf414b54e697e517a160663f4.zip op-kernel-dev-6c320fef5835240bf414b54e697e517a160663f4.tar.gz |
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 8256370e..b30ddd8 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; } } |