Lines Matching defs:push
130 nv50_dmac_kick(struct nvif_push *push)
132 struct nv50_dmac *dmac = container_of(push, typeof(*dmac), _push);
134 dmac->cur = push->cur - (u32 __iomem *)dmac->_push.mem.object.map.ptr;
139 if (dmac->push->mem.type & NVIF_MEM_VRAM) {
152 push->bgn = push->cur;
167 /* Wait for GET to depart from the beginning of the push buffer to
174 nv50_dmac_kick(dmac->push);
183 PUSH_RSVD(dmac->push, PUSH_JUMP(dmac->push, 0));
189 nv50_dmac_wait(struct nvif_push *push, u32 size)
191 struct nv50_dmac *dmac = container_of(push, typeof(*dmac), _push);
197 dmac->cur = push->cur - (u32 __iomem *)dmac->_push.mem.object.map.ptr;
203 push->cur = dmac->_push.mem.object.map.ptr;
204 push->cur = push->cur + dmac->cur;
205 nv50_dmac_kick(push);
216 push->bgn = dmac->_push.mem.object.map.ptr;
217 push->bgn = push->bgn + dmac->cur;
218 push->cur = push->bgn;
219 push->end = push->cur + free;
223 MODULE_PARM_DESC(kms_vram_pushbuf, "Place EVO/NVD push buffers in VRAM (default: auto)");
244 * to allocate push buffers in VRAM instead.
260 dmac->push = &dmac->_push;
261 dmac->push->bgn = dmac->_push.mem.object.map.ptr;
262 dmac->push->cur = dmac->push->bgn;
263 dmac->push->end = dmac->push->bgn;
267 * of the push buffer aren't able to be used safely.