aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_channel.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-04-01 13:17:25 +1000
committerBen Skeggs <bskeggs@redhat.com>2011-05-16 10:48:37 +1000
commit39a654d5b90b69acb9423fd9569c9a468737bcb8 (patch)
tree78b0603f57fa5a2e379d007f0ed6454b002cfc56 /drivers/gpu/drm/nouveau/nouveau_channel.c
parent96c50082904c7cefa3b01356f62268ee6d9e9f38 (diff)
downloadkernel_samsung_smdk4412-39a654d5b90b69acb9423fd9569c9a468737bcb8.zip
kernel_samsung_smdk4412-39a654d5b90b69acb9423fd9569c9a468737bcb8.tar.gz
kernel_samsung_smdk4412-39a654d5b90b69acb9423fd9569c9a468737bcb8.tar.bz2
drm/nouveau: remove remnants of nouveau_pgraph_engine from nouveau_channel
The nouveau_wait_for_idle() call should hopefully not have been actually necessary, we *do* wait for the channel to go idle already. If it's an issue somehow, the chipset-specific hooks can wait for idle themselves before taking the lock. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_channel.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_channel.c11
1 files changed, 0 insertions, 11 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_channel.c b/drivers/gpu/drm/nouveau/nouveau_channel.c
index 8b0a668..f82a276 100644
--- a/drivers/gpu/drm/nouveau/nouveau_channel.c
+++ b/drivers/gpu/drm/nouveau/nouveau_channel.c
@@ -268,7 +268,6 @@ nouveau_channel_put_unlocked(struct nouveau_channel **pchan)
struct drm_device *dev = chan->dev;
struct drm_nouveau_private *dev_priv = dev->dev_private;
struct nouveau_fifo_engine *pfifo = &dev_priv->engine.fifo;
- struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph;
unsigned long flags;
int i;
@@ -294,18 +293,8 @@ nouveau_channel_put_unlocked(struct nouveau_channel **pchan)
/* boot it off the hardware */
pfifo->reassign(dev, false);
- /* We want to give pgraph a chance to idle and get rid of all
- * potential errors. We need to do this without the context
- * switch lock held, otherwise the irq handler is unable to
- * process them.
- */
- if (pgraph->channel(dev) == chan)
- nouveau_wait_for_idle(dev);
-
/* destroy the engine specific contexts */
pfifo->destroy_context(chan);
- if (pgraph->destroy_context)
- pgraph->destroy_context(chan);
for (i = 0; i < NVOBJ_ENGINE_NR; i++) {
if (chan->engctx[i])
dev_priv->eng[i]->context_del(chan, i);