drm/nouveau: modify gpuobj/ntfy takedown ordering
gpuobj really needs splitting into channel/gpuobj code instead... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
639212d011
commit
b7cb6c01ee
3 changed files with 4 additions and 3 deletions
|
@ -27,6 +27,7 @@
|
|||
#include "nouveau_drv.h"
|
||||
#include "nouveau_drm.h"
|
||||
#include "nouveau_dma.h"
|
||||
#include "nouveau_ramht.h"
|
||||
|
||||
static int
|
||||
nouveau_channel_pushbuf_ctxdma_init(struct nouveau_channel *chan)
|
||||
|
@ -316,8 +317,9 @@ nouveau_channel_put_unlocked(struct nouveau_channel **pchan)
|
|||
nouveau_bo_unpin(chan->pushbuf_bo);
|
||||
nouveau_bo_ref(NULL, &chan->pushbuf_bo);
|
||||
}
|
||||
nouveau_gpuobj_channel_takedown(chan);
|
||||
nouveau_ramht_ref(NULL, &chan->ramht, chan);
|
||||
nouveau_notifier_takedown_channel(chan);
|
||||
nouveau_gpuobj_channel_takedown(chan);
|
||||
|
||||
nouveau_channel_ref(NULL, pchan);
|
||||
}
|
||||
|
|
|
@ -844,8 +844,6 @@ nouveau_gpuobj_channel_takedown(struct nouveau_channel *chan)
|
|||
|
||||
NV_DEBUG(dev, "ch%d\n", chan->id);
|
||||
|
||||
nouveau_ramht_ref(NULL, &chan->ramht, chan);
|
||||
|
||||
nouveau_vm_ref(NULL, &chan->vm, chan->vm_pd);
|
||||
nouveau_gpuobj_ref(NULL, &chan->vm_pd);
|
||||
|
||||
|
|
|
@ -38,6 +38,7 @@ nv50_evo_channel_del(struct nouveau_channel **pevo)
|
|||
return;
|
||||
*pevo = NULL;
|
||||
|
||||
nouveau_ramht_ref(NULL, &evo->ramht, evo);
|
||||
nouveau_gpuobj_channel_takedown(evo);
|
||||
nouveau_bo_unmap(evo->pushbuf_bo);
|
||||
nouveau_bo_ref(NULL, &evo->pushbuf_bo);
|
||||
|
|
Loading…
Reference in a new issue