aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_drv.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2010-10-06 02:16:59 -0400
committerBen Skeggs <bskeggs@redhat.com>2010-12-03 00:05:18 -0500
commitcff5c1332486ced8ff4180e957e04983cb72a39e (patch)
treeec1f6687156277632aef96693c1b8eca0c022b7c /drivers/gpu/drm/nouveau/nouveau_drv.c
parent6a6b73f254123851f7f73ab5e57344a569d6a0ab (diff)
drm/nouveau: add more fine-grained locking to channel list + structures
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.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.c b/drivers/gpu/drm/nouveau/nouveau_drv.c
index 90875494a65a..f139aa2cbe5c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drv.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.c
@@ -195,9 +195,8 @@ nouveau_pci_suspend(struct pci_dev *pdev, pm_message_t pm_state)
195 for (i = 0; i < pfifo->channels; i++) { 195 for (i = 0; i < pfifo->channels; i++) {
196 struct nouveau_fence *fence = NULL; 196 struct nouveau_fence *fence = NULL;
197 197
198 chan = dev_priv->fifos[i]; 198 chan = dev_priv->channels.ptr[i];
199 if (!chan || (dev_priv->card_type >= NV_50 && 199 if (!chan || !chan->pushbuf_bo)
200 chan == dev_priv->fifos[0]))
201 continue; 200 continue;
202 201
203 ret = nouveau_fence_new(chan, &fence, true); 202 ret = nouveau_fence_new(chan, &fence, true);
@@ -313,7 +312,7 @@ nouveau_pci_resume(struct pci_dev *pdev)
313 int j; 312 int j;
314 313
315 for (i = 0; i < dev_priv->engine.fifo.channels; i++) { 314 for (i = 0; i < dev_priv->engine.fifo.channels; i++) {
316 chan = dev_priv->fifos[i]; 315 chan = dev_priv->channels.ptr[i];
317 if (!chan || !chan->pushbuf_bo) 316 if (!chan || !chan->pushbuf_bo)
318 continue; 317 continue;
319 318