Lines Matching full:push
39 MODULE_PARM_DESC(vram_pushbuf, "Create DMA push buffers in VRAM");
108 nvif_object_dtor(&chan->push.ctxdma); in nouveau_channel_del()
109 nouveau_vma_del(&chan->push.vma); in nouveau_channel_del()
110 nouveau_bo_unmap(chan->push.buffer); in nouveau_channel_del()
111 if (chan->push.buffer && chan->push.buffer->bo.pin_count) in nouveau_channel_del()
112 nouveau_bo_unpin(chan->push.buffer); in nouveau_channel_del()
113 nouveau_bo_ref(NULL, &chan->push.buffer); in nouveau_channel_del()
120 nouveau_channel_kick(struct nvif_push *push) in nouveau_channel_kick() argument
122 struct nouveau_channel *chan = container_of(push, typeof(*chan), chan._push); in nouveau_channel_kick()
129 nouveau_channel_wait(struct nvif_push *push, u32 size) in nouveau_channel_wait() argument
131 struct nouveau_channel *chan = container_of(push, typeof(*chan), chan._push); in nouveau_channel_wait()
163 /* allocate memory for dma push buffer */ in nouveau_channel_prep()
169 &chan->push.buffer); in nouveau_channel_prep()
171 ret = nouveau_bo_pin(chan->push.buffer, target, false); in nouveau_channel_prep()
173 ret = nouveau_bo_map(chan->push.buffer); in nouveau_channel_prep()
184 chan->chan._push.mem.object.map.ptr = chan->push.buffer->kmap.virtual; in nouveau_channel_prep()
187 chan->chan.push = &chan->chan._push; in nouveau_channel_prep()
191 * we be able to call out to other (indirect) push buffers in nouveau_channel_prep()
193 chan->push.addr = chan->push.buffer->offset; in nouveau_channel_prep()
196 ret = nouveau_vma_new(chan->push.buffer, chan->vmm, in nouveau_channel_prep()
197 &chan->push.vma); in nouveau_channel_prep()
203 chan->push.addr = chan->push.vma->addr; in nouveau_channel_prep()
213 if (chan->push.buffer->bo.resource->mem_type == TTM_PL_VRAM) { in nouveau_channel_prep()
247 &chan->push.ctxdma); in nouveau_channel_prep()
300 /* allocate dma push buffer */ in nouveau_channel_ctor()
315 args.chan.ctxdma = nvif_handle(&chan->push.ctxdma); in nouveau_channel_ctor()
316 args.chan.offset = chan->push.addr; in nouveau_channel_ctor()
321 args.chan.ctxdma = nvif_handle(&chan->push.ctxdma); in nouveau_channel_ctor()
324 args.chan.offset = ioffset + chan->push.addr; in nouveau_channel_ctor()
468 ret = PUSH_WAIT(chan->chan.push, NOUVEAU_DMA_SKIPS); in nouveau_channel_init()
473 PUSH_DATA(chan->chan.push, 0x00000000); in nouveau_channel_init()
483 ret = PUSH_WAIT(chan->chan.push, 2); in nouveau_channel_init()
487 PUSH_NVSQ(chan->chan.push, NV_SW, 0x0000, chan->nvsw.handle); in nouveau_channel_init()
488 PUSH_KICK(chan->chan.push); in nouveau_channel_init()