Lines Matching full:push

8 nvif_chan_gpfifo_push_kick(struct nvif_push *push)  in nvif_chan_gpfifo_push_kick()  argument
10 struct nvif_chan *chan = container_of(push, typeof(*chan), push); in nvif_chan_gpfifo_push_kick()
11 u32 put = push->bgn - (u32 *)chan->push.mem.object.map.ptr; in nvif_chan_gpfifo_push_kick()
15 if (push->end - push->cur < chan->func->gpfifo.post_size) in nvif_chan_gpfifo_push_kick()
16 push->end = push->cur + chan->func->gpfifo.post_size; in nvif_chan_gpfifo_push_kick()
21 cnt = push->cur - push->bgn; in nvif_chan_gpfifo_push_kick()
23 chan->func->gpfifo.push(chan, true, chan->push.addr + (put << 2), cnt << 2, false); in nvif_chan_gpfifo_push_kick()
28 nvif_chan_gpfifo_push_wait(struct nvif_push *push, u32 push_nr) in nvif_chan_gpfifo_push_wait() argument
30 struct nvif_chan *chan = container_of(push, typeof(*chan), push); in nvif_chan_gpfifo_push_wait()
38 const u32 *map = chan->push.mem.object.map.ptr; in nvif_chan_gpfifo_post()
39 const u32 pbptr = (chan->push.cur - map) + chan->func->gpfifo.post_size; in nvif_chan_gpfifo_post()
51 chan->func->gpfifo.push(chan, false, addr, size, no_prefetch); in nvif_chan_gpfifo_push()
57 struct nvif_push *push = &chan->push; in nvif_chan_gpfifo_wait() local
72 /* Wait for space in main push buffer. */ in nvif_chan_gpfifo_wait()
73 if (push->cur + push_nr > push->end) { in nvif_chan_gpfifo_wait()
97 void *push, u64 push_addr, u32 push_size, struct nvif_chan *chan) in nvif_chan_gpfifo_ctor() argument
107 chan->push.mem.object.map.ptr = push; in nvif_chan_gpfifo_ctor()
108 chan->push.wait = nvif_chan_gpfifo_push_wait; in nvif_chan_gpfifo_ctor()
109 chan->push.kick = nvif_chan_gpfifo_push_kick; in nvif_chan_gpfifo_ctor()
110 chan->push.addr = push_addr; in nvif_chan_gpfifo_ctor()
111 chan->push.hw.max = push_size >> 2; in nvif_chan_gpfifo_ctor()
112 chan->push.bgn = chan->push.cur = chan->push.end = push; in nvif_chan_gpfifo_ctor()
118 struct nvif_push *push = &chan->push; in nvif_chan_dma_wait() local
119 u32 cur = push->cur - (u32 *)push->mem.object.map.ptr; in nvif_chan_dma_wait()
125 u32 get = chan->func->push.read_get(chan); in nvif_chan_dma_wait()
128 free = push->hw.max - cur; in nvif_chan_dma_wait()
132 PUSH_KICK(push); in nvif_chan_dma_wait()
135 get = chan->func->push.read_get(chan); in nvif_chan_dma_wait()
155 push->bgn = (u32 *)push->mem.object.map.ptr + cur; in nvif_chan_dma_wait()
156 push->cur = push->bgn; in nvif_chan_dma_wait()
157 push->end = push->bgn + free - chan->func->gpfifo.post_size; in nvif_chan_dma_wait()