Lines Matching refs:push
101 nvif_object_dtor(&chan->push.ctxdma); in nouveau_channel_del()
102 nouveau_vma_del(&chan->push.vma); in nouveau_channel_del()
103 nouveau_bo_unmap(chan->push.buffer); in nouveau_channel_del()
104 if (chan->push.buffer && chan->push.buffer->bo.pin_count) in nouveau_channel_del()
105 nouveau_bo_unpin(chan->push.buffer); in nouveau_channel_del()
106 nouveau_bo_ref(NULL, &chan->push.buffer); in nouveau_channel_del()
113 nouveau_channel_kick(struct nvif_push *push) in nouveau_channel_kick() argument
115 struct nouveau_channel *chan = container_of(push, typeof(*chan), chan._push); in nouveau_channel_kick()
122 nouveau_channel_wait(struct nvif_push *push, u32 size) in nouveau_channel_wait() argument
124 struct nouveau_channel *chan = container_of(push, typeof(*chan), chan._push); in nouveau_channel_wait()
162 &chan->push.buffer); in nouveau_channel_prep()
164 ret = nouveau_bo_pin(chan->push.buffer, target, false); in nouveau_channel_prep()
166 ret = nouveau_bo_map(chan->push.buffer); in nouveau_channel_prep()
177 chan->chan._push.mem.object.map.ptr = chan->push.buffer->kmap.virtual; in nouveau_channel_prep()
180 chan->chan.push = &chan->chan._push; in nouveau_channel_prep()
186 chan->push.addr = chan->push.buffer->offset; in nouveau_channel_prep()
189 ret = nouveau_vma_new(chan->push.buffer, chan->vmm, in nouveau_channel_prep()
190 &chan->push.vma); in nouveau_channel_prep()
196 chan->push.addr = chan->push.vma->addr; in nouveau_channel_prep()
206 if (chan->push.buffer->bo.resource->mem_type == TTM_PL_VRAM) { in nouveau_channel_prep()
240 &chan->push.ctxdma); in nouveau_channel_prep()
286 args.volta.ioffset = 0x10000 + chan->push.addr; in nouveau_channel_ind()
295 args.kepler.ioffset = 0x10000 + chan->push.addr; in nouveau_channel_ind()
304 args.fermi.ioffset = 0x10000 + chan->push.addr; in nouveau_channel_ind()
310 args.nv50.ioffset = 0x10000 + chan->push.addr; in nouveau_channel_ind()
311 args.nv50.pushbuf = nvif_handle(&chan->push.ctxdma); in nouveau_channel_ind()
363 args.pushbuf = nvif_handle(&chan->push.ctxdma); in nouveau_channel_dma()
364 args.offset = chan->push.addr; in nouveau_channel_dma()
475 ret = PUSH_WAIT(chan->chan.push, NOUVEAU_DMA_SKIPS); in nouveau_channel_init()
480 PUSH_DATA(chan->chan.push, 0x00000000); in nouveau_channel_init()
490 ret = PUSH_WAIT(chan->chan.push, 2); in nouveau_channel_init()
494 PUSH_NVSQ(chan->chan.push, NV_SW, 0x0000, chan->nvsw.handle); in nouveau_channel_init()
495 PUSH_KICK(chan->chan.push); in nouveau_channel_init()