Lines Matching +full:max +full:- +full:cur
37 * -EINVAL if GET pointer currently outside main push buffer
38 * -EBUSY if timeout exceeded
45 val = nvif_rd32(chan->userd, chan->user_get);
59 return -EBUSY;
62 if (val < chan->push.addr ||
63 val > chan->push.addr + (chan->dma.max << 2))
64 return -EINVAL;
66 return (val - chan->push.addr) >> 2;
75 while (chan->dma.free < size) {
77 if (unlikely(get == -EBUSY))
78 return -EBUSY;
89 if (unlikely(get == -EINVAL) || get < NOUVEAU_DMA_SKIPS)
92 if (get <= chan->dma.cur) {
99 * we'll hit the fetching-ahead-of-us path from that
106 chan->dma.free = chan->dma.max - chan->dma.cur;
107 if (chan->dma.free >= size)
114 OUT_RING(chan, chan->push.addr | 0x20000000);
123 if (unlikely(get == -EBUSY))
124 return -EBUSY;
125 if (unlikely(get == -EINVAL))
133 chan->dma.cur =
134 chan->dma.put = NOUVEAU_DMA_SKIPS;
138 * current GET pointer. the "- 1" is to ensure there's
143 chan->dma.free = get - chan->dma.cur - 1;