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>
This commit is contained in:
parent
96c5008290
commit
39a654d5b9
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue