diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2010-10-06 02:16:59 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2010-12-03 00:05:18 -0500 |
commit | cff5c1332486ced8ff4180e957e04983cb72a39e (patch) | |
tree | ec1f6687156277632aef96693c1b8eca0c022b7c /drivers/gpu/drm/nouveau/nouveau_drv.c | |
parent | 6a6b73f254123851f7f73ab5e57344a569d6a0ab (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.c | 7 |
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 | ||